《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解
1.简介
按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的会话面板了。
2.会话列表 (Session list) 概览
Fiddler抓取到的每条http请求(每一条称为一个session),会话列表 主要是Fiddler所抓取到的每一条http请求都会显示到这里。主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息,如下图所示:

3.会话列表各个列详解
3.1每个字段的含义
会话列表中又包含了很多字段,而每一个字段都有其自己的含义,用来描述当前每一条会话的详细信息!
各个字段的含义描述如下表所示:
| 名称 | 描述 |
|---|---|
# |
显示抓取的请求id顺序和类型图标,id从1开始递增,HTTP Request 的顺序,从1开始,按照页面加载请求的顺序递增 |
Result |
HTTP响应结果状态码 |
Protocol |
当前请求会话所使用的协议,如HTTP/HTTPS/FTP等等 |
Host |
请求地址的主机名或域名(也会是主机名和端口号) |
URL |
从服务器请求资源的文件路径,有的时候也包含GET请求的具体参数 |
Body |
响应内容的大小, 单位为字节 也就是响应主体(Response Body)中的字节数 |
Caching |
请求的缓存过期时间或缓存控制header等值,即响应头中Expires 和 Cache-Control |
Content-Type |
响应内容的类型,以及编码类型 |
Process |
发送此请求的程序与进程id:例如chrome:1604。发出此请求的 Windows 进程和进程 ID |
Comments |
允许用户给请求会话添加备注文本信息。用户通过脚本或者右键菜单给此session 增加的备注 |
Custom |
允许用户设置使用脚本设置自定义字段 |
| ........................................ |
3.2记录不同颜色的含义
每个记录不同图标和不同颜色的含义如下:
1 红色:表示HTTP状态(错误)
2 黄色:表示HTTP状态(认证)
3 灰色:表示数据流类型 Connect 或表示响应类型为图像
4 紫色:表示响应类型为 CSS
5 蓝色:表示响应类型为 HTML
6 绿色:表示响应类型为 Script
7 在Fiddler Script session 的 ui-color 标志位中可以修改字体的颜色
3.3图标含义
| icon | 含义 |
|---|---|
![]() |
正在将请求发送到服务器 |
![]() |
正在从服务器读取响应 |
![]() |
请求在断点处暂停 |
![]() |
响应在断点处暂停 |
![]() |
请求使用HTTP HEAD方法;反应应该没有身体 |
![]() |
请求使用的 HTTP POST 方法 |
![]() |
请求使用HTTP连接方法;这将建立用于 HTTPS 流量的隧道 |
![]() |
响应是 HTML |
![]() |
响应是图像 |
![]() |
响应是一个JS脚本 |
![]() |
响应是级联样式表 |
![]() |
响应为 XML |
![]() |
响应为 JSON |
![]() |
响应是音频文件 |
![]() |
响应是视频文件 |
![]() |
响应是一个 Silverlight 小程序 |
![]() |
响应是一个 Flash 小程序 |
![]() |
响应是字体 |
![]() |
通用成功响应 |
![]() |
响应是 HTTP/300,301,302,303 或 307 重定向 |
![]() |
响应为 HTTP/304:使用缓存版本 |
![]() |
响应是对客户端凭据的请求 |
![]() |
响应是服务器错误 |
![]() |
会话被客户端、Fiddler 或服务器中止。 |
![]() |
表示请求的格式为html格式 |
4.操作会话面板列
在每一个列上面当右键点击session框中的列时,可以发现有5个功能,如下图所示:

4.1Search this column (搜索此栏)
意思是它会根据每一个栏位的特性来进行条件搜索此栏位, 这样可以快速帮助用户精准找到想要的数据信息,如下图所示:

4.2Flag duplicates (重复会话标志)
标记列中的相同项并将相同项背景滤为绿色。这个功能可以给我们的会话打上标志背景, 并且这个背景颜色标记的是当前列中存在重复的数据
举个例子吧: 例如我们在URL这一栏上右键选择Flag duplicates 那么就会在当前列中存在重复URL的数据上打上一个绿色的背景,如下图所示:

4.3Hide this column (隐藏此列)
这个没什么说的 就是把当前这一列栏位给隐藏了!
4.4Ensure all columns are visible(确保所有列都可见)
这个功能就相当于一个复位按钮,如果你隐藏了某个栏位又不知道如何把它显示出来,那么就直接点选它就可以全部栏位都复位。
4.5Costomize columns(自定义栏位)
定制列,可以增加其他的列名,并且还可以改变列名。自定义栏位,是对所有列进行自定义, 其实也相当于新增一个栏位,而不是选择的栏位。
5.自定义列
在Fiddler的会话面板中不会展示请求方式,虽然请求头中有展示,但是每次看接口,都得一个一个点开查看,也很麻烦,因此宏哥就以此为例子,添加请求方式列在会话面板。如下图所示:

宏哥这里提供两种自定义列的方法,第一种方法:界面配置自定义列,第二种方法:通过脚本自定义列。具体步骤如下:
5.1界面操作配置自定义列
1.在列名上,鼠标右键,即可弹出如下信息 ,,然后点击Customize Columns,则弹出如下图所示的弹框。如下图所示:

2.Collection选择Miscellaneous,Field Name选择RequestMethod。如下图所示:

3.选择该字段后,你还可以定义列表的宽度以及列名。如下图所示:

4.点击Add后,你自定义添加的列则会展示在Fiddler会话面板中。如下图所示:

5.2通过脚本自定义列
Fiddler会话面板列有Result、Protocol、Host、URL、Content-Type等等,但有时候我们可能会遇到这样的场景:宏哥需要知道当前请求与应答服务器的ip,那么,如果给fiddler添加一列“ServerIP”,每一个session都会显示ip,那自然是再好不过了。以此为例宏哥讲解和分享一下如何通过脚本添加此自定义列。其实主要就是操作这个文件Fiddler2\Scripts\CustomRules.js。
1.在Fiddler点击Rules,然后再点击Customize Rules,打开添加脚本的文件,如下图所示:

2.Ctrl+F查找字符串static function Main(),如下图所示:

3.在其方法体的最后添加如下一行脚本代码,如下图所示:
FiddlerObject.UI.lvSessions.AddBoundColumn("栏位名称自定义", 120, "X-HostIP");

4.保存脚本后,你自定义添加的列则会展示在Fiddler会话面板中。如下图所示:

5.3隐藏字段
刚才讲的是添加字段,那可能会有疑惑,我添加后,以后不想要这个字段展示,那该如何处理?
在自定义列时,有个隐藏属性。如果想不展示哪个列字段,在对应字段上右键,选择隐藏即可。选择Hide this cloumn即可,隐藏后,则不会展示了。操作如下图所示:

5.4展示隐藏的字段
我们将字段隐藏后,还能支持再展示吗?答案是肯定的,操作同理,选择Ensure all cloumns are visible即可,隐藏的列就会展示出来了。操作如下图所示:

列的自定义,如上操作就可以轻松搞定了。我们在之前也看到,自定义时,可以定义很多字段的;也可以定义请求头、响应头;看各自需求,自定义即可。
5.5请求会话的复制操作
Fiddler中提供了很多对请求会话的复制操作,让你更好的去获取想要的数据。你可以在会话列表中选择你要操作的会话,然后右键选择copy。如下图所示:

其中子菜单含义如下表,你根据需求进行选择就可以了。如下表所示:
| 菜单名称 | 描述 |
|---|---|
Just URL |
复制请求的主机名+URL资源的路径 |
Terse Summary |
复制请求的方法+URL+响应状态 |
this Column |
复制当前请求中的本列信息 |
Headers Only |
以格式化形式复制当前会话的请求报文和响应报文 |
Session |
复制当前原始会话 跟Headers Only差不多 |
Response DataURL |
以及base64编码的形式复制响应数据的URL |
Full Summary |
复制当前会话信息和对应的列 |
5.6请求会话的保存操作
Fiddler对会话的存储也制定了一些规则:你可以在会话列表中选择你要操作的会话,然后右键选择save。其中save菜单下有四个选项
1 Selected Session(选定的会话)
2 Request(请求)
3 Response(响应)
4 ...and Open as local File(作为本地文件打开)
如下图所示:

5.6.1Selected Session
Selected Session(选定的会话) 其下子菜单选项如下:
| 选项 | 描述 |
|---|---|
in ArchiveZIP |
把当前所选择的请求会话保存到.saz文件中 |
as Text |
把当前所选择的请求会话保存到文本文件中 包含请求报文+响应报文+响应体 |
as Text (Headers only) |
把当前所选择的请求会话保存到文本文件中 包含请求报文+响应报文 |
5.6.2Request
Request(请求)旗下子菜单选项如下图所示:

| 选项 | 描述 |
|---|---|
Entire Request |
把当前所选择的请求会话保存到文本文件中 只有请求报文 |
Request Body |
保存当前请求会话的请求正文为文本文件 |
5.6.3Response
Response(响应)子菜单如下图所示:

| 选项 | 描述 |
|---|---|
Entire Response |
把当前所选择的请求会话保存到文本文件中 只有响应报文+响应体 |
Response Body |
保存当前请求会话的响应体为文本文件 |
5.6.4...and Open as local File
...and Open as local File(作为本地文件打开)
这个选项的意思就是保存为本地的一个html文件 并且进行打开!
6.小结
6.1保存会话乱码问题
我们有时候保存会话查看时,会发现返回的响应体是乱码,如下图所示:

遇到这种问题,主要是需要解码就行了。宏哥这里提供两种方法:
(1)在Inspectors 会话响应中点击Response body is encodee.click to decode后,重新保存就没乱码了。
(2)选中上图会话框上的decode按钮,这样就自动解码了。
解码后的,响应正文没有乱码,如下图所示:

《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解的更多相关文章
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
1.前言 今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识.其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler. 1. ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行
1.简介 Fiddler成了网页调试必备的工具,抓包看数据.Fiddler自带命令行控制,并提供以下用法.Fiddler的快捷命令框让你快速的输入脚本命令. 除了输入默认命令,也可以自定义命令,你可以 ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的监控面板了.监控面板主要是一些辅助标签工具栏.有了这些就会让你的会话请求和响应时刻处监控中毫无隐私可言.监控面板是fiddl ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(6)-Fiddler状态面板详解
1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的状态面板了. 2.状态面板概览 Fiddler的状态面板概览,如下图所示: 3.状态面板详解 Fiddler底端状态栏面板详 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(15)-Fiddler弱网测试,知否知否,应是必知必会
1.简介 现在这个时代已经属于流量时代,用户对于App或者小程序之类的操作界面的数据和交互的要求也越来越高.对于测试人员弱网测试也是需要考验自己专业技术能力的一种技能.一个合格的测试人员,需要额外关注 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话
1.简介 由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网.还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包, ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(10)-Fiddler如何设置捕获Firefox浏览器的Https会话
1.简介 经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(11)-Fiddler设置安卓手机抓包,不会可是万万不行的!
1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler能截获 Android 和 Windows Phone 等 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???
1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler 能捕获Android 和 Windows Phone 等 ...
随机推荐
- Linux_yum源仓库-本地-网络-练习实验
1.本地光盘挂载使用yum源 实验环境centos8 系统版本CentOS-8.3.2011-x86_64-dvd1 1)配置前检查 1.1 虚拟机设置选择对应版本镜像文件 1.2 启动虚拟机后处于连 ...
- [题解][ARC089D] ColoringBalls
题目大意 有 \(n\) 个白色的小球排成一排,有一个长为 \(k\) 的字符串 \(S\).接下来进行 \(k\) 次操作. 第 \(i\) 个操作,选择一段连续的小球(可以为空),若 \(S\) ...
- 一个登录点两个逻辑漏洞-edusrc
最近呢, 也是基础漏洞学的差不多了, 就在edusrc上面实战, 刚开始搞一些信息泄漏啥的, 提交了十几个, 结果就他娘的通过了一个. 咱也就不碰信息泄漏了, 没得意思. 关于这个学校测试时也是有坑的 ...
- 注解,lombok
使用注解开发 UserMapper public interface UserMapper { @Select("select * from db4.user") List< ...
- Python技法:实用运维脚本编写(进程/文件/目录操作)
Python在很大程度上可以对shell脚本进行替代.笔者一般单行命令用shell,复杂点的多行操作就直接用Python了.这篇文章就归纳一下Python的一些实用脚本操作. 1. 执行外部程序或命令 ...
- Blazor和Vue对比学习(基础1.7):传递UI片断,slot和RenderFragment
组件开发模式,带来了复用.灵活.性能等优势,但也增加了组件之间数据传递的繁杂.不像传统的页面开发模式,一个ViewModel搞定整个页面数据. 组件之间的数据传递,是学习组件开发,必须要攻克的难关.这 ...
- 『忘了再学』Shell基础 — 15、环境变量(三)
目录 1.LANG语系变量介绍 2.如何查看Linux中支持的语系 3.查看当前系统的语系 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自带的环境变 ...
- Layer Normalization和Batch Normalization
Layer Normalization 总览 针对同一通道数的图片的H*W进行层正则化,后面的γ和β是可以学习的参数,其中这两个的维度和最后一个的维度相同 例如特征图矩阵维度为[3, 577, 768 ...
- 软件推荐 ---一款优秀的通信组件 HP_Socket
* HP-Socket 官方网站:http://www.jessma.org* HP-Socket 项目主页:http://www.oschina.net/p/hp-socket* HP-Socket ...
- AcWing 1248. 灵能传输 蓝桥杯
蓝桥杯的一道题:灵能传输 https://www.acwing.com/problem/content/description/1250/ 首先是简化操作,将原数组转化为前缀和数组(下标都是从1开始) ...
























