【发布时间】:2022-10-23 17:01:37
【问题描述】:
设想
我有一个包含 Netflow v10/IPFIX 数据模板和数据流的 PCAP,并且想重放 PCAP。在发送数据包之前,我想更新其中一个流数据字段(即 startTime 与当前时间)。
当前代码
我当前的代码能够读取 PCAP,抓取最后一层(Netflowv10),创建一个套接字并通过接口发送数据包。套接字负责以太网 -> IP -> UDP 层,Scapy 中的“getlayer”功能保留了来自施主 PCAP 的 Netflow v10 模板和数据流层。
问题
我需要帮助的问题是,如何更新 startTime 流数据字段?
代码
我只提供了与此问题范围内的问题相关的 Python3 代码,与 Scapy 相关
packets = sniff(session=NetflowSession, offline=open(pcap_file, "rb"))
for packet in packets:
if packet.haslayer(NetflowDataflowsetV9):
# This return the NetflowDateflowset Records key/value pairs
flowset = netflowv9_defragment(packet[NetflowDataflowsetV9].records)
变量“flowset”返回一个列表并且不是可调用对象。浏览 Scapy 的文档,并没有提供很多帮助。
任何指针或建议将不胜感激。先感谢您 :)
【问题讨论】:
标签: python python-3.x scapy netflow