代码之家  ›  专栏  ›  技术社区  ›  bobber205

WinPCap数据被截断

  •  0
  • bobber205  · 技术社区  · 15 年前

    在解析Arp数据包时,我发现了一个很好的问题。

    当我收到一个Arp包时,我正在解析目标的IP地址。

    我有C0A8在我的十六进制哑巴,但之后它就结束了。我丢失了数据!我看到了Wireshark的数据,但我看到了 通过WinPCap获取数据。

    编辑: 处理数据包的主要方法来自pktdump\u ex示例。

    这是电话线

    while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)
    

    执行之后,snalen是2b。

    1 回复  |  直到 9 年前
        1
  •  2
  •   amo-ej1    15 年前

    正如他在评论中提到的,这闻起来像是一个错误的snaplen配置。如果你看看winpcapapi文档 pcap_open() apidoc ,它指出:

    snaplen,:必须保留的数据包的长度。对于过滤器接收到的每个数据包,只有第一个“snaplen”字节存储在缓冲区中并传递给用户应用程序。例如,snaplen等于100意味着只存储每个数据包的前100个字节。

    作为对pcap\u open的第二个参数的解释。除非您提供一些更详细的代码片段,否则这是最接近我们将得到的答案。

    推荐文章