objective-c – 通过Cocoa API阻止应用程序访问网络(LittleSnitch API)?

前端之家收集整理的这篇文章主要介绍了objective-c – 通过Cocoa API阻止应用程序访问网络(LittleSnitch API)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用OS X 10.5,我正在寻找一种方法来检测应用程序是否尝试访问Internet.在这一点上,我想阻止应用程序,如果它符合我将定义的一组规则.

有ipfw Unix命令,我意识到可以阻止访问某些端口,但影响所有应用程序.我阅读了手册页,并没有看到使用ipfw来阻止访问的方式,但是限制它到一个特定的应用程序.

我的主要问题在于检测哪个应用程序试图获得对网络的访问.通过编程,必须有办法做到这一点,无论是通过使用某些Mac OS X API还是Unix命令来实现呢?

更新:
本质上我想做Little Snitch做的,但我想从头开始自己写,因为我不喜欢Little Snitch.我只需要知道什么API可以让我完成应用程序网络沙箱,以及Little Snitch如何做到这一点?

解决方法

我意识到这是一年之后,但我正在挖掘类似的东西,并发现我认为是答案.希望这可以帮助别人下线.

Little Snitch似乎使用Network Kernel Extensions来过滤进入系统的流量.我已经通过发现它在框上安装了内核扩展来验证这一点:

[~] kextstat
...
55 0 0x687000 0x2b000 0x2a000 at.obdev.nke.LittleSnitch (2.0.46) <7 6 5 4 2>
...

如果您以编程方式阻止网络访问其他应用程序,这似乎是您最好的选择.但是,如果您只想监控其他应用程序的网络使用情况,您还可以使用其他选项,如libpcap.

猜你在找的C&C++相关文章