转:
1、在抓取https的数据包时,fiddler会话栏目会显示“Tunnel to….443”的信息,这个是什么原因呢?
connect表示https的握手(也就是认证信息,只要是https就要进行认证),只要不是满篇的Tunnel to….443,就没有任何问题。我们可以选择将这类信息进行隐藏。
隐藏方法:菜单栏=》Rules=》选择Hide Connects。就可以隐藏了。
2、要解密HTTPS流量,还需要在移动设备上安装证书;
Android、IOS:
- 1、PC端打开fiddler
- 2、手机端设置好代理,输入http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer.(http://192.168.1.121:8888/FiddlerRoot.cer)
- 3、自动下载fiddlerRoot.cer证书
- 4、进入设置–高级设置–安全–从SD卡安装证书–选择fiddlerRoot.cer–安装,提示安装成功。
- 5、ok了
3、PC端
- 1、将之前的证书删除:打开系统证书管理器(运行=》certmgr.msc=》回车),然后出现管理器,将你之前生成的证书删除即可。
- 2、用一个叫”FiddlerCertMaker.exe“的工具重新打了一个证书。你可以点击这里下载。(下载成功之后,直接双击运行即可)
- 3、重新打开fiddler,使用chrome/ie输入”https://www.baidu.com/“,这回可以捕获https的消息并解密成功了。
- 4、使用iOS远程连接fiddler的代理地址,在线安装证书成功后,使用原生浏览器访问“https://www.baidu.com/”,fiddler成功抓取到https的数据。
- 5、fiddler抓Chrome的网页时,可能会提示连接不安全无法使用,在Chrome上安装插件SwitchySharp,在插件中选择通用设置—勾选快速切换—选择使用系统代理设置–ok了。因为fiddler会自动给浏览器设置一个代理127.0.0.1端口8888,并且记忆浏览器的代理设置,所有的请求先走fiddler代理,再走浏览器代理。如果使用插件,可能会直接屏蔽了fiddler的代理,因此无法监听到请求了。
4、其他
- 1、chrome和ie使用的是系统代理,而火狐使用的是独立的一套代理系统,所以不管fiddler的开关”capturing“是否打开,都捕获不了火狐浏览器的请求。需要我们将火狐浏览器的代理设置设置为系统代理或者配置为”手工配置代理“
- 2、火狐浏览器使用的证书管理也是独立的一套系统,而chrome和ie使用的是系统的证书代理,所以我们如果想要使用fiddler抓取火狐浏览器的https的数据包,则需要将fiddler的根证书导出到桌面,然后再导入到firefox的证书中。而我们使用chrome和ie的时候是不需要将证书导入导出的,因为fiddler的证书就安装在系统的证书管理中。
- 3、如果在使用fiddler的过程中证书出现问题,可以尝试使用”FiddlerCertMaker.exe“重新打一下证书
- 4、如果在使用安卓或者ios等出现https抓取不到数据的问题,如果在本机上安装”FiddlerCertMaker.exe”都不行,就尝试一下fiddler的另外一个插件“CertMaker
for iOS and Android ”这个插件可以在官方网站上进行下载。