如何在python中使用虚拟数据创建示例pcap文件-而不是使用tcpdump?

时间:2019-06-25 18:26:02

标签: python python-3.x wireshark pcap tcpdump

我没有在没有sudo的情况下在测试服务器上执行tcpdump的权限。

到目前为止,我只想创建一个虚拟的pcap文件(如原始文件)并包含一些示例数据,并将其用于一些测试。

要复制原件,     猫应该看起来像:     <<▒

below command to read it in a human way should give o/p like:
tcpdump -qns 0 -X -r test_abc.pcap
reading from file abc.pcap, link-type EN10MB (Ethernet)
22:06:04.309992 IP xxx.xxx.x.xx.xxxxx > xx.xxx.xxx.xxx.xx: tcp 0
        0x0000:  4500 0028 57ef 4000 7b06 0199 c0a8 015b  E..(W.@.{......[
        0x0010:  2b94 b8b0 ae38 0016 48d1 ea1b b5f0 3568  +....8..H.....5h
        0x0020:  5010 00fe 3bfa 0000 0000 0000 0000       P...;.........

如果我尝试编写一个0和1的pcap文件或复制上面可读文本的粘贴内容,则该文件不像真正的pcap文件。 因为数据可以用cat读取。 (对于实际的pcap文件则不是这种情况)

2 个答案:

答案 0 :(得分:1)

您应该查看Scapy,而不是尝试从头开始生成pcap。因为您一直在考虑使用Python,所以这对您特别有用。

使用Scapy,您可以以编程方式在内存中生成数据包,然后使用wrpcap()函数将其写入并轻松将它们保存为有效的pcap文件。

答案 1 :(得分:0)

您可以使用十六进制编辑器(例如,大多数* nix系统中内置的xxd)。