【大人気ゲーム、PUBGのトラフィック分析】Wireshark達人への道 第九歩 オンラインゲームPUBGで学ぶパケット分析

2021年6月6日、題名を変更したよ。

本連載は、筆者がWiresharkの達人となるまでを追うドキュメンタリー作品である。

今回の記事では、前回オンラインゲームPUBGをやりながら約17分キャプチャしたファイルを使って、Wiresharkを使ってのパケット追跡方法を解説していきたい。

追跡1 エンドポイント検索

最初に取得したパケットの中で目立つ通信のエンドポイントは誰かを検索していきます。Wiresharkを起動し、「統計(S)」→「終端(E)」と進みます。

図1 エンドポイントの特定

図1が表示されますので、IPv4タブを押してから「Bytes」をクリックしトラフィック量が多いアドレスを見つけます。最上部行の「192.168.1.8」は自端末のIPv4アドレスになりますので、こちらはスキップし2行目の「52.194.225.215」が164,647パケット、15MBytesと圧倒的にトラフィックを使っているのでどうやらこちらのアドレスがPUBG関連のリソースではないかといった予測、また「AS Organization」からAmazon-02とあるのでサーバーはEC2を利用といった推測ができます。さらにこのパブリックIPアドレスから、所有者詳細までわかるケースがWhoisといったサービスを使えばわかる場合があるのですが、出てきた情報はamazon止まりでした。

追跡2 フィルタの活用

2行目を選択した状態で、右クリックから「フィルタとして適用」→「選択済み」をクリックします。

図2 選択したエンドポイントでのフィルタ

Wiresharkのメイン画面にフィルタされたパケットが表示されます。

図3 フィルタ後のパケット

フィルタ後のパケットをみると、PUGBサーバー側のポートはUDP 7637であることが分かりました。パケットサイズ21-161バイトのパケットを短時間で大量いやり取りしていることが分かります。こちらのパケットサイズの推移をグラフ化してみましょう。前回の記事と同じ手順で、「統計(S)」→「入出力グラフ」をクリックしてください。インターバルを「100ミリ秒」、Y Fieldに「frame.len」、Y Axisに「AVG(F Field)」としています。

図4 フレーズサイズ平均グラフ

この分析でわかるのは、PUBGサーバー側と通信しているフレームサイズは約100Byteで推移しておりゲームのプレイ中は平均して同量のUDP通信を絶え間なく繰り返しているということですね。

追跡3 裏どり

今回収集したパケットはPUBGをプレイしながらある意味意図的に収集したパケットなので通信が多いパブリックIPアドレス=PUBGサーバーと断定して調査を進めましたが、これは定かではありません。Whoisサーバー等で調べてIPアドレスの持ち主がPUBGであることが証明できればよかったのですがそれはできませんでした。よって、最後にGoolge検索でこの通信がPUBGのもので間違いないか?を確認します。次のキーワードで検索しました「udp port 7637 pubg」。以下の記事に到達することができました。

From what i’ve tested so far (reconnect (secure) on EU), the game uses fixed IP 54.81.99.104 on port 81 to gather web content to be displayed in the lobby.

When going into a match, it picks at random an Amazon Web Services EC2 instance that can have any IP (apparently) within the huge 52.0.0.0/10 AWS network.The connection port seems to be chosen at random in the 7000-7999 UDP range.

https://forums.pubg.com/topic/10939-which-ports-does-pubg-use/

52.0.0.0/10は、「52.0.0.1 ~ 52.63.255.254」となり今回確認できた「52.194.225.215」が範囲に含まれていませんがこれはEUリージョンなのでAPACリージョンは違うレンジ。UDPのポートレンジは合致するということで間違いなさそうです。

(Visited 1,595 times, 1 visits today)
The following two tabs change content below.
【好きなもの】 インフラ技術が好き。古いものが好き。 【生きてきたフィールド】 システム運用、ソフトウェア開発、ミドルウェア検証、OSSサポート、プリセールスエンジニア、プロジェクトマネジメント 【このサイトでの役割】 サイト管理者。