一、Fiddler是什么?
Fiddler 是位于客户端和服务器端的 HTTP 代理,目前最常用的 http 抓包工具之一,功能非常强大,是 Web 调试的利器。是开发人员和测试人员常用的工具。 Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信。当你启动了 Fiddler,正确地截取了 Web 请求。 下面是 Fiddler 的工作原理示意图:
二、为什么用Fiddler?
debug开发人员和测试人员必会的技能。
- 由于开发周期短,页面构建完成后,开发肯定是在加班加点做完,谁敢保证不是问题一大堆。遇到问题就需要排查请求过程。
- 项目测试期间或者上线后,必然会有很多离奇,甚至可以说是灵异的 BUG,是开发期间在无法预期的。有的 BUG 需要查看一些请求过程,这时候需要用到抓包工具。
- Fiddler 是一个 HTTP 调试代理,它能够记录所有的你电脑和互联网之间的 HTTP 通讯,Fiddler 也可以让你检查所有的 HTTP 通讯,设置断点,以及修改所有的“进出”的数据(指 Cookie/HTML/JS/CSS 等文件,这些都可以让任意修改)。
三、Fiddler怎么用?
1.电脑端设置
手机上的许多应用程序涉及个人信息,并使用安全的HTTPS进行加密。缺省情况下,Fiddler只捕获HTTP会话,而不捕获HTTPS数据包。导致打开fiddler后无法打开HTTPS网页。因此,要在手机上抓取程序,我们需要先在Fiddler上设置HTTPS数据包抓取。 设置:
- 打开工具(tools)->选择项(Options)->HTTPS
- 勾选上捕获 HTTPS 连接(Capture HTTPS CONNECTs)和 HTTPS 请求解密(Decrypt HTTPS traffic),另外两个选项也建议一起勾选,点击“确定”
- 重启后生效
2.Fiddler代理设置:
要捕获手机上的请求数据,您需要将手机连接到Fiddler代理,Fiddler代理在默认情况下不允许其他设备连接的。 设置:
- 打开工具(tools)->选择项(Options)->连接(Connections)
- 设置监听的端口号,可以任意自己设置一个。允许远程计算机连接,在弹出的提示中点击“确定”,其他剩余两个(使用客户端连接和重用服务器连接)也默认勾选。
- 重启后生效
3.查询装了Fiddler工具电脑的ip地址,ip地址可通诺cmd命令行,输入ipconfig查询
4.手机端设置
(1) 手机和装Fiddler的在同一局域网,我们设置的9999的端口,电脑能ping通手机。 最好是笔记本电脑和手机连同一WiFi很方便,我这里是使用笔记本开热点,手机连接笔记本热点。 (2) 手机连接和笔记本同一局域网后,设置手机的代理,输入代理的主机ip和端口号 例如:我的笔记本ip是 10.10.10.10 ,Fiddler设置的端口是9999
(3) 修改后打开手机自带浏览器 输入地址 10.10.10.10:9999 获取到安装证书页
手机安装Fiddler证书
点击fiddlerboot certificate,会自动下载安全证书。点击证书安装。
注:遇到证书无法安装的,可以去设置->WLAN->高级设置-安装证书
也可以全局搜索文件 FiddlerRoot.cer文件,并安装。
Fiddler上设置对应的过滤器(Filters),然后在手机上进行操作,Fiddler会话列表就会抓取对应请求,如下图所示:
以上设置完毕后,就可以正常抓包了,双击抓到的链接就可以看详细请求信息。