微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/c/116011.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐