首页 > 代码库 > 如何监听第三方应用程序(SOAP or RESTful 客户端)访问HTTPS网站时的数据?
如何监听第三方应用程序(SOAP or RESTful 客户端)访问HTTPS网站时的数据?
随着互联网的应用越来越多,在我们的日常开发和调试当中(比如调试SOAP和RESTFul的时候),我们常常需要访问用第三方的工具访问HTTPS的网站,为了简化描述,本文使用IE浏览器访问Google 提供的https://www.googleapis.com/discovery/v1/apis RESTful服务为例,注意这个是基于https协议的访问,如果用第三方的嗅探工具,比如wiresharp,即使我们能把http的数据包抓到,显示出来的内容也是乱码,因为传送的内容经过了加密,而加密的私钥就存放在服务器端,理论上我们是不可能得到这个私钥的,因此,不太可能能够把抓到包的数据解密出来,但是我们有的时候的的确确有想知道,我们客户端到底发送了什么信息,同时服务器端又返回给我们了什么信息? 有一个办法就是通过TCP SSL Monitor来做。
步骤1: 下载TCP SSL Monitor工具,并配置Java Home运行的环境环境,具体如何配置,请在google或者baidu搜索,java环境变量设置
https://code.google.com/p/tcpmon/
步骤2. 打开此工具,将会看到下面的页面,注意一定要把SSL Server checkbox勾上
步骤3 填入本地的监听端口(一个未被其他应用程序使用的端口,比如我本机就是:9999),然后在填入相应的
Google的服务器地址和HTTPS的默认端口:443, Server Name里面填写上:www.googleapis.com,最后点击,
“Add Monitor”按钮
步骤4. 点击“Add Monitor”后,将会弹出下面的界面
步骤5.在浏览器中输入,https://127.0.0.1:9999/discovery/v1/apis
步骤6. 返回TCP SSL Monitor查看发送的消息,将会看到浏览器发送的消息和Google 服务器上返回的消息