一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

Wiresharkパケット色付けルールの仕組みとフィルタの一覧

Wiresharkのパケットリストを眺めていると
パケット毎に色分けされて表示されていく

感覚的には色の濃い(黒とか赤とか)パケットが
ヤバイやつってのは認識しているけど,この色分けってどんな意味があるのかな?

というのが今日のお話です。



目次


例えば「青」と「緑」の色分け

下の画面では青と緑に色分けされています。
Protocol列を見てなんとなく青はDNS?緑はTCPかなってくらいに思ってみてました。

でも実際は

  • ・・・ UDPのマーク
  • ・・・ HTTPのマーク

なんです。

画面の例(青と緑)

色分けのルール

Wiresharkで色分けのルールは何で決まっているかというと
「色付けルール」という機能があって、ここでデフォルトのルールが決まっています。

メニューバーから「表示(V)>色付けルール…(C)」を選択すると
下の画面が表示されます。

色付けルールの画面[デフォルトの状態]

表示されたのでデフォルト状態の色付けルール
ここで気がつくのは,色付けルールは

Wiresharkの表示フィルタの機能を使っている

ということ
動作としては表示フィルタで選択されたパケットに着色していくイメージですかね?

色付けルールに利用されている表示フィルタの一覧

仕組みが分かってしまえば,応用が効きます
例えば,「Bad TCP」の黒色パケットだけ画面に表示したいときは

表示フィルタ部分に「tcp.analysis.flags && !tcp.analysis.window_update」

と入力すれば。下の画面の通り「Bad TCP」のみ選択して表示できます

表示フィルタ一覧表

色付けルールで使われている表示フィルタを表にしておきます。
参考にして下さい

名前 フィルタ
Bad TCP   tcp.analysis.flags && !tcp.analysis.window_update
HSRP State Change  hsrp.state != 8 && hsrp.state != 16
Spanning Tree Topology  Change   stp.type == 0x80
OSPF State Change   ospf.msg != 1
ICMP errors   icmp.type eq 3 || icmp.type eq 4 || icmp.type eq 5 || icmp.type eq 11 || icmpv6.type eq 1 || icmpv6.type eq 2 || icmpv6.type eq 3 || icmpv6.type eq 4
ARP   arp
ICMP   icmp || icmpv6
TCP RST   tcp.flags.reset eq 1
SCTP ABORT   sctp.chunk_type eq ABORT
TTL low or unexpected   ( ! ip.dst == 224.0.0.0/4 && ip.ttl < 5 && !pim && !ospf) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp))
Checksum Errors   eth.fcs.status=="Bad" || ip.checksum.status=="Bad" || tcp.checksum.status=="Bad" || udp.checksum.status=="Bad" || sctp.checksum.status=="Bad" || mstp.checksum.status=="Bad" || cdp.checksum.status=="Bad" || edp.checksum.status=="Bad" || wlan.fcs.status=="Bad" || stt.checksum.status=="Bad"
SMB   smb || nbss || nbns || nbipx || ipxsap || netbios
HTTP   http || tcp.port == 80 || http2
IPX   ipx || spx
DCERPC   dcerpc
Routing   hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp
TCP SYN/FIN   tcp.flags & 0x02 || tcp.flags.fin == 1
TCP   tcp
UDP   udp
Broadcast   eth[0] & 1

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)

macOS High Sierra
    システムのバージョン:    macOS 10.13.2 (17C88)
    カーネルのバージョン:    Darwin 17.3.0

 Wireshark

Wireshark
    Version 2.4.3 (v2.4.3-0-g368ba1e)