一、准备
✎ 原理
同《win10下Charles的使用 学习笔记》
✎ https通信过程

CA证书
CA是Certificate Authority的缩写,也叫"证书授权中心"。它是负责管理和签发证书的第三方机构,作用是检查证书持有者身份的合法性,并签发证书,以防证书被伪造或篡改。CA 证书就是CA颁发的证书,也就我们常说的数字证书,包含证书拥有者的身份信息,CA机构的签名,公钥和私钥。身份信息用于证明证书持有者的身份;CA签名用于保证身份的真实性;公钥和私钥用于通信过程中加解密,从而保证通讯信息的安全性。
▶ 常用快捷键
F12:停止或者开启抓包
Ctrl+X:清屏
Ctrl+F:查找
▶ 会话图标的含义

▶ 查看ip和端口号


二、抓包
✎ PC
❀ 英文版



底部工具栏Capturing点击抓取或暂停、All Processes点击选择抓取类型
✿ 中文版



About Firefox ~


✎ Andriod
① 配置代理

② 下载证书、安装证书
http://ip地址:端口号

✎ IOS
① 配置代理

② 下载证书、安装证书
http://ip地址:端口号
③ 证书信任设置*(与安卓的区别)
✄ 疑难杂症集合:
1.手机设置代理后电脑断网?
❶ 重启fiddler/重启电脑(优先尝试)
❷ 防火墙问题:
①防火墙入站规则配置


中间省略,都选"下一步"


②关闭防火墙,增加8888端口监听


//add for phone to connect pc
if(oSession.host.toLowerCase() == "webserver:8888"){
oSession.host = "webserver:80";
}


位置:计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Fiddler2
右键→新建→QWORD(64位)值(Q)

③防火墙允许fiddler通过



❸ 证书问题:重新安装证书


❹ 检查ip地址/端口被占用
❺ 检查电脑代理设置

2.手机设置代理后手机断网?
❶重启手机
❷更换手机浏览器重新下载安装证书
三、过滤器(Filters)
❀ 英文版


REGEX:(?insx)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav)(\?.*)?$
"Hide if url contains"过滤项:REGEX表示启用正则表达式(?insx) 设置正则解释的规则,忽略大小写等。图中表达式表示过滤掉 url 中包括 css、ico、jpg 等后缀的请求。
前缀为"REGEX:"表示使用正则表达式匹配:
.+ 匹配一个或多个字符,如regex:.+jpg 包含有jpg字符串且以jpg字符串结尾的,即可匹配
.* 匹配0个或多个字符,如regex:.+.jpg.*包含有.jpg字符串即可匹配
^ 匹配字符串开始位置
$ 匹配字符串结束位置,如regex:.+.(jpg|gif|bmp)包含以jpg或gif或bmp字符串结尾的,即可匹配如regex:(?insx).+.(jpg∣gif∣bmp)包含以jpg或gif或bmp字符串结尾的,即可匹配 如regex:(?insx).+.(jpg|gif|bmp)包含以jpg或gif或bmp字符串结尾的,即可匹配如regex:(?insx).+.(jpg∣gif∣bmp) 包含以jpg或gif或bmp字符串结尾的,不区分大小写,且是单行的,即可匹配
前缀为"REGEX:(?insx)"表示匹配方式其中:
i表示不区分大小写;
n表示指定的唯一有效的捕获是显式命名或编号的形式;
s表示单行模式;
x表示空格说明的;
"Show Only The Following Hosts"只显示过滤到的域名:如只监控瓴氪,在下面的输入框里填上linkr.36kr.com; 。
设置完毕后点击Run Filterset now过滤器设置才会生效。

✿ 中文版


四、断点(Breakpoints)
(该方法一旦设置断点,会对所有请求生效。特定地址设置断点方法 请看后面的"八、QuickExec执行命令")
❀ 英文版
Before Requests:fiddler捕获这个请求,但尚未发送到服务器端时设置的断点。篡改请求参数用。


After Responses:fiddler接收到这个响应,但尚未将其传动给浏览器端时设置的断点。篡改响应数据用。



Before Requests:在请求前设置断点
After Responses:在响应后设置断点
Disabled:取消所有断点

工具底部状态栏中如图所示的区块,点击一次是Before Requests模式,再点击一次是After Responses模式,再点击第三次可清除断点。

点击"Run to Completion"后可放行
修改响应消息:
①单击被拦截的会话
②在右侧响应体面板点击"Response body is encoded.Click to decode."进行解码
③选择"TextView"选项卡,自定义响应内容
④编辑完成后点击"Run to Completion"
⑤回到浏览器可查看结果
✿ 中文版

五、自动响应器(AutoResponder)
❀ 英文版



EXACT开头:表示完全匹配
REGEX开头:表示用正则表达式来匹配
StringToMatch:字符串匹配
无前缀表示基本搜索,表示搜索到字符串就匹配
✿ 中文版

=============================================================
六、弱网测试
弱网:信号差、网速慢。2G、3G均可定义为弱网。
❀ 英文版



判断m_SimulateModem是否为true(是否开启),也就是是否设置了弱网模式
oSession["request-trickle-delay"] = "300";Delay sends by 300ms per KB uploaded:上传1KB内容需要300ms,转化一下上传速度:1Kb/0.3s = 3.3KB/s,也就是说网络上行速度只有3.3KB。
oSession["response-trickle-delay"] = "150";Delay receives by 150ms per KB downloaded:下载1KB内容需要150ms,转化后的下载速度:1KB/0.15s=6.6KB/s,也就是说网络下载速度只有6.6KB。
限制上传的速度,调整oSession["response-trickle-delay"]的值即可
实验室理论网速:
2G理论网速是150Kbps,折合下载速度15-20K/s
3G理论网速为1-6Mbps,折合下载速度120K/s-600K/s
(4G理论网速为10-100Mbps,折合下载速度1.5M/s-10M/s)
✿ 中文版


=============================================================
七、脚本录制
(意图:将fiddler抓取的请求,导出为jmx格式,方便jmeter直接调用)
①下载插件JmeterExport(ddl文件和pdb文件),放入到Fiddler安装目录的ImportExport目录下

②重新启动Fiddler
③File→Export Sessions→All Sessions



八、QuickExec执行命令

常见命令:
cls:快速清空所有请求会话列表。
select html:快速选择会话列表中所有返回类型为HTML请求。
select json:类似。
select javascript:类似。
?关键字:在请求会话中寻找特定的关键字内容。
?code=utf-8:类似。查找所有包含关键字"code=utf-8"的请求。
bpafter www.example.com:对特定地址的响应消息进行断点。
bafter:取消该响应消息的断点。
bpu www.example.com:对特定地址的请求消息进行断点。
bpu:取消该请求消息的断点。