Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
macosx中的网络包检测器_Macos_Networking_Kernel_Dylib_Kernel Extension - Fatal编程技术网

macosx中的网络包检测器

macosx中的网络包检测器,macos,networking,kernel,dylib,kernel-extension,Macos,Networking,Kernel,Dylib,Kernel Extension,我正在尝试创建一个网络数据包检查器 我知道你们可以用libpcap来做这件事,但它不是一个嗅探器,我需要在网络上发送之前伪造网络数据包。(通过socks服务器发送) 我找到了两种方法: 使用NKE。(网络内核扩展) 使用DYLD_INSERT_库插入库以钩住网络函数 您认为哪种方法最好?也不要使用tun/tap设备: 您需要将流量路由到该设备,对其进行修改,然后将其发送回。您可以使用防火墙规则执行此操作。在开源世界中有很多使用tun/tap的例子,这并不难 优点:它是一个内核扩展,但是是一个

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

我知道你们可以用libpcap来做这件事,但它不是一个嗅探器,我需要在网络上发送之前伪造网络数据包。(通过socks服务器发送)

我找到了两种方法:

  • 使用NKE。(网络内核扩展)
  • 使用DYLD_INSERT_库插入库以钩住网络函数

您认为哪种方法最好?

也不要使用tun/tap设备:

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


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

Thx为此,我没有考虑tun/tap驱动程序。这真的很酷,因为应用程序可以是多平台的。