好的,所以我想要做的是创建一个后台代理,用于监视进出某个应用程序的 http 流量,并在对某个网站有请求和响应时执行操作。在 Cocoa 中是否有一个很好的方法来做到这一点?我想避免使用非常低级别的嗅探和/或需要 root 访问权限来执行此操作(管理员访问权限是可以的)。
最佳答案
如果您尝试监控的应用程序支持代理服务器,您可以编写一个并在您的应用程序中使用它。这可能是最简单的解决方案。
如果这不起作用,您可以使用 mach_inject
和 mach_override
之类的东西来覆盖您要监视的程序中的一些套接字系统调用(socket
和 write
可能就足够了)。不过,这是某种黑暗艺术,因此您最好使用像 tcpdump
这样的数据包嗅探器并使用管道控制它。
除代理解决方案外,所有这些都需要管理员权限(几乎与 root 相同)。
关于objective-c - 我将如何拦截 Cocoa 应用程序中的 HTTP 流量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3630755/