- 官网:https://www.telerik.com/fiddler
-
Jmeter:https://baike.baidu.com/item/Jmeter/3104456?fr=aladdin
- https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
- 教程:https://www.cnblogs.com/youqc/p/9633563.html
- Fiddler增加IP列:https://blog.csdn.net/markinlqx/article/details/79089470
- 命令:https://docs.telerik.com/fiddler/knowledgebase/quickexec
- 视频:https://www.bilibili.com/video/av58454086
一、Fiddler简介
Fiddler是位于客户端和服务器端的HTTP代理,目前最常用的http抓包工具之一,功能非常强大,是web调试的利器
- 监控浏览器所有的 HTTP/HTTPS 流量
- 查看、分析请求内容细节
- 伪造客户端请求和服务器响应
- 测试网站的性能
- 解密 HTTPS 的web会话
- 全局、局部断点功能
- 第三方插件
场景使用场景
- 接口调试、接口测试、线上环境调试、web性能分析
- 判断前后端bug、开发环境 hosts 配置、mock、弱网断网测试
二、Fiddler 原理
Fiddler 打开后就会修改系统代理
三、HTTP请求报文
POST http://test.lemonban.com/ningmengban/mvc/user/login.json HTTP/1.1
Host: test.lemonban.com
Proxy-Connection: keep-alive
Content-Length: 62
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://test.lemonban.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://test.lemonban.com/ningmengban/app/login/login.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
username=17783949166&password=6ebe76c9fb411be97b3b0d48b791a7c9
HTTP请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4部分组成
1. 请求方法(Request Method)
请求方法 | 备注 |
---|---|
GET | 请求资源 |
POST | 提交资源 |
Head | 获取响应头 |
PUT | 替换资源 |
DELETE | 删除资源 |
OPTIONS | 允许客户端查看服务器的性能 |
TRACE | 回显服务器收到的请求,用于测试或诊断 |
2. URL
3. 请求头(Request Header)
四、HTTP响应报文
HTTP/1.1 200 OK
Server: nginx/1.12.0
Date: Sun, 14 Jul 2019 00:48:31 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Proxy-Connection: keep-alive
53
{"success":false,"message":"该手机号没有注册","content":null,"object":null}
0
HTP响应报文主要由状态行、消息报头、空一行、响应正文4部分组成
1. 状态码(Status Code)
- 用以表示网页服务器HTTP响应状态的3位数字代码
2. 响应头(Response Header)
五、Fiddler工具条讲解
工具面板
说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助
两种模式
- 缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常
- 流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。
六、Session List(会话列表)
六、Fiddler 命令行
显示官方文档:help
高亮Body大于某个值的记录:>10000
Fiddler打断点(bpu)
- 全局断点
- 局部断点
- 请求前断电
- 响应后断电
全局断点的设置
还有更简单的方式
断点设置好了我们就可以篡改数据了
局部断点设置
bpu 请求前断点
箭头朝上
注:上面的是 login.js 字打错了
注:login.html也会被打断点,需要让他通过。然后就是上面的页面栏。
bpafter 响应后断点
箭头朝下
取消同理
模拟网络限速、弱网条件
使用默认的条件
手动设置网速
Statistics(统计)
HTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息
注:需要先选择一个链接
Inspectors(检查器)
- Inspectors意思是检查器
- 可以多种方式查看请求的请求报文和响应报文相关信息
AutoResponder(自动响应器)
AutoResponder 可用于栏截某一请求,进行如下操作:
- 重定向到本地的资源
- 使用 Fiddler的内置响应
- 自定义响应
修改返回网页中的图片
复制原始的图片地址:http://test.lemonban.com/ningmengban/images/logo.png
游览器去缓存刷新(shift + F5 ),这张图片就没有了
首先需要抓取这条请求,然后使用鼠标把这条请求直接拖入AutoResponder 内容区即可
Composer 发送请求
当然还可以把抓取的请求拖动到这个里面,然后手动的修改请求
Filters 多维度过滤请求
根据网络范围
根据主机名
根据电脑上的进程
根据请求头信息
条件断点
根据返回的状态码决定
根据响应的内容类型和大小决定
根据响应头信息
HTTPS抓包
- 点击 Tools > Options... > HTTPS
- 勾选 Decrypt HTTPS Traffic
没有安装证书的话,安装即可
谷歌 IE 读取的是系统的证书,我们安装证书后即可使用
导入证书到游览器
重启火狐即可
App 抓包
首先要保证电脑手机在同一个WiFi环境下
Tools
下载这个证书
注意:ipv4 地址是我们前面在 Fiddler 上看到的那个我这个是192.1683.1.5
Fiddler 快捷键
- 删除(选中删除的数据):shift + delete
- 重新发送一次请求(选中发送的数据):R
- 重新发送N次请求:shift + R
- 删除选中的请求:delete
- 删除没有选中的请求:shift + delete
- 删除所有会话:ctrl + X
- 游览器去缓存刷新: shift + F5
Fiddler 单词
raw
adj. 生的;未烹制的;未煮的;未经加工的;自然状态的;未经处理的;未经分析的;原始的
n. 擦伤处
breakpoint
断点
- Fiddler抓包后保存为JMX: https://www.jianshu.com/p/434d62f40ffd
- http 测试:http://test.lemonban.com/ningmengban/app/login/login.html