如何用 fiddler 捕获 https 请求
2015-11-24 20:58
736 查看
安装完 Fiddler 后,我们每次打开浏览器输入 url,Fiddler 便会捕获到我们的 http 请求(Fiddler 是以代理 web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888. 当浏览器打开时 Fiddler 会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的程序)。但是,如果要捕获 https 的请求,我们还需要进行一些额外的设置。
要抓取走 HTTPS 的 JS 内容,Fiddler 必须解密 HTTPS 流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。
首先,打开 Fiddler,在菜单栏中依次选择 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下图的选项。
勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 "Export Root.." 按钮,将证书下载到桌面。
接着将证书导入到浏览器。这里以 chrome 举例,依次选择 【设置】->【管理证书..】 将保存在桌面的证书导入即可(其他浏览器类似,通常有个“证书”选项设置)。
也可以直接双击下载下来的证书,进行安装。
我们打开 www.baidu.com,这时就可以愉快地捕获 https 请求了!
细心的你可能会发现,在 https 的请求中夹杂着一些 http 的请求,并且该 session 的 Host 参数是个诡异的 "Tunnel to”,什么鬼? StackOverflow 里早已有精彩解答,或者可以直接看这里,简单地说 fiddler 当做代理转发 https 请求的时候,就会产生 "CONNECT Tunnels",所以大可忽略它。
ps:据说如果要捕获移动端的 https 请求,在手机上也要安装证书,详见 Fiddler学习:捕获HTTPS会话配置。可是我好像没设置也可以捕获,不知何故,待查。
要抓取走 HTTPS 的 JS 内容,Fiddler 必须解密 HTTPS 流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。
首先,打开 Fiddler,在菜单栏中依次选择 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下图的选项。
勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 "Export Root.." 按钮,将证书下载到桌面。
接着将证书导入到浏览器。这里以 chrome 举例,依次选择 【设置】->【管理证书..】 将保存在桌面的证书导入即可(其他浏览器类似,通常有个“证书”选项设置)。
也可以直接双击下载下来的证书,进行安装。
我们打开 www.baidu.com,这时就可以愉快地捕获 https 请求了!
细心的你可能会发现,在 https 的请求中夹杂着一些 http 的请求,并且该 session 的 Host 参数是个诡异的 "Tunnel to”,什么鬼? StackOverflow 里早已有精彩解答,或者可以直接看这里,简单地说 fiddler 当做代理转发 https 请求的时候,就会产生 "CONNECT Tunnels",所以大可忽略它。
ps:据说如果要捕获移动端的 https 请求,在手机上也要安装证书,详见 Fiddler学习:捕获HTTPS会话配置。可是我好像没设置也可以捕获,不知何故,待查。
相关文章推荐
- Tcp 断开连接(重要)
- Unix网络编程(卷1)—笔记
- iOS数据库离线缓存思路和网络层封装
- 图解TCP/IP读书笔记(二)
- 加载网络图片的框架总结
- 神经网络的基本原理及编程入门
- TCP洪水攻击(SYN Flood)的诊断和处理
- HTTP学习笔记(1)ULR语法
- http://www.runoob.com/
- 再硬写一个最简单的HTTPSERVER
- SSL构建单双向https认证!https部署及注意事项!
- [连载]《C#通讯(串口和网络)框架的设计与实现》-3.设备驱动的设计
- 基于PXE+Pressed方式的Ubuntu14.04网络安装
- Java实现Http服务器(四)
- 漫游红黑树之插入篇 http://www.cnblogs.com/xuqiang/archive/2011/05/16/2047001.html
- 教你透彻了解红黑树 http://blog.chinaunix.net/uid-26575352-id-3061918.html
- 4. 二叉查找树(BST) http://www.cnblogs.com/bizhu/archive/2012/08/19/2646328.html
- ASP.NET HTTP模拟提交通用类 GET POST
- httpclient 和 httpurlconnection 中利用gzip传输数据
- 在Xcode7/7.1中使用Http请求