谁能为c ++建议一个好的数据包嗅探器类?

时间:2008-12-05 21:55:59

标签: c++ packet-capture winpcap sniffing

有人可以为c ++建议一个好的数据包嗅探器类吗?寻找一个易于插入的类,我可以在我的c ++程序中使用,没有什么复杂的。

3 个答案:

答案 0 :(得分:17)

只需在项目中插入一个类,您就永远无法拦截网络流量。数据包捕获功能需要内核模式支持,因此您至少需要让您的应用程序需要或安装libpcap / WinPcap,正如Will Dean所指出的那样。

大多数类似现代Unix的发行版都包含开箱即用的libpcap,在这种情况下你可以看看这个非常简单的例子:http://www.tcpdump.org/pcap.htm

如果您正在使用Windows,那么您或多或少都是自己的,尽管WinPcap编程与libpcap编程非常相似(不出所料,因为它是Win32的libpcap端口。)可以找到SDK在这里:http://www.winpcap.org/devel.htm

无论如何,无论操作系统如何, 都需要root / Administrator访问才能实际执行捕获。当然,仅使用库来重放或分析预先捕获的数据不需要任何特殊权限。

答案 1 :(得分:2)

你需要对你的平台说些什么,因为这是一个平台而不是语言。

但假设你有一些常见的东西,请查看pcap或winpcap。

答案 2 :(得分:1)

Microsoft Network Monitor具有数据包捕获和分析API,有关基本信息,请参阅the netmon blog