【发布时间】:2019-01-04 15:59:42
【问题描述】:
我正在使用 libpcap 来捕获特定端口上的所有数据包。但是我需要分开并清楚地知道我的设备正在发送哪些数据包,以及它正在接收哪些数据包。
其实我用pcap_close()抓包,效果很好;但是如果数据包被接收或发送,struct pcap_pkthdr 不包含任何信息。
我有几个选择,但我认为它们都不是很好:
- 我可以尝试获取我自己的 IP 并将其与
IP Header中的 IP 进行比较,但是总是检查我的 IP 并进行比较是一个很大的负担... - 我可以用一个
src host和另一个dest host做两个pcap 过滤器。但是像这样有两个过滤器是没有意义的,而且我不知道如何使用两个单独的过滤器进行捕获。
那么,我错了吗?如果没有,是否有一种有效的方法可以将接收到的数据包与发送的数据包分开? 谢谢!
【问题讨论】: