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