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/