![使用 tcpdump 显示的 TCP 数据](https://linux22.com/image/1379670/%E4%BD%BF%E7%94%A8%20tcpdump%20%E6%98%BE%E7%A4%BA%E7%9A%84%20TCP%20%E6%95%B0%E6%8D%AE.png)
如果
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.~....
...
如何过滤显示的数据(例如初始十六进制 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'
全部不匹配(使用各种偏移量随机且毫无头绪地进行谷歌搜索)。
答案1
使用ip
而不是进行过滤tcp
。例如:
sudo tcpdump -i eth0 -X 'ip[0] = 0x45'