我发现了很多捕获数据包并从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)

10-06 14:25