gpt4 book ai didi

c++ - Libpcap - 接收与发送数据包

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:54 29 4
gpt4 key购买 nike

我正在使用 libpcap 捕获特定端口上的所有数据包。但是我需要分开并清楚地知道我的设备正在发送哪些数据包,以及它正在接收哪些数据包。实际上,我使用 pcap_close() 来捕获数据包,而且效果很好;但是如果数据包被接收或发送,struct pcap_pkthdr 不包含任何信息。

我有几个选择,但我认为它们都不太好:

  • 我可以尝试获取我自己的 IP 并将其与 IP header 中的 IP 进行比较,但是总是检查我的 IP 并进行比较是一个很大的负担...
  • 我可以在一个 src host 和另一个 dest host 中做两个 pcap 过滤器。但是像这样有两个过滤器是没有意义的,而且我不知道如何使用两个单独的过滤器进行捕获。

那么,我错了吗?如果没有,是否有一种有效的方法将接收到的数据包与发送的数据包分开?谢谢!

最佳答案

源 mac 可以判断它是入口还是导出。如果捕获的数据包具有主机的源 Mac,则为导出,否则为入口。

关于c++ - Libpcap - 接收与发送数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54042313/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com