我有这个Python代码:
import sys
import dpkt
f = file("pcaop.Pcap")
pcap = dpkt.pcap.Reader(f)
i = 0
for ts, buf in pcap:
print "Ya"
dpkt 在第 52 个数据包上抛出 NeedData。每次都是一样的 - 我检查了数据包 52,它与wireshark上的其他人相同。
是什么原因造成的?
最佳答案
此处提供解决方案:Python stops reading file using read
当 dpkt.pcap 在 Linux 下运行良好但在 Windows 中运行时立即失败时,我遇到了同样的问题。
问题是,当以文本模式打开文件时 open("filename", "r")
会读取文件,直到遇到 EOF。因此,open("filename", "rb")
关于python - dpkt 在有效的 pcap 上抛出 NeedData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022350/