2014-05-22 30 views
1

我正在使用第三方(OS X)工具来帮助我处理OFX财务数据。它可以工作,但我有兴趣知道幕后究竟发生了什么,以使其工作(HTTP请求的结构)。Web请求如何被查询之类的数据包嗅探工具发现并不被发现?

我将Charles设置为所有流量的SSL代理,希望我可以观察到此工具提出的请求,但程序运行并且Charles没有任何结果。没有请求显示任何。这怎么可能?有什么我不了解Charles或其他数据包嗅探工具是如何工作的?有什么方法可以使网络请求不会像查尔斯这样的工具出现?

回答

3

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

如果你想看的一切,你将需要一个真正的混杂模式数据包嗅探器,查尔斯不是。不幸的是,使用“真正的”数据包嗅探器只会告诉你通过SSL连接传输的乱码,所以这可能不是你想要的。如果一个应用程序“安装了”其SSL实现并且没有使用正确配置的系统级代理,那么嗅探未加密的流量会相当困难(您可能必须使用调试器或其他运行时钩子方法)。