使用Python
我想从由tshark
连续写入的pcap
文件(或用libpcap
或pfring
实时捕获编写的一段代码)中,以相同的顺序连续读取数据包
为了测试这一点,我以以下方式在Python中使用了tshark
和scapy
@terminal1:ping -i 5 192.168.1.10
@terminal2:tshark -f "icmp" -a filesize:1000 -w ping_live.pcap
Python中的数据包读取器打算每5秒读取一个未读数据包(而不是每次读取整个数据包集)。但它不会等待5秒后即将写入的下一组数据包,它会退出
from scapy.all import *
def process_packet(packet):
print(packet.summary())
sniff(offline="ping_live.pcap", prn=process_packet, store=0)
print("sniff complete, exiting")
然后我尝试在sniff
方法周围放置while True:
循环,但它并不是只读取下一个未读数据包,而是一次又一次地读取整个文件
我的需求的解决方案是什么(不限于scapy
)
多谢各位
我不确定这是否回答了你的问题,因为我无法理解确切的要求。根据我对您问题中信息的解释,您希望“以写入PCAP文件的相同顺序连续读取数据包。”
您的示例使用了ICMP,,因此我的答案将使用该协议
以下是可以筛选的字段名称:
希望这个答案能帮助你
这里是我用pyshark写的一个GitHub文档
相关问题 更多 >
编程相关推荐