一、Fiddler简介
Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。打开Fiddler的时候,它会自动给你的电脑创建一个系统代理,默认监听端口为8888,作为客户端与服务器之间的桥梁,可以记录客户端和服务器之间的所有请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。
Fiddler在退出的时候会自动关闭代理,如果Fiddler非正常退出会影响到网络无法访问,需要重新启动Fiddler再次关闭就可以继续访问网页了。
二、Fiddler下载及安装
1、Fiddler下载地址:https://www.telerik.com/download/fiddler
2、运行FiddlerSetup.exe
3、安装Fiddler
4、选择安装路径,点击install
5、安装完成
6、进入安装下点击Fiddler.exe
三、Fiddler使用
1、Fiddler页面
2、字段说明
File-->Capture Traffic:是否启动抓包,勾选后左下角显示Capturing则开始抓取,不勾选不抓取
四、web端抓包
1、抓取HTTP协议
打开Fiddler工具,打开任意一个浏览器,输入想要抓取的网址。如:www.baidu.com
查看会话列表,选择其中一个会话,查看请求信息中Inspectors,查看详细数据
2、解析HTTPS加密请求
上图所示,请求左边是一个锁的样式,右边返回内容中提示了“This is a CONNECT tunnel, through which encrypted HTTPS traffic flows"
需要配置Fiddle来解析这些加密的请求,根据第二行那句“enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option.”
点击Actions-->Trust Root Certificate,选择yes就可以了
3、过滤指定请求
点击右侧Filters-->勾选Use Filters
Hosts下面,第一个选项:空间过滤
- No Zone Filter:不通过空间进行过滤,这个是分内网跟外网的
- show only Intranet Hosts: 内网
- show only Internet Hosts: 外网
第二个选项:主机名过滤
- No Host Filter:不通过主机名过滤
- Hide the following Hosts:隐藏不显示下边输入的主机名的请求
- Show only the following Hosts:只显示下边输入的主机名的请求
- Flag the following Hosts:标记下边输入的要过来的主机名的请求,黑色粗体标记
输入框:填写主机名,输入框中多个host时用分号分隔(输入框背景为黄色时,表示输入内容修改未保存)
Actions:要做什么操作,有几个选项:
- Run Filterset now:马上执行过滤
- Load Filterset:加载本地过滤设置文件
- Save Filterset:保存过滤条件
点击Actions,选择Run Filterset now,则过滤出指定host请求,可以Save Filterset 保存一份,以备后续直接导入使用
其它过滤方法
五、Fiddler手机抓包
要通过Fiddler对手机抓包,需要保证Fiddler所在的电脑和手机必须处在同一个局域网内,即连着同一个路由器
win10进入系统设置-->移动热点-->与其他设备共享我的Internet连接,选择开启,让手机连上电脑的热点
Fiddler配置连接信息,Tools-->Options-->Connections,设置代理端口是8888,勾选Allow remote computers to connect,点击ok
在Fiddler中就可以看到本机的无线网卡IP了,也可以cmd-->ipconfig查看
手机端设置电脑的wifi,HTTP代理-->配置代理,改为手动,服务器为上图中的IP,端口是8888
访问网页输入代理IP和端口,下载Fiddler的证书
证书安装完成后,用手机访问应用时,就可以看到抓取到的数据包了