web-dev-qa-db-ja.com

表示されたTCPデータ)でtcpdumpを使用する

場合

Sudo tcpdump -i eth0 -X

私にくれます

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:16:11.837543 IP cnt62-i386.gci.xxxx.org.ssh > jazz.gci.xxxx.org.49283: Flags [P.], seq 291677310:291677502, ack 4122992911, win 1002, options [nop,nop,TS val 2421999802 ecr 2194736071], length 192
        0x0000:  4510 00f4 7f77 4000 4006 7f84 ac16 f184  E....w@.@.......
        0x0010:  ac16 f146 0016 c083 1162 a47e f5bf e10f  ...F.....b.~....
...

表示されたデータ(たとえば、最初の16進45値)をフィルタリングするにはどうすればよいですか?

特に、

Sudo tcpdump -i eth0 -X 'tcp[0]=0x45'
Sudo tcpdump -i eth0 -X 'tcp[12]=0x45'
Sudo tcpdump -i eth0 -X 'tcp[14]=0x45'
Sudo tcpdump -i eth0 -X 'tcp[20]=0x45'

すべてが一致しません(ランダムに無知にグーグルすることからのさまざまなオフセットを使用します)。

3
andrew cooke

ipの代わりにtcpを使用してフィルタリングします。あなたの例のために:

Sudo tcpdump -i eth0 -X 'ip[0] = 0x45'
2
Joel Taylor