Wireshark を使ってみる
【目次】
パケットキャプチャの開始
パケットキャプチャを行うと,ネットワーク上を流れる通信データを記録し,後から詳細に分析できる.
- Wireshark を起動する.
- Ctrl + K キーを押すか,「Capture」メニューの「Options」をクリックする.
キャプチャ・オプションのウインドウが表示される.通常はデフォルト設定のまま利用できる.
- Start ボタンをクリックする.
パケットキャプチャが開始される.
- 初期画面は空の状態である.
- ネットワークパケットがリアルタイムでキャプチャされ,画面に表示される.
- 上部ウインドウ:パケットがリアルタイムで一覧表示される.
- 中央ウインドウ:上部で選択したパケットの詳細情報が表示される.
- 下部ウインドウ:上部で選択したパケットの生データが16進数で表示される.
ディスプレイフィルタ
ディスプレイフィルタは,キャプチャ済みのパケットから条件に一致するものだけを画面に表示する機能である.大量のパケットの中から目的の通信を素早く見つけるために使う.画面上部の入力欄にフィルタ式を入力して使用する.
IP アドレスによるフィルタリング
- 送信元または宛先による指定
指定した IP アドレスが送信元または宛先に含まれるパケットを表示する.
ip.addr == 133.5.18.167
- 送信元による指定
指定した IP アドレスから送信されたパケットだけを表示する.
ip.src == 133.5.18.167
- 宛先による指定
指定した IP アドレス宛てのパケットだけを表示する.
ip.dst == 133.5.18.167
ポート番号によるフィルタリング
ポート番号を指定すると,特定のサービスやアプリケーションの通信に絞り込める.複数の条件を組み合わせる場合は &&(AND,両方を満たす)演算子を使う.
- ポート番号による指定
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」→「Capture File Properties」を選択する.
- トラフィック I/O グラフ
時間経過に伴うトラフィック量の変化をグラフで表示する.通信量の急増や周期的なパターンの発見に役立つ.
「Statistics」→「I/O Graphs」を選択する.
- パケットサイズ分析
パケットサイズの分布を表示する.異常に大きいまたは小さいパケットの検出に役立つ.
「Statistics」→「Packet Lengths」を選択する.
プロトコルとアドレスの分析
- プロトコル階層分析
キャプチャしたパケットに含まれるプロトコル(TCP,UDP,HTTP,DNS など)の構成比率を階層的に表示する.どのプロトコルが多く使われているかを把握できる.
「Statistics」→「Protocol Hierarchy」を選択する.
- エンドポイント分析
通信に関与した個々のアドレス(エンドポイント)ごとの送受信量を一覧表示する.IP アドレスやポートごとに,どのホストがどれだけ通信したかを確認できる.
「Statistics」→「Endpoints」を選択する.
- 会話(コンバセーション)分析
2 つのアドレス間でやり取りされた通信量を,組ごとに表示する.どのホスト間の通信が多いかを確認できる.
「Statistics」→「Conversations」を選択する.
- IPv4 統計(プロトコル種別)
TCP,UDP,ICMP など IP プロトコルの種類別の使用状況を表示する.
「Statistics」→「IPv4」→「IP Protocol Types」を選択する.