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