Tshark のフィルタは、"CAPTURE FILTER" と "READ FILTER" の二段構えになっており、それぞれが異なる文法にしたがう。
以下は、各文法を詳しく知りたいときに何を参照すればいいか、という話。
man tshark
とりあえず man tshark
をする(CentOS-6.0 にて)。
CAPTURE FILTER SYNTAX
See the manual page of pcap-filter(4) or, if that doesn't exits, tcpdump(8).
READ FILTER SYNTAX
For a complte table or protocol and protocol fields that are filterable in TShark see the wireshark-filter(4) manual page.
…ということで、"pcap-filter(4)" と "wireshark-filter(4)" を参照すればいい。ちなみに CentOS-6.0 の場合 "pcap-filter(4)" は存在しなかった。代わりに "pcap-filter(7)"がみつかった。
例:SYNフラグがセットされているTCPパケットを抽出するフィルタ
- キャプチャフィルタ('-f'オプション)の場合
# tshark -i eth0 -f 'tcp[tcpflags] & tcp-syn != 0'
- リードフィルタ('-R'オプション)の場合
# tshark -i eth0 -R 'tcp.flags.syn == 1'
キャプチャフィルタのほうは、配列やビット演算風のローレベルな記述になっている。そして、Tshark 以外に tcpdump にも流用できる。
0 件のコメント:
コメントを投稿