【发布时间】:2011-01-15 00:35:51
【问题描述】:
我在 C 应用程序中使用 libpcap(和 Windows 上的 winpcap)来监控网络流量。我需要区分每个网络适配器上的上传和下载流量,以生成连接速度统计信息,但库使用的过滤器表达式似乎不太容易支持这一点(即没有“传入”/“传出”运算符)。
我考虑过的一种方法是查询每个适配器的 IP 地址,然后使用过滤器,例如 src host 1.2.3.4(用于测量上传)和 dst host 1.2.3.4(用于测量下载)。
我的问题是:
是否有比上述更好/更简单的方法(让我对每个适配器使用相同的过滤器表达式的方法会很好)?
如果上述方法是可行的方法,那么单个适配器是否有可能拥有超过 1 个与之关联的 IP 地址?我问的原因是 pcap_addr 结构包含单个适配器的地址详细信息(在 struct pcap_if 中)有一个“下一个”成员表明这是可能的。
【问题讨论】:
标签: c network-programming pcap libpcap