【发布时间】:2016-04-20 15:50:44
【问题描述】:
我目前正在尝试使用WinPCAP-API 读取一些PCAP 文件。
通过this example,我设法读取了数据、时间戳和长度。但我不知道如何读取源和目标 IP 地址和端口?
【问题讨论】:
标签: port ip-address pcap winpcap
我目前正在尝试使用WinPCAP-API 读取一些PCAP 文件。
通过this example,我设法读取了数据、时间戳和长度。但我不知道如何读取源和目标 IP 地址和端口?
【问题讨论】:
标签: port ip-address pcap winpcap
但我不知道如何读取源和目标 IP 地址和端口?
通过剖析 WinPcap 为您提供的原始数据包数据; libpcap/WinPcap 不提供用于剖析原始数据包数据的 API(因为不同的 libpcap/WinPcap 应用程序有不同的需求 - 入侵检测应用程序(如 Snort)和数据包分析器(如 tcpdump 或 Wireshark)对数据执行不同的操作)。
例如,请参阅 libtins 作为用于进行数据包剖析的 C++ 库,或查看 libpcap tutorial 以了解如何自己进行剖析。
【讨论】:
sniffex.c 的libpcap tutorial 成功编译。但是我没有得到什么更改来读取我的 pcap 文件?我试过dev = "D:\path\to\udp.pcap",但这会导致程序崩溃。我还尝试dev = "port 4321" 在使用Colasoft-Player 重播时读取我的文件,但我遇到了同样的崩溃(控制台输出):Device: port 4321;包数:10;过滤表达式:ip;无法打开设备端口 4321:打开适配器时出错:系统找不到设备。 (20);
sniffex.c 不是一个读取 pcap 文件的程序,它是一个在 libpcap 支持的任何设备上捕获的程序 - 不包括诸如“端口 4321”之类的网络端口。您必须将其更改为使用pcap_open_offline(),而不是pcap_open_live(),以使其读取捕获文件。