如何监听第三方应用程序(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 服务器上返回的消息

如何监听第三方应用程序(SOAP or RESTful 客户端)访问HTTPS网站时的数据?,布布扣,bubuko.com

时间: 2024-12-26 11:19:50

如何监听第三方应用程序(SOAP or RESTful 客户端)访问HTTPS网站时的数据?的相关文章

Java程序避开SSL证书问题访问https网站

部分原创,参考:参考:http://tanyongbing.iteye.com/blog/1855132 在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:使用Firefox浏览器,进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来, 点击浏览器导航栏左边的锁,查看安全链接的更多信息,点击查看证书,点击详细信息,点击导出,保存类型"X.509证书(PEM)(*.crt; *.pe

mac监听Dock激活程序

涉及库添加:LIBS += -framework CoreFoundation -framework Carbon -lobjc 涉及头文件:#include <objc/objc.h>#include <objc/message.h> 监听回调函数:bool dockClickHandler(id self,SEL _cmd,...){    Q_UNUSED(self)     Q_UNUSED(_cmd)     (QMainWindow *)mainWindow->O

分享:50行代码监听watch小程序的globalData

监听方法: 1 // 在任何组件.页面,例如页面 2 3 const app = getApp( ); 4 5 Page({ 6 7 onLoad: function( ) { 8 app.watch$('role', ( val, old ) => { 9 console.log( old, val ); // 此处输出 1, 2 10 }) 11 }, 12 13 }); 使用方法(触发watch): 1 // 在任何组件.页面,例如页面 2 3 const app = getApp( );

Win7/Vista/Server2008下VS 环境 调试调用 HTTP.SYS 无法启动监听服务及启动后其他机器无法访问端口

一. VS调试在Win7(vista系列)操作系统下 HttpListener无法绑定多个 指定IP.端口问题 来自:http://www.cnblogs.com/ryhan/p/4195693.html 现象:System.Net.HttpListenerException (0x80004005): 拒绝访问. 原因:VS IDE 权限不够(生成的产物权限也会不够),提升UAC权限即可解决 步骤: 1.选中对应Project,右键添加->新增应用程序清单文件 app.manifest 2.将

Windows平台下Oracle 11g R2监听文件日志过大,造成客户端无法连接的问题处理

近期部署在生产环境的应用突然无法访问,查看应用日志发现无法获取数据库连接. SystemErr R Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection SystemErr R at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359) SystemErr R at oracle.net.resolve

如何监听第三方程序对指定串口的读写数据?

hook 该函数获取串口信息 和 lpDCB 数据 BOOL BuildCommDCBA( LPCSTR lpDef, LPDCB lpDCB ); hook 该函数比较上面函数获得到的 lpDCB 数据,如果相同则获取 hFile 句柄. BOOL SetCommState( HANDLE hFile, LPDCB lpDCB ); hook 写函数并比较 hFile 值,如果相等则转发发送的数据 BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer,

查看windows系统中监听端口的程序

netstat -aon | findstr 80Proto Local Address Foreign Address State PID==== ============ ============== ========== ======TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1688可以看出80端口被进程号为1688的程序占用.tasklist | findstr 1688图像名 PID 会话名 会话# 内存使用=========================

一个类,有新增元素(add)和获取元素数量(size)方法。 启动两个线程。线程1向容器中新增数据。线程2监听容器元素数量,当容器元素数量为5时,线程2输出信息并终止

方式一: /** * 两个线程要是可见的所以要加上votalile */public class Test_01 { public static void main(String[] args) { final Test_01_Container t = new Test_01_Container(); new Thread(new Runnable() { @Override public void run() { for(int i = 0; i < 10; i++){ System.out

一个基于Socket的http请求监听程序实现

首先来看以下我们的需求: 用java编写一个监听程序,监听指定的端口,通过浏览器如http://localhost:7777来访问时,可以把请求到的内容记录下来,记录可以存文件,sqlit,mysql数据库,然后把接受到的信息在浏览器中显示出来 要点: Socket,线程,数据库,IO操作,观察者模式 来看下我们如何来设计这个小系统,这个系统包含三部分的内容,一个是监听端口,二是记录日志,三是数据回显,端口监听第一想到的就是Socket编程了,数据回显也是一样的,无非是把当前请求客户端的sock