1、Fiddler简介
- Fiddler是强大的抓包工具之一,它能记录所有客户端和服务器之间的HTTP和HTTPS请求,是web调试的利器。
- Fiddler是位于客户端和服务端之间的HTTP代理,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:
127.0.0.1
,端口默认为8888
,我们也可以通过设置进行修改。 - Fiddler可以抓取支持HTTP代理的任意程序的数据包,如果要抓取https会话,要先安装证书。
说明:
代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;
同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。
2、Fiddler功能
Fiddler可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。
其他功能包括:
- 监控浏览器所有的HTTP/HTTPS流量。
- 查看、分析请求内容细节。
- 伪造客户端请求和服务器响应。
- 测试网站的性能。
- 解密HTTPS的web会话。
- 全局、局部断点功能。
- 可进行第三方插件功能扩展。
3、Fiddler工作原理
(1)先来了解一下B/S架构
- 编写程序部署到web服务器。
- web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理HTTP请求。
- 客户端通过HTTP协议的请求,获取服务器上的网页、文档等资源。
如下图所示:
(2)Fiddler工作原理
Fiddler的工作原理,是它在客户端和服务端之间搭建了一层proxy,所有的请求都会经过它。也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器。反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,所以web客户端和服务器的请求如下图所示:
(3)Fiddler工作原理进阶说明
- 使用Fiddler的话,需要先设置浏览器的代理地址,才可以抓取到浏览器的数据包。
- 而方便的是,在你启动该工具后,它就已经自动帮你设置好浏览器的代理了。当关闭Fiddler后,它又将浏览器代理还原了。
- 当然如果发现没有自动设置浏览器代理的话,那就得自己动手去浏览器进行设置代理操作了,例如火狐浏览器。(可自行百度每个浏览器是如何设置代理的),反正一定要设置相应的代理,否则Fiddler是无法捕获到HTTP请求的。
如下图所示:
进行详细说明:
在Windows系统中,浏览器访问网站时,默认是访问Windows中的系统代理。
而当Fiddler一打开时,就会代替这个系统代理。
在Fiddler点击Tools —> Options... —> Connections选项中
上图说明:
-
Fiddler listens on port
:Fiddler监听的端口是8888。 -
Act as system proxy on startup
:Fiddler在启动时充当系统代理。
注意:
- Google浏览器和IE浏览器默认访问的系统代理,Fiddler 就会自动代替。
- 而火狐浏览器需要自己手动配置。
- Fiddler监听的端口是可以自定义配置的,1024到65535的端口都可以,只要不冲突即可。
(4)以Google浏览器来演示说明
- 打开谷歌浏览器,进入设置页面。
- 点击在左上的的三条横线 —> 高级 —> 系统 —> 点击打开代理设置。
- 在连接选项中点击局域网设置,可以看到左边代理服务器没有勾选。
- 当我们打开Fiddler后,在来查看上面代理服务器的状态,如下:
- 在Fiddler点击Tools —> Options... —> Connections选项
我们可以看到Fiddler端口就是8888。
这说明Fiddler自动配置了浏览器的系统代理。
4、Fiddler安装
(1)Fiddler许可协议
在安装之前,您必须同意此许可。
(2)选择Fiddler安装目录
(3)点击Install
安装
(4)点击Close
完成安装
(5)把Fiddler启动文件配置到桌面
Fiddler安装完成后,在桌面是没有快捷启动方式的,需要到Fiddler的安装目录中,把Fiddler.exe
文件发送到桌面。
(6)打开Fiddler软件
在打开Fiddler时会有一个弹窗,如下图:
可以自行翻译,选择No
即可。