Fiddler抓包使用教程-基本功能介绍

Fiddler 基本页面

这里写图片描述

会话列表功能介绍

这里写图片描述

标识符 含义
# Fiddler为Session生成的ID
Result 响应状态码
Protocol 该Session使用的协议(HTTP/HTTPS/FTP)
Host 接收请求的服务器的主机名和端口号
URL 请求URL的路径、文件和查询字符串
Body 响应体中包含的字节数
Caching 响应头中Expires和Cache-Control字段的值
Content-type 响应的Content-type头
Process 数据流对应的本地Windows进程
Comments 通过工具栏Comment按钮设置的注释信息
Custom FiddlerScript所设置的ui-CustomColumn标志位的值

这个排序不是固定的,可以通过鼠标拖拽来改变顺序。

清空会话列表

这里写图片描述

快捷功能

这里写图片描述

  • 第一个是Capturing,控制捕获会话的快捷开关;

  • 第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。

  • 第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认是空白即不设断点),request断点和response断点详情中详解

  • 后面的而是当前选中会话的一些标识和描述。

会话列表复制

这里写图片描述

  • Just Url : 复制完整 url 请求串
http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml
  • This Column : 复制这个列的内容
  • Terse Summary : 复制一个简洁的请求
GET http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml
200 OK (application/xml)
  • Headers only : 复制请求的Header
GET http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml HTTP/1.1
cache-control: no-cache
Postman-Token: 94f573ac-0f86-439a-9262-d786d00470c1
User-Agent: PostmanRuntime/3.0.9
Accept: */*
Host: jcenter.bintray.com
accept-encoding: gzip, deflate
Connection: keep-alive
HTTP/1.1 200 OK Server: nginx Date: Tue, 13 Jun 2017 08:21:51 GMT Content-Type: application/xml Content-Length: 690 Connection: keep-alive Content-Disposition: attachment; filename="maven-metadata.xml" Last-Modified: Wed, 19 Apr 2017 07:49:26 GMT Cache-Control: max-age=30, must-revalidate Accept-Ranges: none ETag: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5 X-Checksum-Sha1: 55cd7ab9857f50839f6c91d8bd14494b16822a33 X-Checksum-Sha2: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5
  • Session : 复制 Session
GET http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml HTTP/1.1
cache-control: no-cache
Postman-Token: 94f573ac-0f86-439a-9262-d786d00470c1
User-Agent: PostmanRuntime/3.0.9
Accept: */*
Host: jcenter.bintray.com
accept-encoding: gzip, deflate
Connection: keep-alive
HTTP/1.1 200 OK Server: nginx Date: Tue, 13 Jun 2017 08:21:51 GMT Content-Type: application/xml Content-Length: 690 Connection: keep-alive Content-Disposition: attachment; filename="maven-metadata.xml" Last-Modified: Wed, 19 Apr 2017 07:49:26 GMT Cache-Control: max-age=30, must-revalidate Accept-Ranges: none ETag: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5 X-Checksum-Sha1: 55cd7ab9857f50839f6c91d8bd14494b16822a33 X-Checksum-Sha2: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5

<?xml version=“1.0” encoding=“UTF-8”?>
<metadata>
<groupId>com.yiba</groupId>
<artifactId>wifisdk</artifactId>
<version>2.1.8</version>
<versioning>
<latest>2.1.8</latest>
<release>2.1.8</release>
<versions>
<version>1.5.1</version>
<version>2.0.0</version>
<version>2.0.1</version>
<version>2.1.0</version>
<version>2.1.1</version>
<version>2.1.2</version>
<version>2.1.3</version>
<version>2.1.4</version>
<version>2.1.5</version>
<version>2.1.6</version>
<version>2.1.7</version>
<version>2.1.8</version>
</versions>
<lastUpdated>20170419074926</lastUpdated>
</versioning>
</metadata>

从结果可以看到 : Session = Headlers + 请求结果

  • Response DataURL : 响应数据URL
  • Full Summary : 复制完整的会话列表内容
#   Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
15642   200 HTTP    jcenter.bintray.com /com/yiba/wifisdk/maven-metadata.xml    690 max-age=30, must-revalidate application/xml postman:5532    

会话列表保存

这里写图片描述

  • in ArchiveZip:把 Sessions 保存为一个Fiddler 可以执行的文件,文件后缀 .saz。

这里写图片描述

双击这个文件,可以用 Fiddler 打开,并且重新发起请求。

  • as Text... :把 Sessions 保存为一个文本文件

这里写图片描述

  • as Text( Headers only)...:把 Sessions 里面的 Headers 保存为文本文件

这里写图片描述

会话列表移除

这里写图片描述

  • Selected Sessions : 移除选择的 Session
  • Unselected Sessions : 除了选择的Session , 移除其他所有的 Session
  • All Sessions : 移除所有的 Sessions

会话列表过滤

这里写图片描述

在会话列表界面,有一个很实用的过滤请求的功能。

  • Hide 'postman' : 隐藏所有从 postman 发出的请求
  • Hide Process =5532 : 隐藏进程为 5532 的所有请求
  • Show Only Process = 5532 : 只显示进程为 5532 的所有请求
  • Hide 'jcenter.bintray.com' : 隐藏host为 'jcenter.bintray.com' 的请求
  • Hide '/com' : 隐藏请求URL包含 '/com ' 的请求
  • Hide Url : 隐藏用户指定的 URL 请求
  • Hide 'application/xml’: 隐藏请求类型为 'application/xml' 的请求

会话列表备注

这里写图片描述

这里写图片描述

这里写图片描述

会话列表标记

这里写图片描述

可以把会话列表中的 Sessions 标记为特殊的颜色

  • Strikeout : 加删除线
  • Red : 红色
  • Blue : 蓝色
  • Gold : 金色
  • Green : 绿色
  • Orange : 橙色
  • Purple : 紫色
  • Unmark : 取消标记

这里写图片描述

会话列表重放-replay

replay 顾名思义就是重新执行请求。用这个功能可以很方便的多次请求。

在 Fiddler 工具栏中有一个快捷图片。

这里写图片描述

当然这还不够,会话列表中,我么右键下拉框中有 Replay 选项,这个选项提供了丰富的重放条件。

这里写图片描述

Reissue : 重发、再版、改版

unconditionally : 无条件的

Sequentially : 顺序的、继续

Composer : 制定者、设计者

  • Reissue Requests : 重新请求 。如果有多个请求,则同时进行,相当于多线程。

  • Reissue Unconditionally:无条件重新请求

  • Reissue Edit:重新请求并且可以编辑。

  • Reissue Verify : 重新请求并且可以验证 。 发起的请求会有绿色的标记。

  • Reissue Sequentially : 顺序的重新发起请求。 如果有多个请求,则顺序进行,相当于单线程。

  • Reissue from Composer: 从制定的请求中发起请求。点击这个按钮会跳转到 Composer 选项卡。

  • Revisit in IE : 在 IE 浏览器中执行此请求。 点击这个按钮会打开 IE 浏览器。

Statistics 请求统计

通过陈列出所有的 HTTP 通信量,Fiddler 可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。

这里写图片描述

统计选项卡的一些信息含义如下解释:

  • Request Count: 选中的session数;

  • Unique Hosts: 流量流向的独立目标主机数。如果所有选中的流量都发送到相同的服务器上,则不会显示该字段。

  • Bytes sent: HTTP请求头和请求体中向外发送的字节总数。后面括号中分别给出了头和body各自的字节数。

  • Bytes received: HTTP请求头和请求体中接收到的所有字节数。在全部计数后面的括号中给出了请求头和请求体各自的字节数。

  • Requests started at: Fiddler接收到的第一个请求的第一个字节的时间点。

  • Responses completed at: Fiddler发送到客户端的最后一个响应的最后一个字节的时间点。

  • Sequence(clock) duration: 第一个请求开始到最后一个响应结束之间的 “时钟时间”。

  • Aggregate session duration: 所有选中的session从请求到响应之间的时间的和。

  • DNS Lookup time: 所有选中的session解析DNS所花费的时间的总和。

  • TCP/IP Connect duration: 所有选中session建立TCP/IP连接所花费的时间总和。

  • HTTPS Handshake duration: 所有选中session在HTTPS握手上所花费的时间总和。

  • Response Codes: 选中session中各个HTTP响应码的计数。

  • Response Bytes by content-type: 选中session中响应的各个Content-Type的字节数。

  • Estimated Performance: 选中的流量在不同语种(local)地区和连接方式下所需时间的初步估计。

Inspectors 选项卡

翻译

Inspectors [ɪn'spektər]]
原型、检查员、巡查员

Inspectors : 上半部分是请求头部分,下半部分是响应头部分。

对于每一部分,提供了多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw 标签可以查看原始的符合 HTTP 标准的请求和响应头。Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。Cookies标签可以看到请求的cookie和响应的set-cookie头信息。

这里写图片描述

请求 (Request) 部分详解

  • Headers —— 显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等.

  • Textview —— 显示 POST 请求的 body 部分为文本

  • WebForms —— 显示请求的 GET 参数 和 POST body 内容,特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式

  • HexView —— 用十六进制数据显示请求

  • Auth —— 显示 header 中的 Proxy-Authorization 和 Authorization 信息

  • Raw —— 将整个请求显示为纯文本

  • XML —— 如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它

响应 (Response) 部分详解

  • Transformer —— 显示响应的编码信息

这里写图片描述

顶部的黄色提示文字表示,此请求为了提高性能,而做了编码或者压缩(例如 GZIP),需要转换后才能在 TextView 里正常浏览。点击该区域或者下面的 Remove HTTP Chunked Encoding 按钮,都能执行转换或者解压缩。如果该请求没编码/压缩是看不见此提示的。

HTTP Compression 显示当前请求使用的编码方式

  • No Compression —— 无压缩
  • GZIP Encoding —— GZIP 压缩
  • DEFLATE Encoding —— DEFLATE 压缩
  • BZIP2 Encoding —— BZIP2 压缩

对未编码压缩的请求,可以选择不同的模式,看 Entity Size 里显示压缩后有多大。从而根据这个决定是否需要采用这样的压缩技术来提升网站的性能。

  • Headers —— 用分级视图显示响应的 header
  • TextView —— 使用文本显示相应的 body
  • ImageVies —— 如果请求是图片资源,显示响应的图片。

这里写图片描述

  • HexView —— 用十六进制数据显示响应

  • WebView —— 响应在 Web 浏览器中的预览效果

  • Auth —— 显示响应 header 中的 Proxy-Authorization 和 Authorization 信息

  • Caching —— 显示此请求的缓存信息

  • Privacy —— 显示此请求的私密 (P3P) 信息

  • Raw —— 将整个响应显示为纯文本

  • XML —— 如果响应的 body 是 XML 格式,就是用分级的 XML 树来显示它

Composer 选项卡:创建请求

这里写图片描述

右边是请求历史记录。只要点击 Execute 按钮,就会在会话列表中显示请求的 Session 。用这个可以模拟 http 请求。


发布了75 篇原创文章 · 获赞 11 · 访问量 829

猜你喜欢

转载自blog.csdn.net/weixin_45706762/article/details/104967475