我如何以编程方式从被动嗅探中收集数据包?

我想测试我刚刚针对中间人攻击的服务器的漏洞。

如何(在Mac OS X上)我分析数据包。 (我会检查他们要去哪里,从他们前往我的服务器时提取信息,看看所有可用的信息)然后我会想办法加密一切……但首先要做的事情。

任何有关数据包嗅探的帮助将不胜感激。

我的首选语言是java。 但我可以做C ++。

所以,我的问题是:“我可以与任何类型的API /库进行交互吗?”

就像,如果我可以做PacketSniffer ps = new PacketSniffer(); 这将是惊人的。

最好的便携式库是libpcap 。 甚至还有一个java包装器可供它使用。

无需自己编写 – 从http://www.wireshark.org/下载Wireshark

Wireshark和KisMAC都提供源代码下载并在MacOS X上运行。您可以从那里剥离所需的代码(如果它仅供您内部使用)。

你应该看看libcrafter: http : //code.google.com/p/libcrafter/

该库有一个Sniffer类,界面非常易于使用:

http://code.google.com/p/libcrafter/wiki/SnifferIntroduction