Mac OSX 中的网络数据包检查器
-
20-09-2019 - |
题
我正在尝试创建一个网络数据包检查器。
我知道你可以使用 libpcap 来做到这一点,但它不是嗅探器,我需要在网络数据包发送到网络之前伪造网络数据包。(通过socks服务器发送)
我找到了两种方法来做到这一点:
- 使用 NKE。(网络内核扩展)
- 使用 DYLD_INSERT_LIBRARIES 插入库来挂钩网络功能。
您认为哪种方法最好?
解决方案
两者都不是,使用 tun/tap 设备: http://tuntaposx.sourceforge.net/
您需要将流量路由到该设备,对其进行修改,然后将其发回。您可以使用防火墙规则来做到这一点。开源世界里有很多使用 tun/tap 的例子,这并不难。
优势:它是一个内核扩展,但是 标准 内核扩展,因此您无需担心调试它。
不隶属于 StackOverflow