Fiddler使用界面简介、简单的抓包分析(一)

来源:互联网 发布:revit mep软件下载 编辑:程序博客网 时间:2024/06/05 00:33

一、Fiddler主界面的布局


1、Fiddler菜单栏(红色部分)

用的比较多的就是Tools-Options设置的一些参数


A、Capture HTTPS CONNECTs:允许Fiddler去抓HTTPS连接的相关包

B、Decrypt HTTPS traffic:解密

C、from all processes:抓取所有HTTPS请求

D、from browsers only:只抓取浏览器的包

E、from non-browsers only:不抓取浏览器的包

F、from remote clients only:抓取远程的包

H、Ignore server certificate errors(unsafe):忽略服务器端证书相关的错误(发烧友研究)

I、Check for certificate revocation:检查证书相关的检查(比如:合理性)


A、Fiddler listens on port:设置端口号,默认8888

B、Capture FTP requests:允许抓取FTP的请求

C、Allow Remote computers to connect:支持远程连接

D、Reuse client connections:允许复用客户端的请求(类似于:304)

E、Reuse server connections:允许复用服务器的请求

F、Act as system proxy on startup:启动Fiddler的时候作为系统代理(可能会修改IE中代理的配置,导致不发上外网)

H、Monitor all connections:监控所有连接

I、Use PAC Script:使用PAC脚本

2、Fiddler工具栏(绿色部分)

  • Replay:重新请求一次
  • :清除掉所有的Sessions,也可以在命令行输入clear
  • Stream:跟踪Stream流
  • Decode:加解密相关的
  • Keep:All sessions:显示所有请求
  • Any Process:所有的进程(任务管理器里面的Pid)
  • Find:查找
  • Clear cache:清除缓存
  • TextWizard:代码编辑器

3、web Session面板(玫红色部分):

(1)、 Fiddler抓取到的每条HTTP请求(每一条称为一个session),每一条包含的请求信息如下

  • 【#】--HTTP 请求的顺序,从1开始,按照页面加载请求的顺序递增
  • 【Result】---Http响应的状态
  • 【Protocol】---请求使用的协议(如:HTTP,HTTPS,FTP等)
  • 【Host】--请求地址的域名
  • 【URL】---请求的服务器路径和文件名,也包括GET参数
  • 【Body】---请求的大小,以byte为单位
  • 【Caching】---请求的缓存过期时间或缓存控制 Header 等值
  • 【Content-type】---请求响应的类型
  • 【Process】---发出此请求的windows进程及进程ID
  • 【Comments】---用户通过脚本或者右键菜单给此session增加的备注
  • 【Custom】---用户可以通过脚本设置的自定义值
Session列表使用不同的颜色表示不同的HTTP状态(红色表示错误,黄色表示验证要求:authentication demands),通讯类型(灰色表示HTTPS连接),响应类型(紫色表示CSS,蓝色表示HTML,绿色表示脚本,灰色表示图片)

(2)、session的请求/响应类型与图标对照表(官网文档)

  • :请求已经发送到服务器
  • :从服务器读取响应
  • :请求在断点处被暂停
  • :响应在断点处被暂停
  • :请求使用HTTP HEAD方法;响应应当没有body
  • :请求使用HTTP POST方法
  • :请求使用HTTP CONNECT方法;使用HTTPS细节一简历连接通道
  • :响应是HTPM
  • :响应是图片
  • :响应是脚本文件
  • :响应是CSS文件
  • :响应是XML文件
  • :响应是JSON
  • :响应是HTML或者XML。有时候返回值是JSon也是这个图片,因为返回值的Content-Type:text/html
  • :响应是音频文件
  • :响应是视频文件
  • :响应是Silverlight applit
  • :响应是Flash applet
  • :响应是字体
  • :普通响应成功
  • :响应是HTTP/300301,302,303,307转向
  • :响应是HTTP304(无变更):使用被缓存的版本
  • :响应需要一个客户端凭证
  • :响应是一个Server错误
  • :session会话被客户端、Fiddler或者Server终止


4、Response和数据统计面板(蓝色部分)

(1)Statistics页签

Sessions页签显示当前用户选择的Sessions的汇总信息,包括Sessions总数、发送字节数、接收字节数、响应类型的汇总表、世界各地通过不同请求方式所需的时间等。上图表示请求数只有一个,发送的字节数为:689,接收到的字节数为:594;DNS解析消耗的时间为6ms,TCP/IP建立连接的时间为5ms。

(2)、Inspectors页签

Inspectors页签允许用多种不同格式查看每个请求和响应的内容。JPG格式使用ImageView就可以看到图片,HTML/JS/CSS是哟共TextView可以看到响应的内容

Inspectors页签分为上下两部分,上不显示发出的请求相关信息,下部显示的是接收的响应相关信息

请求(Request)部分详解
  1. Headers---显示客户端发送到服务器的HTTP请求的Header,显示为一个分级视图,包含Web客户端信息、Cookie、传输状态等
  2. TextView--显示Post请求的Body部分文本
  3. WebForms--显示请求的GET参数和POST body内容,特别书名,这里body应该是application/x-www-form-urlen-coded格式
  4. HexView--用十六进制数据显示请求
  5. AUTH---显示Header职工的Proxy-Authorization和Authorization信息
  6. Raw--将整个请求显示为纯文本
  7. XML---如果请求的body是XML格式,就是用分级的XML树显示它
  8. Cookies---请求的Cookie值
  9. JSon---请求的JSON,用分级的JSON树来显示它
响应(Response)部分详解
  1. Transtormer--显示相应的编码信息
  2. Headers---用分级视图显示相应的header
  3. TextView---使用文本显示相应的body
  4. ImageView---如果请求是图片资源,显示相应的图片
  5. HexView---用十六进制数据显示响应
  6. WebView---响应在web浏览器职工的预览效果
  7. Auth---显示相应header中的Proxy-Authorization和Authorization信息
  8. Caching--显示此请求的缓存信息
  9. Raw---将这个那个响应显示为纯文本
  10. XML---如果响应的body是xml格式,就是用分级的XML树来显示它
  11. Cookies---响应的Cookie值
(3)、AutoResponder页签


此功能启用后,可以将某一请求的响应结果替换成指定的资源,可以是本地文件,也可以是 Fiddler 内置的各种 HTTP 响应。主要用于临时拦截某一请求的响应,而无需修改服务器上的环境和代码,保证在最真实的环境中进行调试,也无需在 BUG 查找的时候寻求相关部门的配合。Enable rules和Unmatched Requests passthrough必须打钩。
举个例子,访问https://www.cnblogs.com/,然后把博客园的logo换成任意的图片,步骤如下
1、使用Fiddler抓取网址的数据包

2、在Fiddler的Sessions页面使用查找功能(Ctrl+F)找到logo的图片

3、将找到的这条session用鼠标拖拽到AutoResponder里面,勾选Enable rules 和 Unmatched requsts passthrough

4、在Rule Editor的最后一个选项框选择Find a file,在本地选择一张图片,为替换logo图片做准备

5、然后重新刷新一下之前访问的网页,之前的logo图片被替换



(4)、Composer页签

此功能可以用于手动发出一个HTTP请求(包含所有的header和请求body),并分析想赢就诶过。可以用来调式不同Request参数时响应是否正常

如果要手动请求一个已经在Web Sessions面板中的请求,直接将他拖拽到Request Builder面板上,然后点击Excute即可;也可以手动输入请求的全部信息

    (5)、TimeLiness页签


    此列表显示在Web Sessions面板中选择的session请求到响应的时间表。横向是时间轴,以秒为单位;纵向是选择的session列表。鼠标移到Timeline夜千殇的某一session上,在底部会显示四个数据:
    • Session编号和URL
    • Session的响应类型
    • 发送的字节数
    • 接收的字节数
    说明:关于请求的时间分析,HTTPWatch的时间线显得更为详尽和直观,另外,Fiddler更多的功能请参考帮助文档 http://download.csdn.net/download/u012150449/9997915