在解析Arp数据包时,我发现了这个很好的问题。
当接收到Arp数据包时,我正在解析目标的IP地址。
我让c0 a8哑口无言,但在那之后就结束了。我漏掉了数据!我在Wireshark中看到了数据,但我并不是通过WinPCap获取数据。
我以前还没有讨论过这个问题。有什么想法吗?不过,到目前为止还没有出现内存访问错误。可能只是运气。:x
编辑:我处理数据包的主要内容来自示例pktdump_ex。
这是时间线
while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)在执行后,snalen为2b。
发布于 2010-02-16 09:33:20
正如他在评论中所指出的,这闻起来像是一个错误的snaplen配置。如果您查看winpcap文档开放() apidoc,它会声明:
必须保留的数据包的长度。对于过滤器接收的每个数据包,只有第一个'snaplen‘字节存储在缓冲区中并传递给用户应用程序。例如,snaplen等于100意味着只存储每个数据包的前100个字节。
作为对pcap_open第二个参数的解释。除非您提供一些更详细的代码片段来处理,否则这是我们将得到的最接近的答案。
https://stackoverflow.com/questions/2271209
复制相似问题