2010-01-14 32 views
0

我试图创建一个网络数据包检查器。Mac OSX中的网络数据包检查器

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

我发现2种方法来做到这一点:

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

您认为哪种方法最好?

回答

1

都不是,使用TUN/TAP设备:http://tuntaposx.sourceforge.net/

你需要路由通信到该设备,修改它,然后将其发送回。你可以用防火墙规则来做到这一点。在开源世界中使用tun/tap有很多例子,这并不难。

优点:这是一个内核扩展,但标准内核扩展,因此你不需要担心调试它。

+0

Thx为此,我没有想到tun/tap驱动程序。这非常酷,因为应用程序可能是多平台的。 – Zenithar 2010-01-14 12:28:30