macos - Web 请求如何发出并且不被像 Charles 这样的数据包嗅探器工具检测到?

标签 macos cocoa ssl proxy packet-sniffers

我正在使用第三方 (OS X) 工具来帮助我处理 OFX 财务数据。它可以工作,但我很想知道幕后究竟发生了什么以使其工作(HTTP 请求的结构)。

我将 Charles 设置为所有流量的 SSL 代理,希望我能观察到此工具发出的请求,但程序运行时 Charles 什么也没得到。没有任何请求出现。这怎么可能?关于 Charles 或其他数据包嗅探工具的工作原理,我有什么不明白的地方吗?有哪些方式可以发出不会出现在像 Charles 这样的工具中的 Web 请求?

最佳答案

Charles 不是数据包嗅探器。它是一个代理。启动连接的应用程序必须“自愿”使用代理才能看到任何内容。如果应用程序使用像 NSURLConnection 这样的高级网络 API,那么它将借助框架自动获取系统范围的代理设置并使用代理。相反,如果应用程序使用低级套接字 API 编写网络,那么除非他们专门重新实现该功能,否则它们最终不会通过代理。

如果您想查看一切,您将需要一个真正的混杂模式数据包嗅探器,而 Charles 不是。不幸的是,使用“真正的”数据包嗅探器只会向您显示 SSL 连接线路上的乱码,所以这可能也不是您想要的。如果一个应用程序“内置”了它的 SSL 实现并且没有使用正确配置的系统范围代理,嗅探其未加密的流量将相当困难(您可能必须使用调试器或其他运行时 Hook 方法。)

关于macos - Web 请求如何发出并且不被像 Charles 这样的数据包嗅探器工具检测到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23799470/

相关文章:

cocoa - NSSavePanel:压制 "confirm replace?"对话框

c# - 在c#中发送邮件到gmail ssl问题

php - Laravel 5.1 - Swift_TransportException - 无法发送电子邮件

macos - OS/X 上的 iTunes COM 接口(interface)

android - 如何从 OSX 上的 Wireshark 中的 Android 模拟器获取 tcpdump 的实时 View ?

c++ - 找不到CoreAudio,AudioToolbox,AudioUnit等 header

cocoa - iWork 风格的检查器面板中的选项卡

macos - 显示 TStringGrid 单元格的工具提示

objective-c - NSMutableArray 销毁

java - Android SSL 握手异常