尝试打开.pcap文件时遇到问题。在scapy.utils中,有RawPcapReader
try:
self.f = gzip.open(filename,"rb")
magic = self.f.read(4)
except IOError:
self.f = open(filename,"rb")
magic = self.f.read(4)
if magic == "\xa1\xb2\xc3\xd4": #big endian
self.endian = ">"
elif magic == "\xd4\xc3\xb2\xa1": #little endian
self.endian = "<"
else:
raise Scapy_Exception("Not a pcap capture file (bad magic)")
hdr = self.f.read(20)
if len(hdr)<20:
raise Scapy_Exception("Invalid pcap file (too short)")
My magic的值为“ \ n \ r \ r \ n”,但RawPcapReader期望的是magic ==“ \ xa1 \ xb2 \ xc3 \ xd4”或magic ==“ \ xd4 \ xc3 \ xb2 \ xa1 “。
您能告诉我可能是什么问题吗?使用.pcap文件?我正在使用python版本2.7
解决方案很简单
在Wireshark中'另存为':Wireshark / tcpdump-pcap
或使用tshark:
$tshark -r old.pcapng -w new.pcap -F libpcap
mypcap = PcapNgReader(filename)