windows抓包工具——Fiddler配置及使用、手机抓包(iPhone、安卓)

7,552 阅读6分钟

传送门:

Mac抓包工具—— Charles相关总结

【承上篇】Charles(翻到了自己总结的笔记,算是上个的延展版吧)

Chrome代理切换插件——Proxy SwitchyOmega


一、windows抓包工具fiddler下载安装;

二、fiddler使用: (1)、开启/关闭抓包功能;

(2)、设置允许抓取https流量,不然会报如下错误;

(3)、设置端口号;

(4)、浏览器设置代理服务器;

三、fiddler手机抓包:

(1)、允许远程的客户端进行连接;

(2)、设置过滤;

(3)、iphone抓包;

(4)、安卓抓包;

四、fiddler工具栏及抓包内容字段说明:

(1)、快捷功能区;

(2)、接着来看看会话列表;

(3)、#栏图标说明;

五、可能的报错及解决:

1、由于目标计算机积极拒绝,无法连接。 127.0.0.1:5021

2、No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?


一、windows抓包工具fiddler下载安装:

官网:www.telerik.com/download/fi…,填写信息下载:

在这里插入图片描述

快捷下载地址:Fiddler2.zip

在这里插入图片描述
在这里插入图片描述



二、fiddler使用:

(1)、开启/关闭抓包功能:

Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。


(2)、设置允许抓取https流量,不然会报如下错误:

No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?

解决办法: 需要设置解密HTTPS的网络数据。

Tools——>Telerik Fiddler Options——>HTTPS——>勾选Decrypt HTTPS traffic:

在这里插入图片描述

这个就是允许抓取 https 的流量。如果第一次使用,勾选之后会提示你安装一个证书,这个证书就是用来做中间人进行抓包的, Fiddler使用此证书来解密所捕捉到的包,再加密转发到相对应的服务器端或者客户端。

在这里插入图片描述

如果没有弹出让安装证书的弹框,也可以点击右上角的 Action 按钮的第一个选项也是可以弹出此个窗口的:

在这里插入图片描述

一步步进行即可:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后可以看到https的请求抓取成功:

在这里插入图片描述


(3)、设置端口号:

Tools——>Tellers Fiddler Options——>Connections——>修改端口号,默认亦可。

Allow remote computers to connect 是允许远程的客户端进行连接,如果抓取手机端的需要勾选。

在这里插入图片描述
在这里插入图片描述


(4)、浏览器设置代理服务器:

Fiddler 的设置完了,这时候还需要在你的浏览器上设置代理服务器才能进行抓取。使用 Chrome 浏览器的可以直接使用 SwitchyOmega 插件进行修改即可,操作简单。

SwitchyPmega下载使用参考下面这篇文章:Chrome代理切换插件——Proxy SwitchyOmega

下载之后,配置,新建情景模式—>填写名称—>新建:

在这里插入图片描述

填写代理协议、ip、端口(代理服务器为本机,端口号为上面在 Fiddler 设置的端口号),填写完在左下角点应用选项才算设置完毕。

在这里插入图片描述
设置完之后再在浏览器插件处点击该插件,然后选择该模式即可开始抓包。
在这里插入图片描述

设置之后,如果提示没网,关闭Fiddler重新打开即可:

在这里插入图片描述



三、fiddler手机抓包:

(1)、允许远程的客户端进行连接:

Tools——>Tellers Fiddler Options——>Connections——>勾选Allow remote computers to connect

在这里插入图片描述

(2)、设置过滤:

手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

Tools—>Telerik Fiddler Options—>HTTPS—>…from remote clients only,选择这个选项就可以了

from all processes :抓所有的请求 from browsers only :只抓浏览器的请求 from non-browsers only :只抓非浏览器的请求 from remote clients only:只抓远程客户端请求

在这里插入图片描述


(3)、iphone抓包:

打开无线局域网,与PC连接统一网段,点击所连接网络后面的叹号:

在这里插入图片描述

滑到最底下,HTTP代理,点击配置代理:

在这里插入图片描述

选择手动:

在这里插入图片描述

配置代理,输入电脑的ip、fiddler中设置的端口号,存储:

在这里插入图片描述

查看电脑ip:

win+R,调出cmd窗口:

在这里插入图片描述

回车:

在这里插入图片描述
输入ipconfig:

ipconfig

IPv4地址即为本机ip:

在这里插入图片描述

浏览器输入:ip:端口下载证书,如:192.168.2.64:6598

在这里插入图片描述

点击最后一行FiddlerRoot certificate下载证书,按照步骤安装即可:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

设置完毕之后,即可对手机进行抓包:

在这里插入图片描述

(4)、安卓抓包(流程同iPhone,不同手机操作有些不一样,以华为为例,见截图):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

浏览器输入:ip:端口下载证书,如:192.168.2.64:6598

在这里插入图片描述

如果出现如下情况,见“二(2)”:

在这里插入图片描述
在这里插入图片描述

下载安装完成之后,即可开始进行抓包。



四、fiddler工具栏及抓包内容字段说明:

挑几个快捷功能区中常用几项解释,其他功能自己尝试:

在这里插入图片描述
(1)、快捷功能区: 1:给会话添加备注信息 2:重新加载当前会话 3:删除会话选项 4:放行,和断点对应,后面详细讲解 5:响应模式。也即是,当Fiddler拿到远程的response后是缓存起来一次响应给客户端还是以stream的方式直接响应。 6:解码。有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码。 7:查找会话。 8:保存会话。 9:截屏。截屏后,会以会话的方式返回一个截图。

(2)接着来看看会话列表:

在这里插入图片描述
在这里插入图片描述

(3)、#栏图标说明:

在这里插入图片描述



五、可能的报错及解决:

1、由于目标计算机积极拒绝,无法连接。 127.0.0.1:5021(重点是5021并不是我设置的端口号)

(浏览器中看):

[Fiddler] The connection to '127.0.0.1' failed. Error: ConnectionRefused (0x274d). System.Net.Sockets.SocketException 由于目标计算机积极拒绝,无法连接。 127.0.0.1:5021

在这里插入图片描述

(在fiddler中看): [Fiddler] The connection to '127.0.0.1' failed.
Error: ConnectionRefused (0x274d).
System.Net.Sockets.SocketException 由于目标计算机积极拒绝,无法连接。 127.0.0.1:5021

在这里插入图片描述

解决(网上搜罗的解决方案1、2,无果;尝试3、4,成功): (1)、将IPv6勾选取消,点击ok:

在这里插入图片描述

(2)、将C:\Windows\System32\Drivers\etc路径下hosts文件中,127.0.0.1 localhost前面的注释去掉:

在这里插入图片描述

(3)、以上两种都无效,无奈又原封改了回去。 我设置的端口是6598,根本不是这个5021,那就设成5021试试看吧,设置完,好了呀,不报错了:

在这里插入图片描述

(4)、但是,还是感觉怪怪的,这个解决方案也不对。出现这个错误的前提是,我没进行上面“二(4)、浏览器设置代理服务器”的操作,后来浏览器设置了之后,这个问题就不存在了,姑且认为解决了。


2、No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?

解决:需要设置解密HTTPS的网络数据。 上面“二(2)设置允许抓取https流量”有提到,再列一下:

Tools——>Telerik Fiddler Options——>HTTPS——>勾选Decrypt HTTPS traffic:

在这里插入图片描述

这个就是允许抓取 https 的流量。如果第一次使用,勾选之后会提示你安装一个证书,这个证书就是用来做中间人进行抓包的, Fiddler使用此证书来解密所捕捉到的包,再加密转发到相对应的服务器端或者客户端。

在这里插入图片描述

如果没有弹出让安装证书的弹框,也可以点击右上角的 Action 按钮的第一个选项也是可以弹出此个窗口的:

在这里插入图片描述

一步步进行即可:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不再报错:

在这里插入图片描述


参考:

抓包软件Fiddler了解一下? baijiahao.baidu.com/s?id=162866…

fiddler配置及使用教程 www.cnblogs.com/woaixuexi99…

Fiddler抓包工具总结 www.cnblogs.com/yyhh/p/5140…