【发布时间】:2012-04-08 09:20:55
【问题描述】:
是否可以使用零拷贝数据包机制在 Linux 上使用 libpcap 读取数据包? (我使用的是 CentOS 6.2) 如果是,我可以看到任何代码示例吗?
【问题讨论】:
标签: linux network-programming libpcap packet-capture
是否可以使用零拷贝数据包机制在 Linux 上使用 libpcap 读取数据包? (我使用的是 CentOS 6.2) 如果是,我可以看到任何代码示例吗?
【问题讨论】:
标签: linux network-programming libpcap packet-capture
是的,libpcap 1.0 及以后的版本会这样做,虽然以后的 libpcap 版本已经修复了一些错误,所以使用的 libpcap 版本越晚,它的效果就越好。写入标准 libpcap API 的代码将在具有 libpcap 1.0 及更高版本的 Linux 上使用零拷贝捕获。
(Netsniff-ng 有自己的代码来捕获数据包,而不是使用 libpcap。)
【讨论】:
是的,显然netsniff-ng 做到了。我建议查看它的代码。
【讨论】: