零基础玩转Fiddler抓包在测试领域应用实战!
各位做测试的同学想必对抓包工具fiddler并不陌生,但是很多同学可能没有总结过它的用法,下面我总结了fiddler一些常用的用法。
Web端抓包配置
打开Fiddler,Tools -> Fiddler Options -> HTTPS
配置完后记得要重启Fiddler
选中Decrpt HTTPS traffic, Fiddler就可以截获HTTPS请求
第一次会弹出证书安装提示,若没有弹出提示,勾选Actions -> Trust Root Certificate
如果要监听的程序访问的HTTPS站点使用的是不可信的证书,把下面的Ignore server certificate errors勾选上
证书安装提示
点击Yes,留意一下红框里面的内容,DO_NOT_TRUST_FiddlerRoot这个就是证书的名称
点击 是
点击确定,这样Fiddler证书就已经添加成功了
查看证书,Actions -> open windows certificate Manager
证书已经添加进去了,证书名称就是之前提醒大家留意的DO_NOT_TRUST_FiddlerRoot
手机端抓包配置
Fiddler监听端口默认是 8888,你可以把它设置成任何你想要的端口
勾选Allow remote computers to connect,允许远程设备连接;为了减少干扰,可以去掉Act as system proxy on startup
手机端(客户端)设置,先查看电脑的 IP 地址,确保手机和电脑在同一个局域网内
Android 手机上的配置
将 Fiddler 代理服务器的证书导到手机上才能抓这些 APP 的包
导入的过程
打开手机浏览器,在地址栏中输入代理服务器的 IP 和端口(即电脑的IP加Fiddler的端口),会看到一个Fiddler 提供的页面,然后确定安装就好了
打开 WiFi 设置页面,选择要连接的 wifi ,并且长按,在弹出的对话框中,选择“修改网络”
在接下来弹出的对话框中,勾选“显示高级选项”。在接下来显示的页面中,点击“代理”,选择“手动”
代理服务器主机名设为 PC 的 IP ,代理服务器端口设为 Fiddler 上配置的端口 8888,点”保存”
只抓取手机包
点下图位置,空白就是只抓取手机包
Fiddler的使用
视图功能区域
会话的概念:一次请求和一次响应就是一个会话
Fiddler主界面
快捷功能区
快捷功能区中常用几项解释
1、给会话添加备注信息
2、重新加载当前会话
3、删除会话选项
4、放行,和断点对应,后面详细讲解
5、响应模式。当Fiddler拿到远程的response后是缓存起来是一次响应给客户端还是以stream的方式直接响应
6、解码。有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码
7、查找会话
8、保存会话
9、截屏。截屏后,会以会话的方式返回一个截图
主界面图标
APP弱网测试
修改参数模拟网速
利用Fiddler通过代理连接上手机之后,进入Fiddler -> Rules -> Customize Rules,点击弹出的CustomRules.js文件,找到m_SimulateModem
确定设定的参数
设置完之后,再勾选Rules -> Performances -> Simulate Modem Speeds(注意停掉PC与手机上面上网的应用;把PC与手机上面上网的进程杀掉,如果上网的应用太多了,那网速肯定也会受到影响,这样出来的报告,就会不准确)
进行抓包
点击抓包数据中的一条记录,在右侧的Statistics中就会显示当前界面相应数据
Bytes Sent 是指发送的请求数,Bytes Received:返回的数据量,Overall Elapsed:总耗时
Fiddler过滤
在Fiddler主界面点击右侧的Filter,进入过滤设置页面
默认情况下,这个页面是灰色的,代表默认不过滤任何请求,现在我们勾选 Use Filters
一般常用的有三种过滤条件
域名过滤
只显示特定域名的记录,最后点击右上角Actions -> Run Filterset now应用
.baidu.com表示所有的百度二级域名会话;baidu.com表示一级域名+二级域名的会话。设置好了后一定要点击Actions生效
类型过滤
一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉
.*.(bmp|css|js|gif|ico|jp?g|png|swf|woff)
根据返回状态码
比如只想显示200的状态,其他的不显示
过虑的目的是将多余的网页请求和手机的其他链接影响到我们要抓起的数据;所以我们需要排除其他无用的包,只关注我们指定的域名的请求包