ログを見ても分からない障害は、パケットを見ると一発、ということがよくあります。Wiresharkによるキャプチャの入門をまとめます。
なぜキャプチャするのか
設定やログは「こうなっているはず」を示しますが、キャプチャは「実際に何が流れたか」の証拠です。「SYNは出ているのにSYN/ACKが返らない」のように、どこで通信が止まったかを事実で示せます。推測を事実に変えられるのが最大の価値です。
まずは表示フィルタを覚える
キャプチャすると大量のパケットが流れます。目的のものだけ絞る「表示フィルタ」が命です。
ip.addr == 192.168.1.10 … このIPが関わる通信だけ
tcp.port == 443 … HTTPS通信だけ
tcp.flags.syn == 1 … SYNパケットだけ
dns … DNSだけ
http … HTTPだけ
tcp.analysis.retransmission … 再送だけ(遅延調査に有効)
3ウェイハンドシェイクを目視する
接続の始まりは、SYN → SYN/ACK → ACK の3パケットです。これを追うだけで切り分けが進みます。
- SYNが出ていない → クライアント側/経路の問題
- SYNは出るがSYN/ACKが返らない → 途中のFW遮断、サーバ未応答、経路断
- SYN/ACKは返るがRST → サーバがそのポートを閉じている
「どこで止まったか」を掴む
Wiresharkの「Statistics」やフロー表示で、通信の流れを俯瞰できます。TCPの色付き警告(黒背景の再送・RSTなど)は、異常の目印です。
キャプチャの取り方の勘所
- 障害の発生地点にできるだけ近い所で取る(途中だと見えない)
- 事前に表示フィルタの当たりを付けておく
- 時刻を合わせておく(他ログと突き合わせるため)
注意点
キャプチャには通信内容が含まれます。取り扱いは慎重に、保存や共有は最小限に。
まとめ
パケットキャプチャは「ネットワークのレントゲン」です。ログで詰まったら、事実を見にいく。SYN/SYN-ACK/ACKと、RST・再送を追えるだけで、多くの通信障害の切り分けが一段深くなります。まずは自分のPCで自分の通信を眺めるところから始めるのがおすすめです。