如何使用 tcpdump 区分碎片化的 SYN 数据包和碎片化的 FIN 数据包?
酒吧正在营业tcpdump -vvv
。
Foo 以碎片化的 SYN 数据包开始扫描 Bar nmap -sS -f -p22 bar
。 tcpdump 的输出为:
IP (tos 0x0, ttl 38, id 31142, offset 0, flags [+], proto TCP (6), length 28) foo.45772 > bar.ssh: [|tcp]
IP (tos 0x0, ttl 38, id 31142, offset 8, flags [+], proto TCP (6), length 28) foo > bar: tcp
IP (tos 0x0, ttl 38, id 31142, offset 16, flags [none], proto TCP (6), length 24) foo > bar: tcp
然后 Foo 用一个碎片化的 FIN 数据包开始扫描 Bar nmap -sF -f -p22 bar
。tcpdump 的输出如下:
IP (tos 0x0, ttl 54, id 3818, offset 0, flags [+], proto TCP (6), length 28) foo.52739 > bar.ssh: [|tcp]
IP (tos 0x0, ttl 54, id 3818, offset 8, flags [+], proto TCP (6), length 28) foo > bar: tcp
IP (tos 0x0, ttl 54, id 3818, offset 16, flags [none], proto TCP (6), length 28) foo > bar: tcp
如何使用 tcpdump 确定碎片数据包的标志?
答案1
Tcpdump 不支持数据包碎片整理,因此如果您使用 tcpdump 进行入侵检测,您将错过所有碎片扫描。
改用 tshark。