提问人:cornisto 提问时间:11/10/2023 更新时间:11/10/2023 访问量:15
无法从 pyshark/tshark 输出中获取解析的主机名
Cannot get resolved hostname from pyshark/tshark output
问:
我有一个带有一些网络扫描结果的 wireshark pcapng 文件。我想要以下字段:源 ip、目标 ip、源主机名、目标主机名和协议。
当我使用 Wireshark 打开文件时,我可以通过转到 Edit->Preferences->Name Resolution-> Resolve Network IP addresses 来获取主机名。然后,我可以将结果导出为csv。
但是,我想编写代码来执行此操作,因为我需要从数百个文件中导出结果。 我正在使用 pyshark 来获得结果:
import pyshark
capture = pyshark.FileCapture(<filepath>, custom_parameters={"-N", "n"})
result = []
for packet in capture
packet_data = [packet.ip.src, packet.ip.dst, packet.ip.src_host, packet.ip.dst_host, packet.transport_layer]
result.append(packet_data)
我在自定义参数中指定,以便在基础 tshark 命令中启用名称解析。(参见文档:https://tshark.dev/packetcraft/add_context/name_resolution/-Nn
)
但是,当我以这种方式获得结果时,主机名与 IP 地址相同,而不是 example.com。
当我从 wireshark 手动导出数据时,一切正常,但当我尝试使用代码执行此操作时,情况并非如此。我 100% 确定我从数据包数据中提取了正确的字段。
有没有人遇到过类似的问题?
答: 暂无答案
评论