首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pcapy/impacket的IPv6解码器

pcapy/impacket的IPv6解码器
EN

Stack Overflow用户
提问于 2008-12-15 21:25:32
回答 4查看 3.6K关注 0票数 1

我使用pcapy/impacket库来解码Python语言中的网络数据包。它有一个IP解码器,它知道IPv4数据包的语法,但显然没有IPv6解码器。

有人买到了吗?

在一次私下通信中,Impacket维护者表示,从Scapy开始可能更好

EN

回答 4

Stack Overflow用户

发布于 2008-12-22 15:21:28

Impacket维护者推荐的Scapy目前还没有IPv6解码功能。但是有一个unofficial extension可以做到这一点。

通过这个扩展,它可以工作:

代码语言:javascript
复制
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。

票数 2
EN

Stack Overflow用户

发布于 2009-07-02 21:15:58

您可能需要查看dpkt,这是另一个数据包解析/构建库。它是由pypcap的作者编写的,这是一个不同的libpcap包装器,但是让它与pcapy一起工作应该不是太难,看看它是否比Scapy更快。

票数 1
EN

Stack Overflow用户

发布于 2008-12-21 12:05:34

我以前从未使用过pcapy,但我确实在C项目中使用过libpcap。正如pcapy页面所述,它不是静态链接到libcap的,因此您可以升级到支持IPv6的更新版本。

根据libpcap changelog的说法,2008年10月27日发布的1.0版有默认的IPv6支持(它应该有更长的IPv6,但现在它是用该选项默认编译的),所以你应该能够用这个版本捕获IPv6流量。最新的pcapy版本是2007年3月27日发布的,所以它最多应该包含2007年9月10日发布的libcap的0.9.8版本。

我不知道这是否足以让您能够捕获IPv6流量,因为pcapy API可能需要一些更改才能支持它,而这是在pcapy开发人员的屋顶上。

更新:显然,pylibpcap是libpcap的一个python包装器,它有比pcapy更新的版本,所以应该更好地支持更新的libpcap特性。

关于一般here中的PCAP (libpcap)的更多信息。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/369764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档