[英]IPv6 decoder for pcapy/impacket
Impacket维护人员推荐的Scapy目前没有IPv6解码。 但是,这样做有非正式的扩展 。
使用此扩展,它可以工作:
for packet in traffic:
if packet.type == ETH_P_IPV6 or packet.type == ETH_P_IP:
ip = packet.payload
if (ip.version == 4 and ip.proto == UDP_PROTO) or \
(ip.version == 6 and ip.nh == UDP_PROTO):
if ip.dport == DNS_PORT and ip.dst == ns:
all_queries = all_queries + 1
但是对于大的痕迹来说,它的速度非常慢。 因此,尽管如此,我可能仍必须尝试Impacket甚至回到C。
我以前从未使用过pcapy,但是我确实在C项目中使用过libpcap。 正如pcapy页面指出的那样,它不是静态链接到libcap的,因此您可以升级到支持IPv6的较新版本。
根据libpcap changelog的信息 ,2008年10月27日发布的1.0版具有默认的IPv6支持(应该具有更长的IPv6,但现在默认情况下已使用该选项编译),因此您应该能够使用此功能捕获IPv6流量版。 最新的pcapy版本是2007年3月27日发布的,因此最多应该包含2007年9月10日发布的0.9.8版本的libcap。
我不知道这是否足以捕获IPv6流量,因为pcapy API可能需要进行一些更改以支持它,而这正是pcapy开发人员的能力。
更新 :显然pylibpcap是libpcap的python包装器,具有比pcapy更新的版本,因此应该更好地支持新的libpcap功能。
一般在这里有关PCAP(libpcap)的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.