Fiddler是最常用的抓包工具,它能记录所有服务器和客户端的HTTP及HTTPS请求。下面将简单介绍Fiddler的使用。
一、原理
Fiddler是做为Web服务器的代理进行工作,代理地址为:127.0.0.1 端口为8888.当退出Fiddler的时候,它会自动注销,不会影响程序。如果Fiddler异常退出,可能会导致网页无法访问,这样只需要重启Fiddler即可解决。
简单来说即,当客户端发出请求的时候,会先经过Fiddler,然后再到达服务器;当服务器做出响应的时候,也会先经过Fiddler,然后再到达客户端。
二、界面
第一部分:工具栏部分,比如X按钮下面的remove all,可以清除所有会话;Any process 可以选择只抓取某一个浏览器。
第二部分:会话列表,显示抓取的所有请求的列表
第三部分:HTTP 请求详情,点击会话列表的某一条请求,此处显示请求的详细信息
第四部分:HTTP响应详情,即上面请求的响应信息
三、基本使用
安装好Fiddler,打开时候默认是开启抓包功能的,但是抓取的是HTTP协议的请求,如果要抓取HTTPS的请求,需要进行配置。
点击Tools->Options->HTTPS,勾选下图中红色标记勾选框。
打卡Fiddler默认是抓取请求,并且是全部浏览器的;如果想停止抓取请求,可以点击File->Capture Traffic,?符号消失;再次点击即勾选上,可以看到?符号出现。
如果想清除之前抓取的会话列表,可以点击X-》remove all,进行清除现有的所有会话
以抓取百度首页为例进行分析
会话列表:
第一列为会话图标加上请求序号,不同的图标代表不同的意义,序号是从1依次增加的。以下为图标所代表的含义说明
第二列为 请求的方法,比如是get还是post请求,默认是没有这列的,需要进行配置
鼠标右击该列栏,选择Customize Column,然后配置如下,点击进行Add即可。
第三列为 响应状态码
第四列为 协议类型,HTTP 还是HTTPS
第五列为 请求地址的主机名
第六列为 请求自愿的位置
第七列为 请求大小
第八列为 请求的缓存过期时间或者缓存控制值
第九列为 请求响应的类型
第十列为 发送此请求的进程:进程ID
第十一列为 允许用户为此回话添加备注
第十二列为 用户自定义列
HTTP请求详情
statistics
数据统计 -- 连接建立 发送请求 发送请求头 请求发送出去 RTT 往返时间
inspectors
请求解包 -- 请求/响应
autoresponder
资源代理 -- 代理服务器的文件,更改js,等文件,线上bugfix
composer
前后端接口联调 -- 拖至窗口进行请求伪造
filters
过滤器 -- 过滤无用请求log
日志
timeline
网络性能优化 -- 选中同一个网站查看来进行性能优化
FiddlerScript
通过代码来修改代理请求响应等 来限制请求 延迟等
一般我们查看请求的一些内容,点击inspectors-》raw,这里可以看到请求的具体信息。根据这些信息,可以进行请求的调用,利用接口工具进行请求。
HTTP响应详情
显示某一条请求的响应数据,如第一行是响应状态码。也可以再TextView里面查看响应文本信息