我使用tcpdump使用参数-s 100
(这意味着我只捕获数据包的头部)。在
当我加载.pcap文件并用Scapy处理它时,我会:
pkts = rdpcap(pcapfile)
totalbytes = 0
for pkt in pkts:
totalbytes += len(pkt)
但是,当我截短捕获时,做len(pkt)
不会给出整个包的长度(帧长度),它会给我捕获的包长度。我怎样才能得到真正的包长度?在
Extra:正如我以前在某些场合所做的那样,我在wireshark中打开pcap文件并搜索感兴趣的十六进制值。但在这种情况下(框架长度)将显示我要查找的值,但我无法找到wireshark在不捕获整个数据包的情况下获取此实际数据包长度的方法。在
rdpcap
函数使用PcapReader
类来读取数据包。不幸的是,这个类丢弃了您在read_packet
方法中查找的信息,即使它可以在pcap文件中找到。所以你必须直接使用RawPcapReader
。在相关问题 更多 >
编程相关推荐