fiddler简介与抓包原理

在做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候定位问题,就需要用到抓包工具。

一、常见抓包方式

  1. 浏览器开发者工具(F12)- 操作简单,但刷新页面,修改不保存
  2. Fiddler - 基于代理抓应用层的数据包,http/https
  3. Wireshark - 可以抓底层的包 TCP/UDP
    Fiddler优点:
    易用性
    可断点
    可改包
    可扩展
    跨平台

WireShark vs Fiddler
在这里插入图片描述
在这里插入图片描述
FIddler下载地址

二、fiddler简介与原理

Fiddler是一款HTTP协议调试代理工具,它能够抓取记录本机所有HTTP(S)请求,分析请求&返回数据、设置断点、调试web应用、修改进出fiddler的数据(cookie,html,js,css),模拟客户端和服务器的交互,完成一系列Mock测试。

Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。使用了Fiddler之后,web客户端和服务器的请求如下所示:
在这里插入图片描述在这里插入图片描述
fiddler相当于一个中间人,例媒人

注:fiddler启动后会自动将代理服务器设置为本机,端口是fiddler监听端口,默认8888。
端口号在fiddler 菜单 Tools- Options-connections中可以修改。
在这里插入图片描述

启动fiddler后,查看代理:
在这里插入图片描述

三、fiddler主界面简介

在这里插入图片描述

主界面中主要包括四个常用的块:
在这里插入图片描述

1.Fiddler的菜单栏,上图红色部分。包括捕获/停止/保存http请求,载入本地session、设置捕获规则等功能。

2.Fiddler的工具栏,上图黄色部分。包括Fiddler针对当前view的操作(暂停,清除session,decode模式、清除缓存等)。

3.web Session面板,上图蓝色区域,主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示:
左边web session面板的字段及图标含义如下:

名称含义
#抓取HTTP Request的顺序,从1开始,以此递增
ResultHTTP状态码
Protocol请求使用的协议,如HTTP/HTTPS/FTP等
Host请求地址的主机名
URL请求资源的位置
Body该请求的大小
Caching请求的缓存过期时间或者缓存控制值
Content-Type请求响应的类型
Process发送此请求的进程:进程ID
Comments允许用户为此回话添加备注
Custom允许用户设置自定义值

在这里插入图片描述
在这里插入图片描述
该表来源于博客:http://blog.csdn.net/qq_21445563/article/details/51017605

4.详情和数据统计面板。针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息。

Statistics
关于HTTP请求的性能(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)以及数据分析。

Inspectors
用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息。

AutoResponder
可用于拦截某一请求,即按自己添加的指定规则重定向到本地的资源或Fiddler资源,从而代替服务器响应。

composer面板
允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)
在这里插入图片描述

在这里插入图片描述

Filter标签
设置Fiddler的过滤规则,来达到过滤http请求的目的。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求。如下图所示,勾选左上角的Use Filters开启过滤器。
在这里插入图片描述

这里有两个最常用的过滤条件:Zone和Host
1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容,如下图所示:
在这里插入图片描述
2、Host 指定显示某个域名下的会话:
在这里插入图片描述
如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可

Timeline
请求响应时间
在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间:
在这里插入图片描述

Capture Traffic
Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后在左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。如下图:
在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值