问题标签 [dpkt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
434 浏览

python - 异常 IP6 没有属性

我正在用 python 编程,但我遇到了一个问题,事实上,当我抛出我的脚本时,它在他检测到 IP6 数据包后几秒钟就结束了。显然我必须过滤数据包并只接收 IP4 数据包以避免这个问题,我想知道我如何在开始时将它与库 dpkt 一起使用。我尝试了一些东西,但我是一个初学者,它不起作用,正如你在这一行中看到的那样:

遇到的错误说:“AttributeError:'IP6'对象没有属性'p'”。这是回溯: 追溯

这是我的代码,如果你想看看 :) 谢谢你的时间 :)

0 投票
3 回答
1796 浏览

python - 使用 dpkt 从 DNS 响应中读取 IP 地址和 TTL

我正在使用 dpkt 读取 pcap 文件。

我想为每个答案读取 IP 地址和 TTL。我做到了dir(answer),但我找不到任何似乎返回响应的 ip 地址/TTL 的东西,而且我在文档中也找不到任何东西。

有没有办法呢?

0 投票
2 回答
9120 浏览

python - Python Scapy 与 dpkt

我试图Scapy从一开始就使用 Python 分析数据包。在最近的搜索中,我发现 python 中有另一个模块名为dpkt. 使用这个模块,我可以解析数据包的层,创建数据包,读取.pcap文件并写入.pcap文件。我发现它们之间的区别是:

  1. 缺少实时数据包嗅探器dpkt

  2. 有些字段需要使用struct.unpackin解包dpkt

我还缺少其他差异吗?

0 投票
1 回答
7423 浏览

python - 带有 pcap 的 Python dpkt - 如何打印数据包数据?

我想从 pcap 文件中打印出数据包数据。下面的代码将数据包数据存储在一个数组中,但我不知道如何打印数组的每个元素,然后从那里拆分数据。数组上的 for 循环只会返回错误。

0 投票
2 回答
1149 浏览

python - 在 Anaconda Python 中找不到测试模块

test我在 Anaconda 的 Python 版本中找不到该模块。谁能帮我解决这个问题。该模块由dpkt我尝试使用的库使用。

0 投票
1 回答
53 浏览

wireshark - 关于Wireshark pcap文件的问题

我发现在 Wireshark gui 中,有一个 info 字段描述了连接信息,例如 HTTP GET 或谁有 xxxx 只是想知道 Wireshark 是否会将 info 字段存储到 pcap 转储文件中?

我正在尝试使用 dpkt python 模块解析 pcap。不知道我应该如何检索此信息字段。感谢您的任何建议。

0 投票
1 回答
810 浏览

python - 无法使用 python dpkt 解析 tcpdump 捕获

Python dpkt 可以解析 Wireshark/pcap 文件并成功显示数据包数据:

但是当我试图解析 tcpdump 文件时,我得到了以下结果:

从 Python IDE 打印中,您可以看到 type(eth.data) 是'str'而不是类 'dpkt.ip.IP'。
有谁知道根本原因是什么以及如何使 dpkt 用于tcpdump捕获?

0 投票
1 回答
928 浏览

python - 转换包含随机字符的 dpkt 字节字符串

我正在使用 dpkt python 模块来解析 pcap 文件。我对数据包的研究足够深入,一些数据被表示为字节流。我可以很容易地从常规字节字符串转换,但是一些字节字符串显示为:

\t\x01\x1c\x88

第一个值应该是 09,但由于某种原因,它使用了转义的制表符。(标签的十六进制代码是 09)。

它也对其他流中的其他角色执行此操作。

更多示例输出:

\x10\x00@\x00\

\x05q\x00\x00\

\x069\x9c\n\x00

所以我的问题是:我可以在没有这些额外字符的情况下将此字节流转换为一个吗?

或者,我将如何将 '\t' 之类的内容转换为十六进制以返回 '09'?

更新:

事实证明,我正在使用一个函数创建要转换的字符串,该函数将返回 \t011c88 代替第一个流。

不理会它并使用 stream.encode("hex") 工作

0 投票
2 回答
8956 浏览

python - 从 mac 地址转换为十六进制字符串,反之亦然 - python 2 和 3

我有想要作为原始数据发送到 dpkt 的 MAC 地址。dpkt 包希望我将数据作为十六进制字符串传递。所以,假设我有以下mac地址: '00:de:34:ef:2e:f4',写成: '00de34ef2ef4'并且我想编码成类似 '\x00\xdeU\xef.\xf4'的东西,反向翻译将提供原始数据。

在 Python 2 上,我找到了几种使用 encode('hex')和 decode('hex') 的方法。但是,此解决方案不适用于 Python 3。

我很难找到一个代码片段来支持这两个版本。

我会为此提供帮助。

谢谢

0 投票
1 回答
1363 浏览

python - dpkt ipv6 扩展头

我正在尝试使用 dpkt 从 pcap 数据包中获取 ipv6 扩展标头并将其打印出来。但由于某种原因它没有工作。我尝试了很多不同的方法。这是导致问题的代码部分。有没有人知道如何解决这个问题?ps 缺少关于 dpkt for ipv6 的示例代码

更新:当我使用 dpkt.ip6.IP6FragmentHeader 我得到这个错误

AttributeError:“str”对象没有属性“IP6FragmentHeader”

我想从这个数据包中获取分片头,它是 ICMPv6 Wireshark 数据包