覚えておくと便利なディスプレイフィルターの例
日常的な用途のほとんどは、いくつかの式でカバーできます。ip.addr==192.168.1.10 は特定の機器との通信すべてを絞り込み、tcp.port==443 はHTTPS通信に絞り込み、http はHTTPのリクエストとレスポンスだけを表示し、dns はDNSの問い合わせだけを表示します。tcp.analysis.retransmission は再送されたパケットを探すのに便利です。「&&」(かつ)や「||」(または)でフィルターを組み合わせれば、さらに細かく絞り込めます。
Wiresharkだけがすべてではない
キャプチャしたトラフィックを探索するにはWiresharkのグラフィカルな画面が最も分かりやすいですが、ほとんどのLinuxやMacに標準搭載されているコマンドラインのパケットキャプチャツールtcpdumpは、GUIが使えないリモートサーバー上での簡単な確認には手早く使えることが多いです。tcpdumpでキャプチャした結果をファイルに保存し、後でWiresharkで開いて深く分析することもできます。
暗号化された通信をどう扱うか
現在のウェブ通信の多くはTLSで暗号化されているため、そのままでは内容が見えません。自分のブラウザの通信を学習目的で調べる場合は、ブラウザが出力できる鍵ログファイルをWiresharkに読み込ませる方法があります。ただし、これは自分の端末で自分の通信に対してのみ行うべき方法であり、他人の暗号化通信を解読する目的で使ってはいけません。
よくある質問
自分のパソコンの通信しか見えないのですか、それとも隣の人の通信も見えますか?
一般的なスイッチベースの有線ネットワークでは、基本的に自分の機器宛て・自分の機器発の通信だけが見えます。ただしネットワークの構造によってはより広い範囲が見えることもあるため、必ず自分が使用を許可されているネットワークでのみキャプチャを行うべきです。
Wiresharkを使うこと自体は違法ですか?
ツール自体は合法的なネットワーク診断プログラムです。問題になるのは使い方であり、自分が所有しているか明示的に許可を得ているネットワークや機器で診断目的に使うのは問題ありませんが、他人の同意なしに通信を傍受する行為は違法になる可能性があります。個別の判断は法律の専門家に相談してください。
キャプチャフィルターとディスプレイフィルターの違いは何ですか?
キャプチャフィルターは記録を始める前に設定し、条件に合うパケットだけを保存します。ディスプレイフィルターは記録済みのデータの中から表示するものを絞り込むだけで、元のデータは変わりません。書式も別物で、前者はBPF構文、後者はWireshark独自の構文です。
キャプチャしたのに何も表示されません。どうすればよいですか?
まず通信が実際に流れているインターフェースを選んでいるか確認してください。複数の仮想アダプターがある環境では、別のインターフェースを選んでいることがよくあります。また、管理者権限が必要な場合や、キャプチャフィルターが厳しすぎる場合も考えられます。
初心者はまず何を調べるとよいですか?
自分のPCでブラウザからあるページを開き、DNSの問い合わせ、TCPの3ウェイハンドシェイク、TLSの接続開始という流れを順番に追ってみるのがおすすめです。この流れを一度読めるようになると、他のプロトコルも理解しやすくなります。
キャプチャしたファイルは長く保存しても大丈夫ですか?
パケットには通信先や、暗号化されていない通信の内容が含まれるため、必要な分析が終わったら削除するのが基本です。業務で扱う場合は、社内の情報管理ルールに従って保管場所と期間を決めてください。