【发布时间】:2012-05-04 13:34:27
【问题描述】:
我正在尝试使用 libpcap 来嗅探一些“网络接口”(包括环回)。
在我的示例应用程序中,我在端口 1234、1235 和 1236 中有来自环回的数据包。我已经找到了一种使用 libpcap_setfilter() 使 libpcap 仅过滤来自这些地址的数据包的方法:我的目标是转发这些数据包与它们来自的地址/端口相对应(例如,来自 127.0.0.1/1234 的数据包可以通过 eth0 接口;来自 127.0.0.1/1235 的数据包可以通过 eth1 转发;而那些来自从 127.0.0.1/1236 可以通过 eth2 转发)。
我的问题是:有什么方法可以知道这些数据包来自哪个端口而无需查看它们的内容?例如,我是否可以设置许多过滤器并以某种方式知道是哪个过滤器过滤了我的数据包?
我已经阅读了很多文档和教程,但到目前为止似乎没有一个有用。如果答案是“不可能”,我也可以。
提前致谢。
【问题讨论】: