Fiddler 抓包教程

Fiddler 抓包教程

一、下载及安装

1.下载

Fiddler 下载地址:https://www.telerik.com/download/fiddler

2.安装

在这里插入图片描述

二、PC 端抓包

1.抓取 HTTP 协议

打开 Fiddler 工具,打开任意一个浏览器,输入想要抓取的网址。如:www.baidu.com

查看会话列表,选择其中一个会话,查看请求信息中 Inspectors,查看详细数据

在这里插入图片描述

2.解析 HTTPS 加密请求

在这里插入图片描述

如上图所示,请求左边是一个锁的样式,右边返回内容中提示了"This is a CONNECT tunnel, through which encrypted HTTPS traffic flows"

需要配置 Fiddle 来解析这些加密的请求,根据第二行那句"enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option."

步骤:

  1. Tools -> Options -> HTTPS -> 勾选 Decrypt HTTPS traffic
  2. 点击 Actions -> Trust Root Certificate -> 选择 Yes

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、移动端抓包

Fiddler 配置连接信息

Tools -> Options -> Connections,设置代理端口 8888,勾选 Allow remote computers to connect,点击 ok

在这里插入图片描述

Fiddler 中就可以看到本机的无线网卡 IP 了,也可以 cmd -> ipconfig 查看

在这里插入图片描述

要通过 Fiddler 对手机抓包,需要保证 Fiddler 所在的电脑和手机必须处在同一个局域网内,即连着同一个路由器

步骤

  1. PC 端打开热点
  2. 手机连接 PC 端热点
  3. 配置代理 手动 -> 服务器:<电脑ip> -> 端口:8888
  4. 浏览器访问:<电脑ip>:8888
  5. 下载并安装证书
  6. 证书安装完成后,用手机访问应用时,就可以看到抓取到的数据包了

在这里插入图片描述

在这里插入图片描述

四、其它

1.筛选

点击右侧 Filters -> 勾选 Use Filters

在这里插入图片描述

Hosts 下面,第一个选项:空间过滤
第二个选项:主机名过滤

在这里插入图片描述

空间过滤:区分内网跟外网
No Zone Filter:不通过空间进行过滤
show only Intranet Hosts: 内网
show only Internet Hosts: 外网

主机名过滤
No Host Filter:不通过主机名过滤
Hide the following Hosts:隐藏下边输入的主机名的请求
Show only the following Hosts:只显示下边输入的主机名的请求
Flag the following Hosts:标记下边输入的要过来的主机名的请求,黑色粗体标记

筛选指定主机名:

  1. -No Host Filter- 选择 Show only the following Hosts
  2. 输入框输入要筛选的主机名:如 www.baidu.com,多个 Host 时用分号分隔,输入框为黄色代表未保存
  3. Actions -> Run Filterset now:马上执行过滤

在这里插入图片描述

其他过滤方法

在这里插入图片描述

2.展示接口的响应时间

2.1 直接点击接口查看接口响应时间

在这里插入图片描述

2.2 新增一列展示接口响应时间

Rules -> Customize Rules… -> 搜索:class Handlers

在类里增加以下方法:

// 显示每行请求的服务端耗时时间
public static BindUIColumn("Time Taken", 80)
function CalcTimingCol(oS: Session){
  var sResult = "0";
  if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest)) {
    sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).TotalMilliseconds.ToString("N0");
  }
  return sResult + "ms";
}

在这里插入图片描述

保存,重新打开 fiddler 就能看到每个请求的耗时了。单位毫秒

在这里插入图片描述

更多方法

// 显示每行请求的发起时间:时分秒毫秒
public static BindUIColumn("BeginTime", 80)
function BeginTimingCol(oS: Session) {
  return oS.Timers.ClientDoneRequest.ToString("HH:mm:ss.fff");
}

// 显示每行请求的响应时间:时分秒毫秒
public static BindUIColumn("EndTime", 80)
function EndTimingCol(oS: Session) {
  return oS.Timers.ServerDoneResponse.ToString("HH:mm:ss.fff");
}

// 显示每行请求的服务器IP
public static BindUIColumn("ServerIP", 80)
function xxxdColumn(oS: Session): String {
  return oS["X-HostIP"];
}

3.http 请求的 host 参数值为 Tunnel to

fiddler 做代理转发 https 请求时,就会产生:CONNECT Tunnels,可以不管它。

在这里插入图片描述

4.开启 Fiddler 后 Postman 无法发起请求

关闭 SSL 设置Settings -> General -> 关闭:SSL certificate verification

在这里插入图片描述

5.图标含义

官方文档
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值