MacOSX:如何捕获网络事件?或者:私人眼睛是如何工作的?

Alb*_*ert 11 macos networking kernel-extension

我偶然发现了Private Eye并想知道它是如何工作的.

即它使用什么API来获取这些信息(所有传入/传出的网络连接和使用它的应用程序)?

它正在安装一个kext.需要吗?

jjs*_*jjs 15

开发者在这里

它使用kext来捕获连接.基本思想是安装一个套接字过滤器,只要有网络事件就会调用它.然后,kext将获取并存储它需要的任何信息,并通过内核控制套接字将其传递给userland客户端.

这是Apple关于进行网络内核扩展的精彩介绍.http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/NKEConceptual/intro/intro.html

几乎所有内容都适用于私人眼睛.