我有这个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上的其他人一样。
是什么导致这种情况?
答案 0 :(得分:5)
此处提供了解决方案:Python stops reading file using read
当dpkt.pcap在Linux下正常工作但在Windows中运行时立即失败时,我遇到了同样的问题。
问题是,当以文本模式open("filename", "r")
打开文件时,将读取文件,直到遇到EOF。因此,open("filename", "rb")