【ルータ応用】スマホのゲームアプリの通信を制限できるパケット解析方法を公開してみた

2025-06-14 この記事にはプロモーションが含まれます。

この記事は、WiFiルータに搭載されたインターネット利用を制限する機能を使って、特定のゲームで遊べなくする方法を説明したものです。パケットフィルタやDNSルーティングを搭載したWiFiルータは一部のメーカに限られますが、特定のゲームで遊べなくすることで、子どもの健全な成長を促進します。

スマホゲームは、スマホの普及に伴い利用者が爆発的に増加しました。これまでは、ゲーム専用機を購入し、同じ種類のゲーム機を持っている者同士で集まって遊ぶのが一般的でしたが、今は、AndroidやiPhoneといったスマホ端末があれば、いつでも、どこでも、誰とでも遊ぶことができます。ゲーム専用機とは異なり、スマホは、常にスマホの持ち主のそばにあるので、場所や時間を選ばず、気軽に遊ぶことができます。便利すぎるがゆえに、スマホに触れる時間は、どんどん長くなり、スマホ依存につながります。また、スマホゲームは、利用者の時間を奪うだけではなく、ゲーム内のアイテム購入などで課金でお金を浪費します。親は、子どもにスマホを渡す前に、きちんと利用ルールを決めるべきです。

思春期になった子ども達のなかには、反抗的になり、親と決めたルールが守れない、自分に甘い子がでてきます。のんびり理系おじさんのバカ息子は、早々に約束したルールをやぶって、親に隠れて、こそこそゲームで遊ぶ毎日でした。ママは機械音痴なので、息子のスマホ依存の抑止力にはなりませんでした。親からすると、殴り合うゲームや、銃を持ってゾンビを打ちまくるゲームは、子どもの成長において、できるだけ、遊んでほしくないゲームです。なんとか、しなくてはなりません。

のんびり理系おじさんのバカ息子は、毎日、ゲームのなかで銃を持って打ちまくっている状況です。もちろん、短い時間でストレスを発散する程度なら良いのですが、休みの間は、ほぼ1日中、そういったゲームをしています。中学生になった娘いわく、ゲームで遊んでいる兄の姿は、目つきが悪く、とても怖いそうです。おじさんは、仮想空間に蝕まれた息子の生活を改善するには、どのようにすれば良いのか悩む日が続いています

という訳で、この記事では、WiFiルータでゲームを制限する方法を考えていきます。

記事のポイント

  1. スマホゲームのパケット通信の仕組みを知る
  2. スマホのパケット通信を調査する方法を知る
  3. 通信パケットを確認できるハブについて知る
  4. ゲームのプレイを制限できる限界を知る

この記事は、パケットフィルタを使った制限を行います。下記のメーカは、パケットフィルタ機能があるWiFiルータを発売しています。

インターネット速度が不満なら

今すぐ確認する

※マンション住まいはJ:COM回線がお勧め


スマホゲームの通信概要

のんびり理系おじさんは、これまで、パソコン版が存在するアプリについて、具体的なインターネットの利用制限を説明してきました。パソコンに限定していたのは、スマホの通信をキャプチャする手頃なソフトがないからです。また、手頃なソフトがあったとしても、スマホの小さな文字が見えなくなったおじさんの老眼の眼では、詳細を確認するのは困難です。根拠づけて説明できないのであれば、記事にすることはできません。

息子
息子
銃で撃ちまくる解放感が最高!
○ね!○ね! わはははっ・・・!
たりをパパ
たりをパパ

ところが、おじさんが、色々と調べて記事にしている横でスマホ依存のバカ息子は、毎日、勉強もせず、スマホゲームで遊んでいます。おじさんの眉間のしわが増え、こめかみに血管が浮き出ているのに、バカ息子は、おかまいなしです。売られた喧嘩は、プロとしてしっかり買わねばなりません。のんびり理系おじさんに喧嘩を売ったことは、後で、後悔させます

さて、ここからは具体的に、スマホゲームの制限方法を紹介します。

アプリ通信の仕組み

制限を始める前に、まずはアプリの仕組みを考えましょう。アプリとは、端末上で動作するソフトウェアです。アプリは、一般的にはインストールした端末内だけで動作を完結させます。ただし、スマホは通信機能を有するので、アプリの多くはインターネットに接続して、サーバや様々な端末と通信を行います。もちろん、ゲームは、本来みんなで遊ぶものなので、本来あるべき姿です。インターネットに接続して、他のプレイヤーと競い合ったり、協力しながら、ゲームは連携して進めていきます。

結果として、必ず、スマホは、決められたIPアドレスを持つサーバと通信を行います。また、サーバの決められたポートと接続して、データの交換をします。

netstatコマンドで調査

パソコンでIPアドレスや使用ポートを調べるには、netstatというコマンドを使います。このコマンドは、Windowsだけではなく、MacOSやUNIXでも使われるコマンドです。スマホで、パソコンのnetstatに相当する動作をさせるには、専用のアプリが必要になります。のんびり理系おじさんの方で、該当するアプリがないか探しましたが、残念ながら、お勧めできるアプリを見つけることはできませんでした。やはり、netstatコマンドが必要とするのは一部のアプリ開発者だけであり、一般人は、netstatコマンドとは無縁なので、しょうがないところです。

netstatは使わんか(笑)
たりをパパ
たりをパパ

もちろん、スマホをroot化すれば、netstatコマンドを使うことができますが、スマホのroot化というハードルを越えてまで、netstatコマンドを使いたいワケでもありません。netstatを使わず、通信状態を確認できる別の方法を考えたいと思います。

キャプチャでパケット解析

netstatコマンドを利用した使用ポートの確認が難しいので、パケットキャプチャを用いて通信状態を確認します。パケットキャプチャは、アプリ不具合やネットワーク障害を調べるのによく利用されます。ハード的に通信パケットを捉えて、通信手順や通信パケットの内容を分析できるので、古くから利用されてきました。ただし、ハード的に通信パケットをキャプチャするには、リピータハブという装置が必要になります

リピータハブと聞いて、すぐに、どんなものか想像が付くのは、おそらく、古くからインターネットをしていた一部の人だけでしょう。この記事を読んでいる多くの人は、スイッチングハブとリピータハブの違いが分からないと思います。それもそのはずです。いま売っているハブの99.99%はスイッチングハブです。スイッチングハブは、ポートに接続した端末に不要なパケットを送らないようにした賢いハブのことです。リピータハブは、何も考えず全ポートに全パケットを垂れ流すので馬鹿ハブとも呼ばれていました

のんびり理系おじさんが若い頃、スイッチングハブは高価で購入することができませんでした。普通の人は、安価なリピータハブを購入するのが一般的でした。もちろん、馬鹿ハブが全盛だったのは、10BASE-Tが普及していた頃です。今の1000BASE-Tと比べると、通信速度は1/100です。もし、自宅に古いリピータハブを保管していたとしても、速度が遅いので使い物になりません。

ミラーリング対応のL2SW購入

そこで、最近のスイッチングハブでの解析方法について説明します。スイッチングハブには、ごく一部の製品に通信パケットを解析するポートミラーリング機能がついたものがあります。もちろん、ポートミラーリングだけではなく、ポートVLANやタグVLAN、マルチキャスト配信など、一般家庭では使わない高度な機能が付いていて、そして、高価なことが多いです。高度な設定ができるスイッチングハブは、スイッチングハブとは呼ばれず、L2SWやマネージメントスイッチと呼ばれます。スイッチングハブは、区別するために、アンマネージメントスイッチとも呼ばれます。

ミラーリングに対応したL2SWを、スマホとWiFiルータのWAN回線との間に繋げば、通信パケットは解析できるはずです。そこで、ミラーリングに対応したL2SWで比較的安価な製品を探してみました。1万円以下で手頃なサイズのL2SWを探すと、バッファロー、NetGear、Planexの3社が見つかりました

 
外観
形名 BS-GSL2005 GS105Ev2 FXG-05RPT2
タイプ スマートLiteスイッチ アンマネージメントプラス リピータハブ
ポート数 8ポート 5ポート 5ポート
外形寸法 177 × 31 × 103 mm 94 x 100 x 27 mm 68 × 22 × 70 mm
重量 500g 250g 80g
価格帯 約9,000円 約7,000円 約10,000円

どれを選ぶかは個人の趣味とは思いますが、のんびり理系おじさんは、価格と性能のバランスは良いNetGearのGS105Ev2を7,000円ぐらいで購入しました。昔は、安い製品のミラーリングだとパケットを取りこぼすという話を聞いたことがありますが、ずいぶん前に話なので、さすがに今はそんなことはないでしょう。気軽にキャプチャするには、小型で軽く、持ち運びが容易な製品を選ぶ事も重要です

次章では、具体的にL2SWのポートミラーリングを使った通信解析を行い、通信ポートを特定していきたいと思います。


スマホゲームの通信制限

PCゲームで遊ぶ際、特定のポートを開くように説明がされている場合があります。例えば、カプコンのストリートファイターVでは、TCPポートは、80、443、20002、30840、30850、30870、UDPポートは、30840~30859、30870~30879の開放が必要とあります。
https://www.capcom.co.jp/support/faq/platform_pc_sfv_0135376.html

企業などのイントラネットでは、企業内イントラネットとインターネットの境界にファイアウォール(FW)を設け、余計なポートを開かないようにしています。情報漏洩リスクを低減する基本は、FWで不要な通信をカットすることです。スマホゲームも同様で、使用するポートを調べ、それを制限することでゲームはできなくなるはずです。

アプリ通信の制限概要

ゲームアプリ動作イメージを簡単に説明すると次のような状態になります。

ポートミラーリングで、ゲームが使用するポートを調べ、WiFiルータのパケットフィルタで制限したいアプリで使用しているポートを登録して通信を制限すれば、そのゲームで遊ぶ事ができなくなるでしょう。

ミラーリングの設定方法

ポートミラーリングに先立ち、WiFiルータとNTTの端末の間にL2SWを接続します。我が家のWiFiルータは、ローカルルータとして動作させているので、ポート1にWiFiルータのWANポートを接続し、ポート2にNTT接続用ルータのLANポートを接続します。ポート5にキャプチャするパソコンを接続します。

NetGearのGS105Ev2のポートミラーリングの設定は、1~4ポートの通信パケットをポート5にミラーする設定にします。3番ポートや4番ポートは、何も接続していませんが、設定だけしました。

ポート1とポート2の間、つまり、WiFiルータとNTT接続用ルータの間の通信は、ポート5に繋いだパソコンにも流れてきます。この状態で通信パケットをキャプチャします。なお、WiFiルータはIPマスカレード機能(NAPT)を使って接続するため、送信元IPアドレスは、すべてWiFiルータのWANポートのIPアドレスになっています。我が家のWiFiルータAterm WR9500Nは、NAPT機能をオフにするとWAN側と通信ができなくなったため、NAPTはオンのままでキャプチャすることにしました。本当は、送信元の端末が特定できるよう、WiFiルータのNAPT機能は、オフにしたかったのですが、できないものは仕方がありません。

パケットキャプチャの使い方

パソコンを使用した通信パケットのキャプチャは、WireSharkというフリーウェアを使用します。フリーウェアといっても機能は十分です。昔は、東陽テクニカのsnifferという専用のキャプチャ装置が存在しましたが、いつの間にか、この名前を聞かなくなってしまいました。今は、プロでもWireSharkを使って、通信状態を確認しています。

WirSharkのキャプチャは簡単です。アプリを起動し、インタフェースはイーサネットを選択し、サメのヒレマークのボタンを押せばキャプチャが開始されます。ずらずらとキャプチャした通信パケットが表示されますが、内容は気にせず、まずは、通信パケットを収集できることを確認します。

ニノごめん!実験台にするよ

さて、ここからは実際のスマホゲームを使って制限します。二宮くんには何の恨みもないですが、今回、犠牲とするのは「パズドラ」です。キャプチャする前に、もし、ゲームのインストールが終わっていなければ、一度、キャプチャを停止してゲームをインストールしてください。インストールが終われば、キャプチャを開始させてから、パケット解析したいゲームアプリを起動します。

ゲームをプレイするなどして、何らかの通信を発生させ、10分ぐらいしたら、キャプチャを停止させます。キャプチャデータを適当なファイル名で保存したらパケットした内容の確認をします。解析の詳細は、ここでは割愛しますが、結論がいうと想定をしていた状況とは異なりました。httpsで使われるポート443番を使って通信しており、特殊なポートは使用していません。

キャプチャを解析した結果、パズドラはポート443しか使っていませんでした。WiFiルータでポート443番を使えないよう設定するとhttpsから始まるWebページへのアクセスができなくなるため、Webブラウザを使ったほとんどの通信ができなくなってしまいます。そのため、443番を使用できなくるするのは現実的ではなく、他のなんらかの対策を考えなければいけません

httpsプロトコルを使うという事は、最初のトリガでドメイン名をIPアドレスに変換するDNSを使う可能性が高いことです。キャプチャでDNSをキーに調べると次のような結果がでてきました。どうやら、パズドラの場合、api-adr.padsv.gungho.jpというサーバへのアクセスが最初のトリガになるようです

ヒットしたアドレスをnslookupで調べると、IPアドレスが分かります。
何度か時間を空けて、IPアドレスが変化しないことを確認します。

調査結果をWiFiルータに適用

キャプチャ解析で判明したサーバのIPアドレスとドメイン名は、WiFiルータのパケットフィルタとDNSルーティングに登録します。

DNSルーティングは、他のゲーム会社ドメイン名も登録しちゃいます。

これで、パズドラは起動しても、データを取得できずゲームで遊べなくなりました。もし、動作確認して、パズドラが遊べるようなら、設定に誤りがないか、再度、確認をしてください。

また、サーバのIPアドレスは、サーバ変更などで変わる可能性があるので、定期的にnslookupコマンドでサーバのIPアドレスに変更がないか確認する必要があります。もし、変更があれば、パケットフィルタの設定も最新のIPアドレスに変更する必要があります。

まとめ

今回の記事は、ポートミラーリングに対応したL2SWを購入して本格的にパケット解析しました。技術者的な内容で分かりにくい部分もあるかも知れませんが、ゲーム起動時のサーバへのアクセスを遮断するだけでも効果があることがご理解いただけたと思います。また、DNSルーティングで特定のドメイン名をIPアドレスに変換できないようにすれば、さらに効果的です。


DNSルーティングでアクセス制限
【機能ガイド】レジェンド制限機能のDNSルーティングとは!機能を深堀して公開してみた

この記事は、古いWiFiルータに搭載されたDNSルーティング機能を解説し、インターネット制限する場合の使われ方と、現在のWiFiルータに搭載されなくなった理由を説明します。 DNSルーティングは、登録 ...

その上で、今のゲームは、昔のように特定の通信ポートを使用していないので、WiFiルータの特定のポートを塞いで、通信できなくする制限方法は難しいことが分かりました。なぜなら、特定の通信ポートを使うことは、のんびり理系おじさんが解説した今回の方法を応用して、通信パケットをキャプチャして解析し、通信データを改ざんすれば、強力な武器やアイテムなどを入手できるからです。ゲーム会社は、ゲームバランスが崩れたり、入ってくるはずの売上金が下がると困ってしまいます。よって、ポート443の使用により通信パケットを暗号化し、通信内容の解析と改ざんが困難な状態にしているのでしょう。

なお、皆さんは、のんびり理系おじさんのように、ポートミラーリングできるL2SWを購入する必要はありません。ゲーム起動時やデータ保存時に使用するIPアドレスが分かれば、あとは、パケットフィルタに設定するだけです。時間がかかるかも知れませんが、おじさんの方で、調べていきたいと思います。

今回の調査結果をまとめると、つぎのような内容になります。

まとめ

  • 443番ポートで暗号化されると、ポート封鎖で制限はできない
  • パケットをキャプチャして起動直後の通信先のIPアドレスを調査する
  • 起動時にDNSでドメイン名からIPアドレスに変換して通信先を決めている
  • ドメイン名をIPアドレスに変換できなければ、通信制限ができそうだ

最後まで読んでいただき、まことにありがとうございました。のんびり理系おじさんは、読者の皆さまのお子様の成長を心よりお祈り申し上げます。どうしようもないとき、このページを参考にインターネット利用制限を行ってください。おじさんは、これからも、皆様の子育てのお役に立てる情報を発信していきます。

  • この記事を書いた人
  • 最新記事

たりを

技術士(電気電子部門:情報通信)、労働安全コンサルタント『のんびり理系おじさん』です。情報通信分野で、光伝送装置の開発、システム設計、据付調整など25年以上携わった経験を生かして、通信機器を使って生活を豊かにする情報を発信していきます。今やスマホがない生活は考えられません。自宅のWiFiルータを使い倒す方法を中心に紹介します。

-レイヤ3機能
-, ,