我试图用不同的IP和IPv6地址重写pcap文件。但是在我通过PcapReader提取一个packt并更改其IP地址后,输出pcap文件中的数据包被截断(也就是说,包的有效载荷丢失)。 下面是示例代码:
from scapy.all import PcapReader
from scapy.all import PcapWriter
def test():
f = "input.pcap"
writers = PcapWriter("output.pcap")
with PcapReader(f) as pcap_reader:
for pkt in pcap_reader:
# somehow change the IP address
writers.write(pkt=pkt)
test()
当我用WireShark打开.pcap文件时,它显示“捕获文件似乎在包的中间被剪短了”。 scapy中是否有维护有效负载的解决方案,或者是否有其他python包需要推荐?在
在这里我没有改变任何东西,结果是这样的: 输入文件: enter image description here
我认为问题出在你用来修改包的代码中(你没有显示),或者你的源文件已经有了短包(即snaplen小于packet len)。以下代码对我来说没有问题:
相关问题 更多 >
编程相关推荐