gpt4 book ai didi

python - 如何使用 Scapy 提取 TCP 数据包的 Raw

转载 作者:太空狗 更新时间:2023-10-29 20:47:29 24 4
gpt4 key购买 nike

我使用了scapy模块的sniff函数。我的 filterprn 函数运行良好。但是现在,我想提取 TCP 数据包Raw 并使用十六进制或二进制格式处理它。

这是 documentation scapy 中的数据包类。

我该怎么做?

我试过 print packet[Raw] 但它似乎被转换为 ASCII 或类似的东西。我想将其保存为十六进制或二进制。

最佳答案

您可以使用 scapy.compat.raw 获取数据包的原始字节1:

from scapy.all import raw
raw(packet)

前者是跨版本兼容的,但如果你保证运行 Python 3 并且不需要支持 Python 2,你可以简单地调用 bytes,不需要特别的导入语句(实际上 scapy.compat.raw 在幕后是 implemented):

bytes(packet)

您可以使用scapy.compat.bytes_hex 以可读格式打印数据包的原始字节。 2:

from scapy.all import bytes_hex
print(bytes_hex(packet))

1 scapy.compat.raw的实现可以在here中找到.
2 scapy.compat.bytes_hex 的实现可以在 here 中找到.

关于python - 如何使用 Scapy 提取 TCP 数据包的 Raw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27172789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com