Fiddler入门


一、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抓包

  1. 点击 Tools > Options... >  HTTPS
  2. 勾选 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
断点

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值