我有IPv6的Next标头== 0x29(41)。我想通过主IPv6帧内的IPv6 / TCP帧的目标地址和端口过滤数据包。
tcpdump -B 1000000 -pnni any“ip6 [6] == 0x29”
00:24:33.461496 IP6 xxxx > yyyy: IP6 zzzz.45388 > hhhh.443: Flags [.], ack 809205, win 2636, options [nop,nop,TS val 1395182923 ecr 142811329], length 0
00:24:33.461505 IP6 xxxx > yyyy: IP6 zzzz.45388 > hhhh.443: Flags [.], ack 809205, win 2636, options [nop,nop,TS val 1395182923 ecr 142811329], length 0
是否可以使用tcpdump执行此操作?我在pcap库文档中找不到任何信息。
答案 0 :(得分:1)
亚历山大在笔记中指出的解决方案是你今天能做的最好的解决方案。问题是您今天无法在tcpdump / BPF下使用tcp
宏和IPv6引用TCP端口。
然而,没有必要将以太网帧头中的所有偏移量作为基础。您可以使用IPv6标头作为起点。请记住,您可以在IPv6标头和TCP标头之间使用路由,分段或其他标头,这使得这一切都非常具有挑战性。
坦率地说,使用Scapy或libpcap绑定编写Python(或类似)脚本以打开数据包捕获,过滤IPv6以及为更高级别的TCP端口编写选择逻辑会更容易。 / p>