Fiddler简介
- Fiddler是位于客户端可服务端的HTTP代理
- 目前最常用的抓包工具之一
报文
请求报文
请求方法
请求方法 | 备注 |
---|---|
GET | 请求资源 |
POST | 提交资源 |
Head | 获取响应头 |
DELETE | 删除资源 |
PUT | 替换资源 |
OPTIONS | 允许客户端查看服务器的性能 |
TRACE | 回显服务器收到的请求,用于测试或诊断 |
URL
-
Uniform Resource Locator:统一资源定位符
- 用于描述网上的资源
-
格式 : schema : / / host [ :port# ] /path/ …/[ ?query-string]
- scheme:协议,如http,https,ftp等host:域名或者IP地址
- port:端口
- path:资源路径
- query-string:发送的参数
请求头
请求头 | 描述 |
---|---|
Host | 主机ip地址或域名 |
User-Agent | 客户端相关信息,如果操作系统、浏览器等信息 |
Accept | 指定客户端接收信息类型,如: image/jpg,text/html , application/json |
Accept-charset | 客户端接受的字符集,如gb2312、iso-8859-1 |
Accept-Encoding | 可接受的内容编码,如gzip |
Accept-Language | 接受的语言,如Accept-Language : zh-cn |
Authorization | 客户端提供给服务端,进行权限认证的信息 |
cookie | 携带的cookie信息 |
Referer | 当前文档的URL,即从哪个链接过来的 |
content-Type | 请求体内容类型,如content-Type: application/x-www-form-urlencoded |
content-Length | 数据长度 |
cache-control | 缓存机制,如cache-control:no-cache |
Pragma | 防止页面被缓存,和cache-control :no-cache作用一样 |
响应报文
- HTTP响应报文主要由状态行、消息报头、空一行、响应正文4部分组成
状态码
- 用以表示网页服务器HTTP响应状态的3位数字代码
状态码 | 描述 |
---|---|
1XX | 提示信息,请求被成功接收 |
2Xx | 成功,请求被成功处理200 |
3XX | 重定向相关304 |
4Xx | 客户端错误404 |
5XX | 服务器端错误500 |
响应头
响应头 | 描述 |
---|---|
server | HTTF服务器的软件信息 |
Date | 响应报文的时间 |
Expires | 指定锾存过期时间 |
set-cookie | 设置cookie. |
Last-Modified | 资源最后修改时间 |
contont-Type | 响应的类型和字符集,如:content-Type : text /html; charset=utf-8 |
content-Length | 内容长度 |
connecticn | 如lKeep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置 |
Location | 指明重定向的位置。新的URL地址。如304的情况 |
Fiddler工具详解
工具条
快捷键
-
R:重放请求
-
Shift+R:可以设置重放请求次数
-
Shift+delete:删除选中之外的请求
-
Ctrl +x:删除所有请求
命令行+状态栏
AutoResponder (自动响应器)
- AutoResponder可用于拦截某一请求,进行如下操作:
- 重定向到本地资源
- 使用Fiddler的内置响应
- 自定义响应
断点
全局断点
- 在Fiddler菜单Rules>>Automatic Breakpoints>>Disabled在response请求之前和之后都进行打断点处理。
局部断点
-
bpu +要截断的请求中含有的名字 (需要中断的url)
-
设置单个断点:bpu+网址
取消单个断点:pbu+回车
响应后设置断点:bpafter
取消断点:bpafter 回车就可以了
弱网测试
- Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度
-
手动设置设置上行,下行速率,模拟网路速度的原理,每上传/下载1KB 要delay 多久…
-
查找代码如下:
请注意,当你存档之后,原本已经勾选的SimulateModem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔!
手机抓包
ios抓包
- 点击Tools > Fiddler Options > connections.勾选Allow renote comput.ers to connect. .
- 重启Fiddler
- 确保防火墙允许Fiddler进程可以远程连接ios设备连接wiFi
- 确保ios设备可以访问到http: //FiddlerMachineIP:8888 ,该地址会返回Fiddler Echo service页面
- 在ios设备打开浏览器,访问http: //ipv4 : 8888/
- 点击Fiddler Echo service页面底部FiddlerRoot certificate下载证书
- 打开FiddlerRoot.cer文件并安装
- 安装成功后,在通用>关于本机 >证书信任设置中,信任刚安装的Fiddlcr证书
安卓抓包
-
以小米9为例,打开设置> WLAN>连接上的WLAN设置
-
点击代理>手动,设置主机名为Fiddler所在主机的IP,端口为Fiddler监听端口
-
打开Android设备浏览器,访问http : // ipv4 : 888 /点击页面底部FiddlerRoot certificate下载证书
-
打开设置>更多设置>系统安全>加密与凭拊>从存储设备安装选择下载好的r’idilerRooL.cer进行安装
-
浏览器打开https : //www . baidu . com,已经可以抓取HTTPs包了
注意:测试完毕,记得关团代理,否则手机无法上网