Fiddler 抓包工具使用详解

37 篇文章 2 订阅
6 篇文章 0 订阅

Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。
Fiddler:译名—小提琴手,由Eric开发,曾就职微软。
Fiddle支持多个平台的版本:

由于fiddler是基于.net开发的,所以在windows平台下支持的功能更多, 在IOS\Linux的支持会相对少。

fiddler 由于官网在国外,下载时间很长还需要翻墙,目前国内有引进,可以在电脑管家中下载安装。

win8 系统之前用 “Fiddler for.NET2”
win8 系统之后用 “Fiddler for.NET4”

Mac/Linux Fiddler 下载地址
Windows Fiddler 下载地址
类似工具

功能:
1、能够监听 http/ https 的流量,可以截获从浏览器或者客户端软件向服务器发送的 http/ https 请求;
2、对截获之后的请求,我们还能够查看请求中的内容;
3、伪造请求。不仅可以伪造客户端的请求,还能够伪造服务器的响应(方便我们进行前后端的调式);
4、测试网站的性能;
5、解密https的外部会话。因为https本身是一种加密的协议,通过fiddle我们可以进行解密操作;
6、提供第三方扩展插件,满足更多需求。

代理模式:
流模式与缓冲模式

流模式:fiddler会实时把服务器返回给客户端的数据进行返回。

缓冲模式:fiddler会等待所有的请求都准备好之后才返回给客户端。

区别:
缓冲模式下可以控制最后的服务器响应;
流模式下不能控制,是什么就是什么,更接近浏览器本身的真实行为。

使用场景

1、开发环境的host配置;
2、前后端接口连调——Composer;
3、定位线上bug——将发布文件代理到本地,快速定位线上bug;
4、性能分析和优化——Inspectors 、Timeline。

界面及使用

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

在这里插入图片描述
工具栏详细介绍
在这里插入图片描述

名称含义
#抓取HTTP Request的顺序,从1开始,以此递增
ResultHTTP状态码
Protocol请求使用的协议,如HTTP/HTTPS/FTP等
Host请求地址的主机名
URL请求资源的位置
Body该请求的大小
Caching请求的缓存过期时间或者缓存控制值
Content-Type请求响应的类型
Process发送此请求的进程:进程ID
Comments允许用户为此回话添加备注
Custom允许用户设置自定义值
图标含义
在这里插入图片描述请求已经发往服务器
在这里插入图片描述已从服务器下载响应结果
在这里插入图片描述请求从断点处暂停
在这里插入图片描述响应从断点处暂停
在这里插入图片描述请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
在这里插入图片描述请求使用 HTTP 的 POST 方法
在这里插入图片描述请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
在这里插入图片描述响应是 HTML 格式
在这里插入图片描述响应是一张图片
在这里插入图片描述响应是脚本格式
在这里插入图片描述响应是 CSS 格式
在这里插入图片描述响应是 XML 格式
在这里插入图片描述响应是 JSON 格式
在这里插入图片描述响应是一个音频文件
在这里插入图片描述响应是一个视频文件
在这里插入图片描述响应是一个 SilverLight
在这里插入图片描述响应是一个 FLASH
在这里插入图片描述响应是一个字体
在这里插入图片描述普通响应成功
在这里插入图片描述响应是 HTTP/300、301、302、303 或 307 重定向
在这里插入图片描述响应是 HTTP/304(无变更):使用缓存文件
在这里插入图片描述响应需要客户端证书验证
在这里插入图片描述服务端错误
在这里插入图片描述会话被客户端、Fiddler 或者服务端终止

Statistics 请求的性能数据分析
随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了
在这里插入图片描述
在这里插入图片描述

Inspectors 查看数据内容
Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容:
在这里插入图片描述
在这里插入图片描述

AutoResponder 允许拦截指定规则的请求
AutoResponder允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应。
在这里插入图片描述
在这里插入图片描述

Composer 自定义请求发送服务器
前后端接口连调Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

在这里插入图片描述

Post请求:参数写在Request Body里面。

在这里插入图片描述

我们还能够伪造Request Header中的Cookie。

在这里插入图片描述

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

Filters 请求过滤规则
网络限速FiddlerScript——测试在不同网络下的请求运行状况
Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。
在这里插入图片描述
勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host

1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:
在这里插入图片描述
2、Host 指定显示某个域名下的会话:
在这里插入图片描述

OnBeforeRequest()表示在发送一个请求时需要做什么。

在这里插入图片描述
添加代码:

oSession[“resquest-trickle-delay”]=3000;//表示延时3秒请求; 
oSession[“response-trickle-delay”]=3000;//表示延时3秒响应;

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

  1. Fiddler 设置解密HTTPS的网络数据

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。Fiddler大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

1、解密HTTPS需要手动开启,依次点击:

Tools > Fiddler Options >  HTTPS

在这里插入图片描述
2. 勾选Decrypt HTTPS Traffic
在这里插入图片描述
3. 点击OK
在这里插入图片描述

常用功能
HOST配置 -将线上的服务器IP配置为指向本地服务器IP。将线上所有的文件的地址都映射到本地。
在这里插入图片描述
1、文件替换\线上bug调式——AutoResponder

(1)可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。
因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

(2)不仅是单个url,Fiddler支持多种url匹配的方式:

I. 字符匹配
如 example可以匹配 http://www.example.com和http://example.com.cn

II.完全匹配 以EXACT开头表示完全匹配,
如上边的例子 EXACT:http://blog.csdn.net/ohmygirl

III. 正则表达式匹配
以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*.(css|js|php)$

表示匹配所有以css,js,php结尾的请求url

(3)、操作——模拟
http://cn.babybus.com/join/index_campus.shtml下的function_campus.js文件
在这里插入图片描述

欢迎点赞、关注和评论、一键三连哦!
如果你也是技术宅,如果你也对技术渴望提升,那么我们是同一类人,欢迎大家关注我的个人公众号,我们一起进步吧!在这里插入图片描述
如果对你有帮助,赞赏也是对我最大的支持。
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值