我发现了很多捕获数据包并从pcap文件读取的示例。但是根本没有捕获数据包并将其转储到pcap中的示例。
我正在使用here中的以下代码:
import pcapy
from impacket.ImpactDecoder import *
# list all the network devices
pcapy.findalldevs()
max_bytes = 1024
promiscuous = False
read_timeout = 100 # in milliseconds
pc = pcapy.open_live("name of network device to capture from", max_bytes, promiscuous, read_timeout)
pc.setfilter('tcp')
# callback for received packets
def recv_pkts(hdr, data):
packet = EthDecoder().decode(data)
print packet
packet_limit = -1 # infinite
pc.loop(packet_limit, recv_pkts) # capture packets
有什么想法可以将捕获的数据包转储到pcap文件中?
最佳答案
您可以通过dump_open调用从pcapy获取一个Dumper对象,并且可以在该对象上调用dump。
dumper = pc.dump_open(filename)
...
dumper.dump(hrd, data)