ネットワークエンジニアとして故障解析などでよく使うWiresharkのフィルターを
忘れないようにまとめています。
★比較演算子
Wiresharkのフィルターでは以下のようにフィルターする対象(IPアドレスなど)と
フィルターの値を比較演算子で結ぶことでフィルターを作成します。
[フィルターする対象(IPアドレスなど)] == [フィルターの値]
Wiresharkで使用できる演算子は以下です。
== 等しい
eq 等しい
!= 等しくない
ne 等しくない
< より小さい
lt より小さい
> より大きい
gt より大きい
<= 以下
le 以下
>= 以上
ge 以上
★IPアドレスでのフィルター
ip.addr == 192.168.0.1
→送信元、送信先アドレスのどちらかが192.168.0.1であれば表示
ip.addr == 192.168.0.1/24
→送信元、送信先アドレスのどちらかが192.168.0.1/24に含まれれば表示
ip.src == 192.168.0.1
→送信元アドレスが192.168.0.1であれば表示
ip.dst == 192.168.0.1
→送信先アドレスが192.168.0.1であれば表示
★ポート番号(プロトコル名)でのフィルター
icmp
→icmpパケットのみ表示
tcp
→tcpパケットのみ表示
udp
→udpパケットのみ表示
http
→httpパケットのみ表示
その他、dns、ntp、snmp、smtp、telnet、ssh、ftpなど代表的なプロトコルで
フィルター可能。(なぜかhttpsはできないのでsslでフィルター)
tcp.port == 5000
→送信元、送信先ポートのどちらかが5000であれば表示
tcp.srcport == 5000
→送信元ポートが5000であれば表示
tcp.dstport == 5000
→送信先ポートが5000であれば表示
★TCPフラグでのフィルター
tcp.flags.syn == 1
→SYNパケットを表示([SYN]と[SYN,ACK]のみ)
tcp.flags.fin == 1
→FINパケットを表示([FIN]と[FIN,ACK]のみ)
tcp.flags.reset == 1
→RESETパケットを表示
★時間でのフィルター
frame.time >= “2015-01-01 00:00:00”
→2015/01/01 00:00:00以降のパケットを表示
★特定の文字列でフィルター
frame contains “test”
→「test」という文言がデータ部に含まれているパケットを表示
(特定のhttpリクエストの抽出などに便利)
★再送パケットを表示するフィルター
tcp.analysis.retransmission
→Wiresharkが再送と判断したパケットを表示
★論理演算子
複数のフィルターを使用する場合などは、論理演算子をします。
ip.addr == 192.168.0.1 && tcp.port == 80
→IPアドレスが192.168.0.1で、かつTCPポートが80番であれば表示
(andでも可)
ip.addr == 192.168.0.1 || ip.addr == 192.168.0.2
→IPアドレスが192.168.0.1または192.168.0.2であれば表示
(orでも可)
!(ip.addr == 192.168.0.1)
→IPアドレスが192.168.0.1以外を表示
(notでも可)
■こちらの記事もぜひ読んでみてください!
・Wiresharkで使用帯域を確認する方法
・Wiresharkのフィルターが分からないとき
ピンバック: tsharkの使い方 – ネットワークスペシャリストのたまご
ピンバック: Wiresharkで使用帯域を確認する方法 – ネットワークスペシャリストのたまご