美文网首页Charles
2022最新版🚀Fiddler抓包教程(4) HTTP会话数据操

2022最新版🚀Fiddler抓包教程(4) HTTP会话数据操

作者: 极客小俊 | 来源:发表于2022-05-11 13:21 被阅读0次

作者:极客小俊
公众号同名: 一个把逻辑思维转变为代码的技术博主

会话列表 (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 允许用户设置使用脚本设置自定义字段
........................................

如图

操作会话列表栏位

首先在每一个栏位上面右键都会出现以下三个选项

如图

1.Search this column (搜索此栏)

意思是它会根据每一个栏位的特性来进行条件搜索此栏位, 这样可以快速帮助用户精准找到想要的数据信息!

如图

2.Flag duplicates (重复会话标志)

这个功能可以给我们的会话打上标志背景, 并且这个背景颜色标记的是当前列中存在重复的数据

举个例子吧: 例如我们在URL这一栏上右键选择Flag duplicates 那么就会在当前列中存在重复URL的数据上打上一个绿色💚的背景

如图

3.Hide this column (隐藏此列)

这个没什么说的 就是把当前这一列栏位给隐藏了!

4.Ensure all columns are visible(确保所有列都可见)

这个功能就相当于一个复位按钮,如果你隐藏了某个栏位又不知道如何把它显示出来,那么就直接点选它就可以全部栏位都复位!

5.Costomize columns(自定义栏位)

自定义栏位,是对所有列进行自定义, 其实也相当于新增一个栏位,而不是选择的栏位

添加栏位

举个例子🍐 我们来给Fiddler添加一个IP显示栏位

fiddler默认是不显示ip栏位的,那么我们可以直接点击菜单栏中的Rules--->Customize Rules

打开自定义规则对话框,这里其实应该说是会启动Fiddler ScriptEditor(Fiddler的脚本编辑器)

这里就是允许用户通过脚本来添加或自定义列

如图

然后我们按下键盘上的Ctrl+F查找关键字为static function Main()的字符串, 然后添加显示IP栏位的相关代码:

代码如下

FiddlerObject.UI.lvSessions.AddBoundColumn("栏位名称自定义", 120, "X-HostIP");

如图

这样一来在会话列表中就会显示请求服务器的的IP地址了!

如图

会话类型小图标

还有一点就是细心的朋友肯定发现在抓包的时候第一栏位除了显示请求顺序之外,还显示了请求的文件类型图标,也就是每个会话都标有一个对应的类型图标

如图

但是但通常不知道图标代表着什么意思,这里我就来给大家挨个解释一下:

如下表

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

如图

其中子菜单含义如下表:

菜单名称 描述
Just URL 复制请求的主机名+URL资源的路径
Terse Summary 复制请求的方法+URL+响应状态
this Column 复制当前请求中的本列信息
Headers Only 以格式化形式复制当前会话的请求报文和响应报文
Session 复制当前原始会话 跟Headers Only差不多
Response DataURL 以及base64编码的形式复制响应数据的URL
Full Summary 复制当前会话信息对应的列

根据需求进行选择就可以了!

请求会话的保存操作

Fiddler对会话的存储也制定了一些规则

你可以在会话列表中选择你要操作的会话, 然后右键选择save

其中save菜单下有四个选项

  1. Selected Session(选定的会话)
  2. Request(请求)
  3. Response(响应)
  4. ...and Open as local File(作为本地文件打开)

Selected Session(选定的会话) 旗下子菜单选项如下

如图

选项 描述
in ArchiveZIP 把当前所选择的请求会话保存到.saz文件中
as Text 把当前所选择的请求会话保存到文本文件中 包含请求报文+响应报文+响应体
as Text (Headers only) 把当前所选择的请求会话保存到文本文件中 包含请求报文+响应报文

Request(请求)旗下子菜单选项如下

选项 描述
Entire Request 把当前所选择的请求会话保存到文本文件中 只有请求报文
Request Body 保存当前请求会话请求正文文本文件

Response(响应)子菜单如下:

选项 描述
Entire Response 把当前所选择的请求会话保存到文本文件中 只有响应报文+响应体
Response Body 保存当前请求会话响应体文本文件

...and Open as local File(作为本地文件打开)

这个选项的意思就是保存为本地的一个html文件 并且进行打开!

保存会话乱码问题

我们有时候保存会话查看时,会发现返回的响应体是乱码

如图

遇到这种问题,主要是需要解码就行了

Inspectors 会话响应中点击Response body is encodee.click to decode后,重新保存就没乱码了。

也可以选中上图会话框上的decode按钮,这样就自动解码

如图

其实如果你了解了http的基础知识,那么会话列表中的栏位信息也会很快的理解!

而你也不用每一个都去记住,要用的时候来查一查就行了!😉

状态栏

状态栏上又分为几个小区域分别为:快速执行命令框(QuickExec)、

快速执行命令框(QuickExec)

这个输入框的作用就是允许用户快速输入并启动一些脚本命令!

如图

一些关于QuickExec的键盘快捷键

比如点击 Alt+Q 可快速将焦点设置为快速执行命令框如果 Fiddler 未处于活动状态,请先按Ctrl+ALT+F激活 Fiddler

快速执行命令框中,按 Ctrl+I 会在快速执行命令框中插入当前所选会话 URL

举个例子🍐

我们可以在快速执行命令框输入 clsclear命令来快速的清空会话列表

如图

常见命令如下表

命令 对应栏位 描述 案例
? 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可以对抓包进行筛选,可以根据自己情况选择。

如图

也就是说在抓包的时候,是显示所有会话进程还是浏览器请求的会话进程 还是不是浏览器请求的会话进程 或者全部隐藏,根据自己的需求进行选择就行了!

空白小区域

这个小区域,如果你用鼠标点击一下就会出现断点的设置

如图

状态 描述
意思就是请求之前断点, 也就是当这个状态启动的时候,那么你发送的请求就会卡在这里!
响应在断点处暂停, 也就是说服务器已经返回请求的数据了,但是被Fiddler在中间卡住了,还没有到客户端这一边!
...........

关于断点我会后面会详细讲到!

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!


如果以上内容有任何错误或者不准确的地方,🤝🤝欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习❤️❤️❤️❤️❤️

相关文章

网友评论

    本文标题:2022最新版🚀Fiddler抓包教程(4) HTTP会话数据操

    本文链接:https://www.haomeiwen.com/subject/khpdurtx.html