问题标签 [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 回答
2319 浏览

python - 使用 dpkt 和 python 读取发送和接收的 SYS 和 ACK 数据包

我需要解析一个 .pcap 文件来检测可能的 SYS 扫描。我需要能够显示发送的 SYS 数据包数量是它们收到的 SYS+ACK 数据包数量的 3 倍的任何 IP 地址的 IP 地址。现在我对如何实现这一点有了一个大致的了解。我的问题是我在解析 pcap 文件时不知道如何获取不同的 SYS 数据包(如何区分发送/接收的数据包)。我看过其他帖子和文档,但很不幸。

我启动了一个 python 程序,它开始有点像这样:

当我调用最后两行时,我是否从 pcap 获取所有 SYS 和所有 ACK 数据包?我如何知道哪些已发送/已接收?

0 投票
0 回答
1213 浏览

python - 如何使用 Python 从 pcap 文件中找到或计算 TCP 流的吞吐量、延迟和丢包率?

如何找到或计算TCP 流的吞吐量、延迟和丢包率?

  1. 我想通过阅读pcap文件和使用Python来做到这一点
  2. 现在我用dpkt模块来计算TCP流的吞吐量,把一个TCP流的所有包的总长度累加,总长度除以(endtimestamp - starttimestamp),对吗?以及如何找到延迟和 pcaket 丢失率?
  3. 数据是在 LTE 网络中捕获的。

非常感谢。

0 投票
2 回答
806 浏览

python - python中dpkt中的虚拟局域网(0x8100)支持

我有一个数据包,它显示是一种 vlan。我正在使用 dpkt 1.6 版本来提取字段。但是似乎不支持 vlan 类型。当条件应用为

它显示类型为 0X0800,即 IP 类型,但实际上需要为 0X8100。

dpkt 不支持 VLAN 吗?还是更高版本支持。如何通过 dpkt 提取字段或是否有任何其他软件包?

我有带有 vlan 的十六进制流。这是 sflow 十六进制数据

0 投票
1 回答
2332 浏览

python - 将 pcap 文件解析为 txt 文件

如何解析 pcap 文件并将其转换为文本文件,其中文本文件中的每一行都是一个数据包?

我尝试将其写入文本文件,如下所示,但是当我打印 eth 时出现特殊字符。因此,当我尝试将其写入文本文件时,会出现以下错误。

TypeError:期望一个字符缓冲区对象

0 投票
3 回答
10081 浏览

python - 在 python 中解析 PCAP 文件

我正在尝试在 python 中解析 Pcap 文件。当我运行这段代码

我得到垃圾值而不是得到以下输出:

以太网(src='\x00\x1a\xa0kUf', dst='\x00\x13I\xae\x84,', data=IP(src='\xc0\xa8\n\n', off=16384, dst= 'C\x17\x030', sum=25129, len=52, p=6, id=51105, data=TCP(seq=9632694, off_x2=128, ack=3382015884, win=54, sum=65372, flags= 17,dport=80,运动=56145)))

谁能告诉我如何获得上述输出?

0 投票
1 回答
541 浏览

python-2.7 - 使用 dpkt 解码 DHCP Giaddr、Yiaddr、Ciaddr、siaddr 字段 - python 问题

每当我尝试为任何 DHCP 数据包加载 Giaddr(或 YIADDR Ciaddr、siaddr)时,它都会打印随机数字字符串。(这发生在我加载的每个数据包中)

我做错了什么还是代码中的错误?

代码

输出:182435815

我很确定我的giaddr(relay ip)是 10.223.191.231 - 在wireshark 中确认了这个数据包。

0 投票
1 回答
488 浏览

dpkt - 如何使用 dpkt 在 python 中打印 DHCP 消息类型

1.我有层次结构

我正在尝试打印 DHCP 数据包类型,我该怎么做。(我没有看到任何获取它的选项)

我尝试打印dh.opts但不确定如何解码它..?(我缺乏二进制格式的经验)

2.我看到 Jon Oberheide 的几个老例子,他能够以几乎可读的格式打印整个数据包以太网、IP 等。例如

如何以可读格式打印整个数据包的数据,然后像我尝试的那样逐层或特定层的数据

你能帮我解决这个问题吗?例子会很棒

0 投票
1 回答
484 浏览

python - Tkinter 中的数据包生成器

大家好,
我希望你们能帮助我。对不起我的英语,这不是我的第一语言。我是编程新手,我被困在我的第一个项目中。我尝试使用 Tkinter 和 Python 2.7 编写一个简单的数据流量生成器。
我使用 dpkt 库作为发送数据包的基础。一开始我写了一个脚本,我可以在终端中运行它,它工作得很好。

在我的下一步中,我尝试创建一个 GUI,使其更方便,也可供其他用户使用。所以我在 Tkinter 中创建了一个掩码,我可以在其中输入 IP 地址,选择数据包的大小和数量。此外,我想要可以选择数据包类型(ICMP/UDP)的选项。用于发送 UDP 数据包的代码我想稍后添加为函数。

问题是,当我点击发送时,终端没有反应。我不明白为什么脚本不运行。这是我的第一个代码,我已经为此工作了很长时间。我可能会绕道而行,但我希望您能帮助我并告诉我问题出在哪里。非常感谢你。亚历克斯

0 投票
1 回答
1871 浏览

exception - Python dpkt 在有效的 pcap 上引发 NeedData 异常

这是一个未解决问题的重复

我的代码很简单:

这是pcap

我不想使用其他 pcap 解析器,因为 dpkt 是迄今为止最快的。

例如,它比 scapy 快 x50 倍。

它在以下数据包中失败:

0 投票
1 回答
1643 浏览

python - 由于使用 dpkt 解析时使用 mergecap 生成的 pcap 导致的 tcpdump 标头无效

ValueError:以下代码的无效 tcpdump 标头错误。

帮助将不胜感激。pcap 是使用 mergecap 生成的,然后使用 dpkt 进行解析,但错误如下所示: