Mac OSX中的网络数据包检查器

时间:2010-01-14 10:22:10

标签: macos networking kernel dylib kernel-extension

我正在尝试创建一个网络数据包检查器。

我知道你可以用libpcap做到这一点,但它不是嗅探器,我需要伪造网络数据包,然后才能在网络上发送。 (通过socks服务器发送)

我找到了两种方法:

  • 使用NKE。 (网络内核扩展)
  • 使用DYLD_INSERT_LIBRARIES插入库以挂接网络功能。

您认为哪种方法最好?

1 个答案:

答案 0 :(得分:1)

两者都不使用tun / tap设备:http://tuntaposx.sourceforge.net/

您需要将流量路由到该设备,进行修改,然后再将其发送回去。您可以使用防火墙规则执行此操作。在开源世界中有很多使用tun / tap的例子,这并不难。

优点:它是内核扩展,但是标准内核扩展,因此您无需担心调试它。