Wireshark を使ってみる
パケットキャプチャの開始
パケットキャプチャを行うことで,ネットワーク上を流れる通信データを記録し,後から詳細に分析できる.
- Wireshark を起動する.
- 起動後,CTRL + K キーを押すか,「Capture Option」をクリックする.
キャプチャ・オプションのウインドウが表示される.通常はデフォルト設定のまま利用できる.
- Enter キーを押すか,「Start」をクリックする.
パケットキャプチャが開始される.
- 初期画面は空の状態である.
- ネットワークパケットがリアルタイムでキャプチャされ,画面に表示される.
- 上部ウインドウ: パケットがリアルタイムで一覧表示される.
- 中央ウインドウ: 上部で選択したパケットの詳細情報が表示される.
- 下部ウインドウ: 上部で選択したパケットの生データが16進数で表示される.
ディスプレイフィルタ
ディスプレイフィルタは,キャプチャ済みのパケットから特定の条件に一致するものだけを画面に表示する機能である.大量のパケットの中から目的の通信を素早く見つけるために使用する.
IPアドレスによるフィルタリング
- IP アドレスによるフィルタリング(送信元または宛先)
指定したIPアドレスが送信元または宛先に含まれるパケットを表示する.
【例】
ip.addr == 133.5.18.167
- 送信元 IP アドレスによるフィルタリング
指定したIPアドレスから送信されたパケットのみを表示する.
【例】
ip.src == 133.5.18.167
- 宛先 IP アドレスによるフィルタリング
指定したIPアドレス宛てのパケットのみを表示する.
【例】
ip.dst == 133.5.18.167
ポート番号によるフィルタリング
ポート番号を指定することで,特定のサービスやアプリケーションの通信に絞り込める.複数の条件を組み合わせる場合は&&(AND)演算子を使用する.
- TCP/UDP ポート番号によるフィルタリング
【例】TCPポート22(SSH)かつ特定IPアドレスの通信を表示する.
tcp.port == 22 && ip.addr == 133.5.18.167
- 送信元ポート番号によるフィルタリング
【例】送信元がTCPポート22の通信を表示する.
tcp.srcport == 22 && ip.addr == 133.5.18.167
- 宛先ポート番号によるフィルタリング
【例】宛先がTCPポート22の通信を表示する.
tcp.dstport == 22 && ip.addr == 133.5.18.167
Wireshark の統計機能
統計機能を使用することで,キャプチャしたパケット全体の傾向や特徴を把握できる.すべて「Statistics」メニューからアクセスする.
通信フローの分析
- フローグラフ分析
ホスト間の通信の流れを時系列の図で表示する.TCP接続の確立過程やリクエスト・レスポンスの順序を視覚的に確認できる.
対象パケットを選択後,「Statistics」→「Flow Graph」を選択する.
トラフィックの概要把握
- トラフィック概要
総パケット数,キャプチャ時間,平均パケットサイズなどの基本情報を確認できる.
「Statistics」→「概要」を選択する.
- トラフィック I/O グラフ
時間経過に伴うトラフィック量の変化をグラフで表示する.通信量の急増や周期的なパターンの発見に有用である.
「Statistics」→「IO Graphs」を選択する.
- パケットサイズ分析
パケットサイズの分布を表示する.異常に大きいまたは小さいパケットの検出に役立つ.
「Statistics」→「Packet Length」を選択する.
プロトコルとアドレスの分析
- プロトコル階層分析
キャプチャしたパケットに含まれるプロトコル(TCP,UDP,HTTP,DNSなど)の構成比率を階層的に表示する.どのプロトコルが多く使われているかを把握できる.
「Statistics」→「Protocol Hierarchy」を選択する.
- IP アドレス分析
通信に関与したIPアドレスの一覧を表示する.
「Statistics」→「IP Addresses」を選択する.
- 宛先 IP アドレス分析
宛先IPアドレスごとの通信量を表示する.どのホストへの通信が多いかを確認できる.
「Statistics」→「IP Destinations」を選択する.
- IP プロトコルタイプ分析
TCP,UDP,ICMPなどIPプロトコルの種類別の使用状況を表示する.
「Statistics」→「IP Protocol Type」を選択する.