Fiddler工具的使用:抓包教程(IOS+Android)及模拟弱网环境
Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具,是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等功能。
本文主要讲解如何使用Fiddler在Windows系统下抓取IOS+Android系统手机应用软件服务端的数据(HTTP协议)及如何使用Fiddler模拟弱网环境。
一、Fiddler下载地址
官网下载:https://www.telerik.com/fiddler/fiddler-classic
上图标注为Fiddler经典版,下载此版本即可。
二、HTTP协议抓包教程(IOS+Android)
(一)查看本机IP地址
下载并安装完成后,打开Fiddler工具,将鼠标移至导航栏右上角的Online图标上就会显示本机ip地址。(或者在Windows系统下,使用快捷键win+R 调出运行然后输入cmd打开命令行终端窗口,输入ipconfig, 找到其中的IPv4地址即为本机的ip地址)
(二)Fiddler的配置
1、设置远程连接权限与配置端口号
在顶部菜单栏,依次点击Tools——Options——Connections,
端口号可以自定义,也可使用默认值(建议修改,使用默认端口容易与其他配置冲突);完成端口号的配置后,必须勾选Allow remote computers to connect(允许远程计算机连接)。
2、手机设置网络代理
注:Android系统手机与IOS系统手机设置网络代理的方法基本一致,当前以IOS系统手机为例讲解。
在设置手机的网络代理之前,请务必保持需抓包的手机与Fiddler在同一局域网下(注意需要区分5G网络)。
(1)打开设置,进入到“无线局域网”页面;
(2)点击这个无线网络的名称或名称后方的感叹号图标,进入到网络信息页面,划动至页面底部;
(3)找到HTTP代理,点击“配置代理”,进入到“配置代理”页面;
点击“手动”选项,输入当前计算机的ip地址和配置好的端口号;点击储存按钮,IOS系统手机的网络代理就配置完成啦,可以抓取HTTP协议的包。
三、模拟弱网环境
在测试工作中,经常会遇到一些用户反馈一些无法简单复现的bug,有部分bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,而服务在面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。
使用Fiddler工具可在本地模拟这种弱网环境来进行bug的复现及修复。
(一)设置弱网参数值
点击Rules下的Customize Rules(自定义规则),
进入到Fiddler ScriptEditor页面,查找使用Ctrl+F快捷键查找m_SimulateModem,如下图所示,
该标志位控制着oSession的两个参数值的设置,当勾选了Simulate Modem Speeds时,request-trickle-delay与response-trickle-delay就会被设置,其中request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒,response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒。
示例如下:
- 如果是发送请求延迟,修改代码,例如:
- oSession["request-trickle-delay"] = "3000";
- 保存后就模拟了请求发送延迟3秒了(上传速度1Kb/3000ms)
- 如果是响应延迟,修改代码,例如:
- oSession["response-trickle-delay"] = "3000";
- 保存后就模拟了响应延迟3秒了(下载速度1KB/3000ms)
(二)启用弱网模式
完成上述步骤的弱网参数值配置后,需要开启弱网模式。
在顶部菜单栏,依次点击Rules——Performances——Simulate Modem Speeds,即可开启弱网模式;重复此操作则可关闭弱网模式。