Linux 中的 pcap 正在丢弃数据包,它似乎与共享内存映射有关,如此处所述 https://stackoverflow.com/a/11660759/1794758 。
但是,该答案的链接已关闭,因此我看不到如何在禁用共享内存映射的情况下编译 libpcap。我在网上搜索并查看了 libpcap 文档,但看不到这是如何完成的。
最佳答案
没有可以设置的配置参数。我发现做到这一点的唯一方法是在编译之前实际修改代码。你需要做的事情其实很简单。步骤如下:
在源文件 pcap-linux.c 中,转到 activate_mmap 方法。该方法的返回代码向调用者指示内存映射何时已正确设置。只需短路该方法并从顶部返回 0,内存映射就应该关闭。
关于linux - 在没有内存映射支持的Linux中编译libpcap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16722742/