Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用于pcapy/impacket的IPv6解码器_Python_Ipv6_Packet Capture_Impacket_Pcapy - Fatal编程技术网

Python 用于pcapy/impacket的IPv6解码器

Python 用于pcapy/impacket的IPv6解码器,python,ipv6,packet-capture,impacket,pcapy,Python,Ipv6,Packet Capture,Impacket,Pcapy,我使用/库在Python中解码网络数据包。它有一个IP解码器,知道IPv4数据包的语法,但显然没有IPv6解码器 有人买吗 在一封私人信件中,Impacket维护人员说最好从开始,我以前从未使用过pcapy,但我确实在C项目中使用过libpcap。正如pcapy页面所述,它不是静态链接到libcap的,因此您可以升级到支持IPv6的较新版本 据介绍,2008年10月27日发布的1.0版具有默认的IPv6支持(它应该具有更长的IPv6,但现在默认使用该选项编译),因此您应该能够使用此版本捕获IPv

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

有人买吗


在一封私人信件中,Impacket维护人员说最好从

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

据介绍,2008年10月27日发布的1.0版具有默认的IPv6支持(它应该具有更长的IPv6,但现在默认使用该选项编译),因此您应该能够使用此版本捕获IPv6流量。pcapy的最新版本是2007年3月27日发布的,因此最多应该包括2007年9月10日发布的0.9.8版本的libcap

我不知道这是否足以让您捕获IPv6流量,因为pcapy API可能需要一些更改来支持它,而这正是pcapy开发者的心愿

更新:显然,libpcap的python包装比pcapy有更新的版本,因此应该更好地支持更新的libpcap功能


关于PCAP(libpcap)的更多信息。

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

据介绍,2008年10月27日发布的1.0版具有默认的IPv6支持(它应该具有更长的IPv6,但现在默认使用该选项编译),因此您应该能够使用此版本捕获IPv6流量。pcapy的最新版本是2007年3月27日发布的,因此最多应该包括2007年9月10日发布的0.9.8版本的libcap

我不知道这是否足以让您捕获IPv6流量,因为pcapy API可能需要一些更改来支持它,而这正是pcapy开发者的心愿

更新:显然,libpcap的python包装比pcapy有更新的版本,因此应该更好地支持更新的libpcap功能


关于PCAP(libpcap)的更多信息。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。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。你可以从google使用一个非常有用的单文件库

它支持IPv4、IPv6、ip验证、网络掩码和前缀管理等。它的编码和文档都很好

祝你好运

Emilio

您可以从google使用一个非常有用的单文件库

它支持IPv4、IPv6、ip验证、网络掩码和前缀管理等。它的编码和文档都很好

祝你好运

Emilio

您可能希望查看另一个数据包解析/构建库。它是由另一个libpcap包装器的作者编写的,但要让它与pcapy一起工作,看看它是否比Scapy更快。

您可能想查看另一个数据包解析/构建库。它是由另一个libpcap包装器的作者编写的,但要让它与pcapy一起工作,看看它是否比Scapy更快。

我说的不是IPv6数据包的捕获(libpcap做了很长一段时间),而是它们的解码。libpcap不解码,您必须使用低级C技巧自己解码。pcapy带有解码器。我不是在谈论IPv6数据包的捕获(libpcap做了很长一段时间的事情),而是关于它们的解码。libpcap不解码,您必须使用低级C技巧自己解码。pcapy带有解码器。看起来IPv6已经添加到impacket:看起来IPv6已经添加到impacket:这可以在Ubuntu上通过
apt get install python ipaddr
完成。这可以在Ubuntu上通过
apt get install python ipaddr