Fiddler介绍:Fiddler是强大的抓包工具,以将网络传输发送与接收的数据包进行截获、重发、编辑等操作。也可以用来检测流量。它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书。
代理含义:就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。
下载地址:https://www.telerik.com/fiddler,默认安装即可
设置Capture Traffic
要使用Fiddler进行抓包,首先需要确保Capture Traffic是开启的(安装后是默认开启的),勾选File->Capture Traffic,也可以直接点击Fiddler界面左下角的图标开启和关闭抓包。
配置条件
打开Fiddler Tool->Fiddler Options->HTTPS (配置完后记得要重启Fiddler)
*选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来。
选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求,第一次会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate(如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选上)
查看一下证书,Actions—>open windows certificate Manager
已添加成功啦
手机端抓包配置
fiddler监听端口默认是 8888,你可以把它设置成任何你想要的端口。
手机端代理配置
查看电脑的 IP 地址,确保手机和电脑在同一个局域网内
在手机上安装 Fiddler 代理服务器的证书:打开safari(或其他浏览器),在地址栏中输入代理服务器的 IP 和端口(即电脑的IP加fiddler的端口),会看到一个Fiddler 提供的页面,点击FiddilerRoot certificate下载
去设置-通用安装该证书,然后在当前连接wifi里,手动配置代理如下图
基本完成。
Fiddler的使用
SHITUBUFEN
详解如下图
图标含义
菜单栏含义
1:给会话添加备注信息
2:重新加载当前会话
3:删除会话选项
4:放行,和断点对应,后面详细讲解
5:响应模式。也即是,当Fiddler拿到远程的response后是缓存起来一次响应给客户端还是以stream的方式直接响应。
6:解码。有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码。
7:查找会话。
8:保存会话。
9:截屏。截屏后,会以会话的方式返回一个截图。
*快捷键补充:删除一条会话,可以在选中会话后,按del删除,如若要清空列表,可以用Ctrl+X
Statistics 请求的性能数据分析
Inspectors性能数据分析
上半部分请求内容,下半部分响应内容
AutoResponder 允许拦截指定规则的请求
通过Add Rules设置拦截规则,并返回本地资源或Fiddler资源,从而代替服务器响应
里面还涉及到匹配和重定向,大家可以慢慢研究哦
Composer 自定义请求发送服务器
Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求,Parsed模式下你只需要提供简单的URLS地址,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent
Filters 请求过滤规则
当你只想抓取需要的请求时,它就派上很大的用处了
*baidu.com表示所有的百度二级域名会话;*baidu.com表示一级域名+二级域名的会话。设置好了后一定要点击Actions生效
Hide if URL contains 可过滤各种图片、css、js
Fiddler 内置命令
FIddler断点功能就是将请求截获下来,但是不发送,有很多种情况,大家可以自行尝试下,示例
取了一位大佬整理的数据
断点了解一下
断点可以直接点击Fiddler下图的图标位置,就可以设置全部请求的断点,断点的命令可以精确设置需要截获那些请求
*点击一下截获全部请求,再点击一下截获全部请求响应,再点击一下解除断点设置
举个栗子 beafter
在刚设置的断点处,再次重新输入beafter,解除断点。