Fiddler抓包使用教程-基本功能介绍
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72932886
本文出自【赵彦军的博客】
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 请求。