2010-01-14 60 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