Python Scapy wrpcap与rdpcap不匹配
我试图从单独捕获的二进制数据创建数据包。我基本上是在尝试合成pcap文件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
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'