将嗅探 scapy 数据包转换为 pcap 格式以将命名管道传入 Wireshark

问题描述 投票:0回答:0

我一直在使用 scapy 在 Python 中构建数据包嗅探器。我正在尝试通过 Wireshark 文档 https://wiki.wireshark.org/CaptureSetup/Pipes.md 中指定的命名管道将 Wireshark 集成到嗅探器中。问题是该示例使用从具有 open() 函数的文件中读取的 pcap 数据,当我尝试传入像

bytes(sniffed_packet[0])
一样转换的 scapy 数据包时,尽管看起来类似于在 pcap 文件上使用 open() 时,会发生错误在 Wireshark 上说数据是正确的 pcap 或 pcapng 格式。我尝试了很多想法,但还没有。有谁知道我如何轻松地将嗅探到的 scapy 数据包转换为正确的 pcap 格式以通过命名管道发送它?

我试过将数据包转换为字节并使用带有 wrpcap 函数的 ByteIO 缓冲区,问题是该函数在完成时关闭文件描述符,所以即使我可以使用该函数在内存中格式化 pcap 数据,我也无法读取它由于关闭 IO 描述符。

python scapy pcap packet-sniffers packet-capture
© www.soinside.com 2019 - 2024. All rights reserved.