python - 使用 Pcapy 将数据包保存到 pcap 文件

标签 python pcap

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

关于python - 使用 Pcapy 将数据包保存到 pcap 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23566710/

相关文章:

python - 添加隐藏的输入类型会改变我的CSS

python - 如何显示django类别名称而不是Category对象(一)

python - 编译列表 : python best practice

对 libcap (pcap) 和无线感到困惑

python - 使用 Scapy 从 pcap 文件读取 session 可以提高内存效率吗

c - pcap 结构 pcap_pkthdr len 与 caplen

multithreading - 使用 channel 在线程之间传递 Rust pnet 数据包

python - 我想在 matplotlib 热图的列之间添加额外的空间,我该怎么做?

迭代两个目录时的 python glob 和 iglob

http - 从 pcap 文件中提取 TCP 负载