作者:极客小俊
公众号同名: 一个把逻辑思维转变为代码的技术博主
![](https://img.haomeiwen.com/i17676426/38c4ba2abd250c89.png)
![](https://img.haomeiwen.com/i17676426/414ab0404863e7ef.gif)
会话列表 (Session list) 详解
会话列表
主要是fiddler
所抓取到的每一条http请求都会显示到这里!
每一条所抓取到的信息我们称之为一个session(会话)
,有编程基础的朋友肯定马上就能理解这个会话
的含义
会话列表
中又包含了很多栏位
,而每一个栏位
都有其自己的含义,用来描述当前每一条会话
的详细信息!
各个栏位
的含义描述如下表:
名称 | 描述 |
---|---|
# |
显示抓取的请求id顺序和类型图标 ,id从1开始递增 |
Result |
HTTP响应结果状态码
|
Protocol |
当前请求会话 所使用的协议,如HTTP/HTTPS/FTP 等等 |
Host |
请求地址的主机名或域名 |
URL |
从服务器请求资源的文件路径,有的时候也包含GET 请求的具体参数 |
Body |
响应内容的大小, 单位为字节 也就是响应主体(Response Body) 中的字节数 |
Caching |
请求的缓存过期时间 或者是对缓存的的控制 相关描述 通常为Cache-Control 响应头中的值! |
Content-Type |
响应内容的类型,以及编码类型 |
Process |
发送此请求的程序与进程id :例如chrome:1604
|
Comments |
允许用户给请求会话 添加备注文本信息 |
Custom |
允许用户设置使用脚本设置自定义字段 |
........................................ |
如图
![](https://img.haomeiwen.com/i17676426/2636e0b9837e5fe6.png)
操作会话列表栏位
首先在每一个栏位
上面右键
都会出现以下三个选项
如图
![](https://img.haomeiwen.com/i17676426/5f8443a3eb371602.png)
1.Search this column (搜索此栏)
意思是它会根据每一个栏位的特性来进行条件搜索
此栏位, 这样可以快速帮助用户精准找到想要的数据信息!
如图
![](https://img.haomeiwen.com/i17676426/9345e5062adcdb33.gif)
2.Flag duplicates (重复会话标志)
这个功能可以给我们的会话打上标志背景, 并且这个背景颜色标记的是当前列中存在重复的数据
举个例子吧: 例如我们在URL
这一栏上右键
选择Flag duplicates
那么就会在当前列中存在重复URL
的数据上打上一个绿色
💚的背景
如图
![](https://img.haomeiwen.com/i17676426/18b3fe960a9239b5.gif)
3.Hide this column (隐藏此列)
这个没什么说的 就是把当前这一列栏位给隐藏了!
4.Ensure all columns are visible(确保所有列都可见)
这个功能就相当于一个复位按钮,如果你隐藏了某个栏位
又不知道如何把它显示出来,那么就直接点选它就可以全部栏位
都复位!
5.Costomize columns(自定义栏位)
自定义栏位,是对所有列进行自定义, 其实也相当于新增一个栏位
,而不是选择的栏位
添加栏位
举个例子🍐
我们来给Fiddler
添加一个IP显示栏位
fiddler
默认是不显示ip
栏位的,那么我们可以直接点击菜单栏中的Rules--->Customize Rules
打开自定义规则对话框,这里其实应该说是会启动Fiddler ScriptEditor(Fiddler的脚本编辑器)
这里就是允许用户通过脚本
来添加或自定义列
如图
![](https://img.haomeiwen.com/i17676426/c9a7146bd6e8c50c.png)
然后我们按下键盘上的Ctrl+F
查找关键字为static function Main()
的字符串, 然后添加显示IP栏位的相关代码:
代码如下
FiddlerObject.UI.lvSessions.AddBoundColumn("栏位名称自定义", 120, "X-HostIP");
如图
![](https://img.haomeiwen.com/i17676426/e055e6902b8c5b39.png)
这样一来在会话列表
中就会显示请求服务器的的IP地址了!
如图
![](https://img.haomeiwen.com/i17676426/9a3d46c67cd1f8be.png)
会话类型小图标
还有一点就是细心的朋友肯定发现在抓包的时候第一栏位除了显示请求顺序
之外,还显示了请求的文件类型图标
,也就是每个会话都标有一个对应的类型图标
如图
![](https://img.haomeiwen.com/i17676426/5ede8ba3f1342c70.png)
但是但通常不知道图标
代表着什么意思,这里我就来给大家挨个解释一下:
如下表
icon | 含义 |
---|---|
![]() |
正在将请求发送到服务器 |
![]() |
正在从服务器读取响应 |
![]() |
请求在断点处暂停 |
![]() |
响应在断点处暂停 |
![]() |
请求使用HTTP HEAD方法;反应应该没有身体 |
![]() |
请求使用的 HTTP POST 方法 |
![]() |
请求使用HTTP连接方法;这将建立用于 HTTPS 流量的隧道 |
![]() |
响应是 HTML |
![]() |
响应是图像 |
![]() |
响应是一个JS脚本 |
![]() |
响应是级联样式表 |
![]() |
响应为 XML |
![]() |
响应为 JSON |
![]() |
响应是音频文件 |
![]() |
响应是视频文件 |
![]() |
响应是一个 Silverlight 小程序 |
![]() |
响应是一个 Flash 小程序 |
![]() |
响应是字体 |
![]() |
通用成功响应 |
![]() |
响应是 HTTP/300,301,302,303 或 307 重定向 |
![]() |
响应为 HTTP/304:使用缓存版本 |
![]() |
响应是对客户端凭据的请求 |
![]() |
响应是服务器错误 |
![]() |
会话被客户端、Fiddler 或服务器中止。 |
![]() |
表示请求的格式为html 格式 |
请求会话的复制操作
Fiddler
中提供了很多对请求会话
的复制操作,让你更好的去获取想要的数据!
你可以在会话列表
中选择你要操作的会话
, 然后右键
选择copy
如图
![](https://img.haomeiwen.com/i17676426/816633ae76c24114.png)
其中子菜单含义如下表:
菜单名称 | 描述 |
---|---|
Just URL |
复制请求的主机名+URL 资源的路径 |
Terse Summary |
复制请求的方法+URL+响应状态
|
this Column |
复制当前请求中的本列 信息 |
Headers Only |
以格式化形式复制当前会话的请求报文和响应报文
|
Session |
复制当前原始会话 跟Headers Only 差不多 |
Response DataURL |
以及base64编码 的形式复制响应数据的URL
|
Full Summary |
复制当前会话信息 和对应的列
|
根据需求进行选择就可以了!
请求会话的保存操作
Fiddler
对会话的存储也制定了一些规则
你可以在会话列表
中选择你要操作的会话
, 然后右键
选择save
其中save
菜单下有四个选项
Selected Session(选定的会话)
Request(请求)
Response(响应)
...and Open as local File(作为本地文件打开)
Selected Session(选定的会话)
旗下子菜单选项如下
如图
![](https://img.haomeiwen.com/i17676426/fead898eb27d7dce.png)
选项 | 描述 |
---|---|
in ArchiveZIP |
把当前所选择的请求会话 保存到.saz 文件中 |
as Text |
把当前所选择的请求会话 保存到文本文件中 包含请求报文+响应报文+响应体
|
as Text (Headers only) |
把当前所选择的请求会话 保存到文本文件中 包含请求报文+响应报文
|
Request(请求)
旗下子菜单选项如下
![](https://img.haomeiwen.com/i17676426/57ce3aed0c251b69.png)
选项 | 描述 |
---|---|
Entire Request |
把当前所选择的请求会话 保存到文本文件 中 只有请求报文
|
Request Body |
保存当前请求会话 的请求正文 为文本文件
|
Response(响应)
子菜单如下:
![](https://img.haomeiwen.com/i17676426/ea091aff42100d11.png)
选项 | 描述 |
---|---|
Entire Response |
把当前所选择的请求会话 保存到文本文件 中 只有响应报文+响应体
|
Response Body |
保存当前请求会话 的响应体 为文本文件
|
...and Open as local File(作为本地文件打开)
这个选项的意思就是保存为本地的一个html文件 并且进行打开!
保存会话乱码问题
我们有时候保存会话
查看时,会发现返回的响应体是乱码
如图
![](https://img.haomeiwen.com/i17676426/dafd020517082381.png)
遇到这种问题,主要是需要解码
就行了
在Inspectors 会话响应
中点击Response body is encodee.click to decode
后,重新保存就没乱码了。
也可以选中上图会话框上的decode
按钮,这样就自动解码
了
如图
![](https://img.haomeiwen.com/i17676426/5d1f390dfd891949.png)
![](https://img.haomeiwen.com/i17676426/bf9173bd66fb85eb.png)
其实如果你了解了http
的基础知识,那么会话列表
中的栏位信息
也会很快的理解!
而你也不用每一个都去记住,要用的时候来查一查就行了!😉
状态栏
状态栏
上又分为几个小区域分别为:快速执行命令框(QuickExec)、
快速执行命令框(QuickExec)
这个输入框的作用就是允许用户快速输入并启动一些脚本命令!
如图
![](https://img.haomeiwen.com/i17676426/6bea68fd286decf9.png)
一些关于QuickExec
的键盘快捷键
比如点击 Alt+Q
可快速将焦点设置为快速执行命令框
如果 Fiddler
未处于活动状态,请先按Ctrl+ALT+F
激活 Fiddler
在快速执行命令框
中,按 Ctrl+I
会在快速执行命令框
中插入当前所选会话 URL
举个例子🍐
我们可以在快速执行命令框
输入 cls
或 clear
命令来快速的清空会话列表
如图
![](https://img.haomeiwen.com/i17676426/218ad1f2d913ef2f.gif)
常见命令如下表
命令 | 对应栏位 | 描述 | 案例 |
---|---|---|---|
? |
all |
问号后边跟一个字符串,可以从会话列表 中筛选出包含这个字符串的所有请求 |
?baidu |
> |
Body |
可以从会话列表 中筛选出请求大小的会话,也就是大于 这个数字请求 |
>100 |
< |
Body |
可以从会话列表 中筛选出请求大小的会话,也就是小于 这个数字请求 |
<100 |
= |
Result |
等于号后面跟数字,可以从会话列表 中筛选出对应的HTTP状态码的会话 |
=404 |
@ |
Host |
@后面跟Host,可以从会话列表 中筛选出相应的域名 |
@www.baidu.com |
select |
Content-Type |
select后面跟响应类型,可以从会话列表 中筛选出相关的会话类型 |
select image |
cls |
All |
清空当前所有请求 | cls |
dump |
All |
将所有请求打包成.saz压缩包 ,默认会保存到C:\Users\用户名\Documents\Fiddler2\Captures目录下 |
dump |
start |
All |
开始监听请求 | start |
stop |
All |
停止监听请求 | stop |
.............. | .................................. | ................. |
更多命令 可以查看官方文档, 这里就不再过多赘述了,关于快速执行命令框
后面的断点
中还会用到!
all processes (进程筛选)
All Processes
可以对抓包进行筛选,可以根据自己情况选择。
如图
![](https://img.haomeiwen.com/i17676426/6c1c0f0c5cf841fb.png)
也就是说在抓包的时候,是显示所有会话进程
还是浏览器请求的会话进程
还是不是浏览器请求的会话进程
或者全部隐藏,根据自己的需求进行选择就行了!
空白小区域
这个小区域,如果你用鼠标点击一下就会出现断点
的设置
如图
![](https://img.haomeiwen.com/i17676426/fe50c15b44e5194b.png)
状态 | 描述 |
---|---|
![]() |
意思就是请求之前断点 , 也就是当这个状态启动的时候,那么你发送的请求就会卡在这里! |
![]() |
响应在断点处暂停, 也就是说服务器已经返回请求的数据了,但是被Fiddler 在中间卡住了,还没有到客户端这一边! |
........... |
关于断点
我会后面会详细讲到!
![](https://img.haomeiwen.com/i17676426/c22bd895821d0af5.jpg)
![](https://img.haomeiwen.com/i17676426/ed4501b20eb929f4.gif)
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏”
一键三连哦!
如果以上内容有任何错误或者不准确的地方,🤝🤝欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习❤️❤️❤️❤️❤️
网友评论