Fiddler 抓包工具 - 全网最全最细教程,没有之一

Fiddler 简介Fiddler 是位于客户端和服务器端的 HTTP 代理
目前最常用的 http 抓包工具之一
功能非常强大 , 是 Web 调试的利器

关注+转发+私信【软件测试】领取Fiddler安装包和配套学习资料
  • 监控浏览器所有的 HTTP/HTTPS 流量
  • 查看、分析请求内容细节
  • 伪造客户端请求和服务器响应
  • 测试网站的性能解密 HTTPS 的 Web 会话
  • 全局、局部断点功能
  • 第三方插件
场景使用场景
  • 接口调试、接口测试、线上环境调试、Web 性能分析
  • 判断前后端 bug、开发环境 hosts 配置、mock、弱网断网测试

Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
B/S 架构编写程序部署到 Web 服务器
Web 服务器运行在服务器上 , 绑定 ip 地址并监听某端口 , 接收和处理 http 请求
客户端通过 http 协议获取服务器上的网页、文档等
Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
工作原理
Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
HTTP
Hyper Text Transfer Protocol(超文本传输协议)
用于从万维网服务器传输超文本到本地浏览器的传送协议
HTTP 协议是基于 TCP 的应用层协议 , 它不关心数据传输的细节 , 主要是用来规定客户端和服务端的数据传输格式 , 最初是用来向客户端传输 html 页面的内容 。默认端口是 80
http 是基于请求与响应模式的、无状态的、应用层的协议

Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
完整的 HTTP 协议完整的 http 协议包含请求和响应两块内容
Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
HTTP 请求报文
HTTP 请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4 部分组成

Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
如下是 fiddler 某个会话的请求报文
Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
请求方法( Request Method) 请求方法
备注
GET
请求资源
POST
提交资源
Head
获取响应头
PUT
替换资源
DELETE
删除资源
OPTIONS
允许客户端查看服务器的性能
TRACE
回显服务器收到的请求 , 用于测试或诊断
URLUniform Resource Locator:统一资源定位符 , 用于描述网上的资源
格式:schema://host[:port#]/path/.../[?query-string]
scheme:协议 , 如 http , https , ftp 等
host:域名或者 IP 地址
port:端口
path:资源路径
query-string:发送的参数
如:https://www.baidu.com/s?wd=柠檬班
请求头(Request Header) 请求头
描述
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 响应报文HTTP 响应报文主要由状态行、消息报头、空一行、响应正文 4 部分组成
Fiddler 抓包工具 - 全网最全最细教程,没有之一

文章插图
 
如下是 fiddler 某个会话的响应报文


推荐阅读