こんにちは。zawato(@zawato7)です
WireShark はネットワーク上で通信されるパケットを取得し、その中身を参照することができる解析ツールです。
通信内容を詳細に確認することが可能であり、CTFなどでも良く使用されます。
今回は、WireSharkの最低限覚えておきたい使い方を紹介します。
Wiresharkのインストール
公式サイトからインストーラーをダウンロードして実行します。

macOSでは、キャプチャ権限の許可を求められるため、「ChmodBPF」も合わせてインストールしておきましょう。
基本的な使い方
ファイルを開く
WireSharkでは、キャプチャファイルを読み込むことができます。
今回は、以下のサイトで Wireshark から提供されているダウンロード可能なサンプルキャプチャファイルから「http.cap」を利用します。
ファイルを開くには、Wiresharkを起動した後、メニューバーから「ファイル」→「開く」(File → Open)を選択し、解析したいファイルを選びます。


WireSharkの見方
WireSharkの画面は、以下のようになっています。

①メニュー
②ディスプレイフィルタ
③パケットリスト
④パケット詳細
⑤パケットの生データ
パケットリストのカラムはそれぞれ、
| No. | 通し番号 |
| Time | 時刻 |
| Source | 送信元IPアドレス |
| Destination | 宛先IPアドレス |
| Protocol | 通信プロトコル |
| Length | パケットサイズ |
| Info | 概要 |
を表しています。
フィルタ機能
②ディスプレイフィルタを使って、特定のパケットのみ表示させることができます。
以下に、解析したいパケットのIPやプロトコルなどを入力することで、フィルタリングできます。

ディスプレイフィルタに入力する構文の例を以下にまとめておきます。
| キャプチャフィルタ構文例 | 説明 |
|---|---|
| ip.addr == 192.168.0.1 | 送信元IPまたは宛先IPが “192.168.0.1” のパケットを表示 |
| ip.addr == 192.168.0.1 && ip.addr == 192.168.0.2 | “192.168.0.1” と “192.168.0.2” との間で行われた通信を表示 |
| ip.src == 192.168.0.1 | 送信元IPが “192.168.0.1” のパケットを表示 |
| ip.dst == 192.168.0.1 | 宛先IPが “192.168.0.1” のパケットを表示 |
| http | HTTPプロトコルのパケットを表示 |
| !(icmp or dns) | ICMP, DNSでないプロトコルを表示 |
| http.request | HTTPリクエストを表示 |
| tcp.port == 80 | 送信元ポートまたは宛先ポートがTCP80のパケットを表示 |
| tcp.flags.syn == 1 | TCPのSYNフラグを表示 |
| udp contains 32:27:55 | 0x32, 0x27, 0x58 を含むUDPを表示 |
統計機能
キャプチャしたパケットの統計情報を確認することができます。
ざっくり何のパケットファイルなのかを特定する際に利用します。
「統計」→「プロトコル階層」をクリックします。

おわりに
今回は、WireSharkの最低限覚えておきたい使い方を紹介しました。
今回紹介したもの以外にも、WireSharkでは様々な機能が利用できますのでぜひ活用してみてください!
お問い合わせは、こちら!


コメント