我正在使用libpcap捕获特定端口上的所有数据包。但是我需要分开并清楚地知道我的设备正在发送哪些数据包,以及正在接收哪些数据包。
实际上,我使用pcap_close()
来捕获数据包,并且运行良好;但是无论是接收还是发送数据包,struct pcap_pkthdr都不包含任何信息。
我有几种选择,但我认为它们都不是很好:
IP Header
中的IP进行比较,但是始终检查我的IP并进行比较会很麻烦... src host
和另一个dest host
中进行两个pcap过滤。但是,拥有两个这样的过滤器毫无意义,而且我也不知道如何使用两个单独的过滤器进行捕获。那么,我错了吗?如果不是,是否有一种有效的方法将接收到的数据包与接收到的数据包分开? 谢谢!
答案 0 :(得分:0)
源mac可以判断它是入口还是出口。如果捕获的数据包具有主机的源Mac,则为出口,否则为入口。