gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 03:23:58 27 4
gpt4 key购买 nike

我使用的是 OS X 10.5,我正在寻找一种方法来检测应用程序是否尝试访问 Internet。此时,如果应用程序符合我将定义的一组规则,我想阻止该应用程序。

我意识到 ipfw Unix 命令可用于阻止对某些端口的访问,但它会影响所有应用程序。我阅读了手册页,没有看到使用 ipfw 来阻止访问但将其限制为特定应用程序的方法。

我的主要问题在于检测哪个应用程序正试图从外部访问网络。从编程的角度来说,必须有一种方法可以做到这一点,无论是使用某些 Mac OS X API 还是 Unix 命令如何实现这一点?

更新:基本上我想做 Little Snitch 做的事,但我想自己从头开始写,因为我不喜欢 Little Snitch。我只需要知道哪些 API 可以让我完成应用程序网络沙盒以及 Little Snitch 究竟是如何做到这一点的?

最佳答案

我意识到这已经晚了一年,但我正在挖掘类似的东西并找到了我认为是答案的东西。希望这可以帮助其他人。

小飞贼似乎使用了 Network Kernel Extensions过滤进入系统的流量。我发现它在盒子上安装了一个内核扩展,从而验证了这一点:

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

如果您希望以编程方式阻止对另一个应用程序的网络访问,这似乎是您的最佳选择。但是,如果您只是想监控其他应用程序的网络使用情况,您还有其他选择,例如 libpcap

关于objective-c - 阻止应用程序通过 Cocoa API(LittleSnitch API)访问网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1105896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com