Wiresharkでネットワーク障害時に使うかもしれないフィルター

ネットワーク障害が発生した際、Wiresharkを使っていますが、フィルターをうまく使用することで、原因調査のスピードアップが図れます。想定ケースごとに、フィルターのテンプレ集的にメモっています。

「通信できない」場合

確認内容フィルタ目的
ARP確認arpMAC解決できているか
ARP要求のみarp.opcode == 1ARP出しっぱなし=疎通不可
ICMP到達不能icmp.type == 3宛先到達不可
TCP SYNのみtcp.flags.syn == 1 && tcp.flags.ack == 0接続要求のみで止まっている
RST確認tcp.flags.reset == 1サーバ側拒否
DNSエラーdns.flags.rcode != 0名前解決失敗

「通信が遅い」場合

確認内容フィルタ目的
再送tcp.analysis.retransmissionパケットロス確認
高速再送tcp.analysis.fast_retransmissionロス発生
重複ACKtcp.analysis.duplicate_ackロス兆候
ゼロウィンドウtcp.analysis.zero_window受信側処理遅延
DNS遅延dns.time > 1名前解決が遅い
パケット間隔frame.time_delta > 1通信停止時間確認

Webが開かない

確認内容フィルタ目的
HTTPS通信tcp.port == 443通信しているか
HTTPエラーhttp.response.code >= 400エラー確認
500系http.response.code >= 500サーバ障害
SNI確認tls.handshake.extensions_server_name contains "example.com"接続先確認
RSTtcp.flags.reset == 1強制切断

DNSトラブル

確認内容フィルタ目的
DNS全体dnsDNS発生確認
クエリのみdns.flags.response == 0問い合わせ
応答なし確認dns && dns.flags.response == 0クエリのみで止まる
NXDOMAINdns.flags.rcode == 3存在しない
SERVFAILdns.flags.rcode == 2DNSサーバ異常

接続が途中で切れる

確認内容フィルタ目的
RSTtcp.flags.reset == 1強制終了
FINtcp.flags.fin == 1正常終了
再送tcp.analysis.retransmissionロスによる切断
TTL超過icmp.type == 11経路異常

負荷・帯域の問題

確認内容フィルタ目的
大きいパケットframe.len > 1400MTU付近
TCPデータ量tcp.len > 1000大量通信
特定IP帯域確認ip.addr == 192.168.1.10端末負荷確認
HTTP大量応答http.response.code == 200大量DL確認
タイトルとURLをコピーしました