Fiddler系列课程笔记

  1. Fiddler简介
    客户端和服务端的HTTP代理
    功能(Web调试利器):
    监控浏览器HTTP/HTTPS流量;
    查看、分析请求内容细节;
    伪造客户端请求和服务器响应;
    测试网站性能;
    解密HTTPS的web会话;
    全局、局部断点功能;
    第三方插件;
    应用场景:接口调试、接口测试、线上环境调试、web性能分析、app弱网测试

  2. B/S架构


    B/S架构原理图

URL格式(统一资源定位符):scheme://host[:port #]/path/.../[?query-string]
scheme:协议,如http,https,ftp等
host:域名orIP地址
port:端口
path:资源路径
query-string:发送的参数

eg:https://www.baidu.com/s?wd=柠檬班

  1. Fiddler原理


    Fiddler原理图

    系统代理

  2. HTTP协议
    Hyper Text Transfer Protocol 超文本传输协议,用于从万维网服务器传输超文本资源到本地浏览器的传送协议,用来规定客户端和服务端的数据传输格式,默认端口是80


    HTTP请求&响应模式

请求报文:

  • 请求行:请求方法 空格 URL 空格 协议版本 回车符
    eg: GET http://test.lemonban.com/ningmengban/app/login/login.html HTTP/1.1
  • 请求头:
  • 空行
  • [请求体]:

响应报文:

  • 状态行/响应行:协议版本 空格 状态码 空格 状态码描述 回车符
    eg: HTTP/1.1 200 OK
  • 响应头:
  • 空行
  • [响应正文/响应体]:

请求方法:
GET 请求资源
POST 提交资源
HEAD 获取响应头
PUT 替换资源
DELETE 删除资源
OPTIONS 允许客户端查看服务器的性能
TRACE 回显服务器收到的请求,用于测试或诊断

请求头:
常用请求头

响应头:


常用响应头

状态码:
1XX 提示信息,请求被成功接收
2XX 成功,请求被成功处理 200
3XX 重定向类 304
4XX 客户端错误 404
5XX 服务端错误 500

  1. Fiddler软件简介


    Fiddler界面组成

Replay/重放请求:点击Replay 同时按住shift键,选择重放次数。 快捷键R(重复1次)

Shift+delete:删除除了选中的抓包;
WinConfig:配置windows的应用程序;
Go:断点操作相关;
命令行 空白处点击一次:请求前断点;
Stream:流模式
Shift+F5:去缓存刷新
Ctrl+X:删除所有会话
Decode:解码
Keep All sessions:保持会话设置
Amy process :选择被抓包/监听的程序(单一程序)
Ctrl+F:查找会话
Save:保存后缀saz文件,可以作为附件发送给开发。
Clear Cache:删除缓存
TextWizard:编码/解码工具
Online:本机的在线信息,主机IP

  1. Fiddler抓包实战
    6.1 Session List会话列表/监控面板
    Fiddler抓取到的每条http请求(每一条称为一个session)
    主要包含了请求的ID(图标为请求类型)、Result(状态码)、Protocol(协议)、Host(主机名称)、URL(资源路径)、Body(请求内容多少字节)、Caching(缓存)、Content-Type(返回内容的类型)、Process(进程)、Comments(添加备注)、Custom(自定义)

6.2 Fiddler-状态栏与Quick Exec
Quick Exec:
help 命令行帮助文件
bpu XXX,断点设置
?sometext (高亮XX会话)

size 筛选大于XX字节的会话

Capturing:正在捕获会话,单击切换fiddler代理设置
All Processes:进程筛选
空白处:单击一次请求前断点,点击2次请求后断点;第三下单击取消断点;

6.3 Fiddler-Statistics统计分析
HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息(前端开发人员关注比较多)

6.4 Fiddler-Inspector检查器
以不同形式显示请求/响应报文的相关信息:Headers, TextView, SyntaxView, WebForms, HexView, Auth, Cookies, Raw, JSON, XML,ImageView,Trnasformer,Catching

6.5 AutoResponder自动响应器
AutoResponder可用于某一请求,进行如下操作:
重定向到本地的资源
使用Fiddler的内置响应
自定义响应

6.6 Fiddler-Composer设计器
设计请求报文,发包工具。
启发:接口测试里发现一些黑盒测试不到的问题。

Scratchpad:三击三下

6.7 Fiddler-Filter过滤器
Host主机过滤: Intranet Hosts局域网; Internet Hosts 广域网

Client Process进程过滤
Show only traffic from:

Request Headers 请求头过滤
Show only if URL contains:

Breakpoints断点过滤
Break request on POST
Break response on Content-Type:

Response Status Code 返回码过滤

Response Type and Size
根据响应类型和响应大小过滤

Response Headers 响应头过滤

6.8 Fiddler-断点应用
全局断点:Rules->Automatic Breankpoints -> Before Requests/ After Response/Disabled(失效)
特点:把所有的请求进行断点
局部断点:命令完成,bpu XXX(请求前断点),再次输入bpu 取消断点;bpuafter XXX(响应后断点)

应用:极端测试/模拟网络中断
6.9 Fiddler-弱网测试
Rules->Performance->Simulate Modem Speeds

Rules->Customize Rules->搜索'm_SimulateModem' -> 改变‘300’ 为更大值(1kb延迟300ms)、‘150’(1kb延迟150ms)为更大值;然后关闭Fiddler,重启, Rules->Performance-> 勾选 Simulate Modem Speeds,才会生效。

1000ms=1s

6.10 设置Fiddler捕获HTTPS流量


HTTPS抓包

还不行,Tools->Options->HTTPS->点击Actions -> Reset All certificates(安装证书)

HTTPS:Http+SSL+TLS加密

6.11 捕获Firefox HTTPS流量
系统代理设置(127.0.0.1,端口8888)
Fiddler证书下载
火狐导入证书

6.12 Android App抓包详解


安卓设备抓包设置

6.13 ISO App抓包详解


IOS抓包
安装证书解密HTTPS

6.14 Fiddler-Willow插件安装
WillowsSetup 安装包

6.15 Fiddler-Willow插件的使用
以项目/project的方式管理规则:
管理主机/自动响应规则

你可能感兴趣的:(Fiddler系列课程笔记)