最近尝试用libpcap库实现一个网络流量监控的小工具,目标是计算网速和统计总流量。代码完成后却发现结果不太对劲,怀疑是抓包逻辑或计算方法出了问题。希望有经验的开发者能帮忙看看!🧐
首先,通过`pcap_open_live()`初始化设备,并使用`pcap_loop()`循环捕获数据包。每个数据包的长度用`pkthdr->len`获取,然后累加到总流量中。网速部分则是基于时间差来动态计算的,但最终结果显示的数据量明显偏高,甚至与实际网络活动不符。😭
初步猜测可能是某些广播包、重复包被误计入,或者时间戳处理有问题。有没有大佬知道libpcap在多线程环境下的注意事项?或者有更好的流量统计思路?🙏
Linux C编程 libpcap 网络监测 求助中 📊📈