Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scapy wrpcap与rdpcap不匹配_Python_Udp_Scapy - Fatal编程技术网

Python Scapy wrpcap与rdpcap不匹配

Python Scapy wrpcap与rdpcap不匹配,python,udp,scapy,Python,Udp,Scapy,我试图从单独捕获的二进制数据创建数据包。我基本上是在尝试合成pcap文件 pkt = IP(dst="1.1.1.1", src="2.2.2.2") / UDP(sport=100) / Raw(load=b"".join([message_header, message_body])) wrpcap('filtered-udp.pcap', pkt, append=False) pcap = rdpcap('filtered-ud

我试图从单独捕获的二进制数据创建数据包。我基本上是在尝试合成pcap文件

pkt = IP(dst="1.1.1.1", src="2.2.2.2") / UDP(sport=100) / Raw(load=b"".join([message_header, message_body]))

wrpcap('filtered-udp.pcap', pkt, append=False)
pcap = rdpcap('filtered-udp.pcap')

for pktRead in pcap:
     print(pktRead[UDP].load)
但是,在生成pcap文件时,会自动添加一个额外的DNS层。此外,写入和读取的数据包的负载不匹配。我不知道为什么在我写pcap文件和读回pcap文件时原始数据会发生变化

二进制数据是

b"".join([message_header, message_body])
b'&\x00\x01\x00+\xc4\x01\x00Ny!\xb2j\xb6\x11\x14\x12\xa0\xf64&\xf5k\x0cC.:\x00\x00B\x1c\x07\x00\x00d\x00\x00\x00'

但是

pkt[UDP].load
b'&\x00\x01\x00+\xc4\x01\x00Ny!\xb2j\xb6\x11\x14\x12\xa0\xf64&\xf5k\x0cC.:\x00\x00B\x1c\x07\x00\x00d\x00\x00\x00'
pktRead.layers()
[<class 'scapy.layers.inet.IP'>, <class 'scapy.layers.inet.UDP'>, <class 'scapy.layers.dns.DNS'>, <class 'scapy.packet.Raw'>]
pktRead[UDP].load
b'j\xb6\x11\x14\x12\xa0\xf64&\xf5k\x0cC.:\x00\x00B\x1c\x07\x00\x00d\x00\x00\x00'