fiddler移动端抓包使用教程(详解)

2023-11-07

目录:导读

前言

抓包

什么是抓包

哪些场景下需要抓包

Fiddler

Fiddler抓包原理

安装

Fiddler移动端抓包

第一步:允许远程计算机连接

第二步,设置手机网络代理

第三步,允许捕获HTTPS连接

第四步,手机安装证书

写在最后


前言

本篇文章,博主想使用通俗易懂的话语,让大家明白以下内容:

  1. 什么是抓包
  2. 哪些场景需要用到抓包
  3. Fiddler抓包的原理
  4. 怎样使用Fiddler进行移动端抓包

抓包

包 (Packet) 是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。

我们平常测试过程中所说的数据包其实就是接口请求的数据,在HTTP请求中,包括请求头信息、请求内容、响应头信息、响应内容。

什么是抓包

用特定的工具获取客户端与服务端之间发送和返回的数据包。目的是分析数据包的协议、内容等,从而判断接口的设计是否符合要求,比如抓包某次请求的请求参数与响应参数,查看参数是否正确。

哪些场景下需要抓包

对于初学者或者没有接触过接口测试的同学而言,可能不太明白做接口测试或者接口自动化测试为什么一定要学会对接口数据进行抓包。

那么在哪些场景下需要抓包获取请求数据呢?

  1. 重现bug,需要截取数据定位问题时;

  2. 判断问题是前端bug还是后端bug时;

  3. 做接口测试,但开发没有提供接口文档时,需要抓包才能获取接口信息;

  4. 某个功能场景或者某些功能场景我们不知道调用了哪些接口,或者不知道接口调用的先后顺序时;

  5. 需要修改返回参数时(用于mock或者别的场景)

在实际测试过程中,用的最多的场景是1、2、3、4。

Fiddler

抓包工具有很多种,如Wireshark、Fiddler、Charlse、Tcpdump、浏览器工具(F12)等,但在软件测试工作中抓包对象一般是HTTP协议的接口,所以最多的是浏览器工具、Fiddler/Charlse。

Fiddler特点简单归纳如下:

  1. Fiddler能抓取客户端和服务器之间的HTTP/HTTPS请求,可以对接口请求设置断点,甚至修改输入输出数据

  2. Fiddler只能抓取HTTP/HTTPS协议

  3. Fiddler除能对PC端浏览器抓包外,还支持对移动端进行抓包

Fiddler抓包原理

通常,我们使用浏览器浏览网页,或者使用手机上的APP,交互可以使用以下简化的流程图表示:

客户端(PC端或移动端) 向服务端通过发送HTTP请求进行数据交互,而我们的需求是,抓取这个交互过程中的数据。

我们只需要在客户端与服务端之间加上一个中介,让它们之间交互的数据都通过这个中介,中介记录这些通过自身的数据,就能获取到客户端与服务端之间具体的交互数据了。

Fiddler便可以充当这个中介角色,交互流程如下:

启动Fiddler其实就是启动了一台代理web服务器(Proxy),代理地址为127.0.0.1,端口为8888。只要HTTP请求通过127.0.0.1:8888 (即Fiddler) 进行代理发送与接收,Fiddler就会记录经过自身的HTTP请求数据,便抓取到了HTTP请求的相关数据。

而怎样才能使得HTTP请求都通过127.0.0.1:8888进行代理?Fiddler启动时IE浏览器的代理会自动设置127.0.0.1:8888为代理地址,Chrome、Firefox需要在浏览器中手动修改,移动端则需要在手机里设置。

安装

进入官网下载,地址为:Download Fiddler Web Debugging Tool for Free by Telerik

需填写内容可填写如下,Windows系统点击【Download for Windows】,点击后会跳转页面并开始下载 (没有的话可以多尝试两次) ,如果没有下载可根据跳转页面提示进行点击。

下载后得到安装文件FiddlerSetup.exe,一路傻瓜式安装即可。目前下载的版本为Progress Telerik Fiddler Classic

安装完成后,打开Fiddler,主界面如下:

  • 如图所示,切换至Inspectors可查看对应请求的请求参数和返回参数

  • 请求参数、返回参数不同内容及格式的展示,可以切换图中对应展示窗口顶部的Tab按钮,如Headers、WebForms、Raw、Json等。

  • 会话窗口图标说明见文章末说明。

接下来介绍怎样使用Fiddler进行手机移动端抓包。

Fiddler移动端抓包

我们先来屡一下移动端抓包的大概思路:

  1. Fiddler需要设置允许远程计算机连接,即允许手机移动端抓包;

  2. 设置手机代理网络代理,使手机通过Fiddler代理发送HTTP请求 (即Fiddler充当数据发送接收的中介);

  3. https请求抓包设置(如果只抓取http请求,以上两步设置就可以了,但实际工作中经常需要抓取https请求数据)。

按照如上思路我们开始进行具体设置。

第一步:允许远程计算机连接

设置步骤:Tools-->Options-->Connections-->勾选Allow remote computers to connect-->再点击OK,其他默认即可,如下图所示:

勾选后如果有弹窗确认页面,点击【确定】即可。顺便说一下,上图勾选页面中的8888为默认的端口号,在第二步设置时需要使用。

第二步,设置手机网络代理

首先,需要先获取到安装Fiddler的电脑的IPv4地址,在cmd中输入ipconfig,如下图所示:

然后,在手机上找到对应的WLAN网络,进行该网络代理的设置,以荣耀V20手机为例,操作步骤如下图所示:

手机系统设置-->WLAN-->修改网络-->高级选项-->代理-->选择手动-->主机名填入上一步IPv4-->端口填入默认的8888-->保存

注意:

  • 手机必须与电脑连接的是同一个网络,即连同一个WIFI或手机直接连电脑的热点,再对这个网络进行代理设置,否则无法抓取数据。

  • 第2步选择修改网络时,手机型号不同可能需要不一样的操作才能进入到修改网络页面。

到这一步,重启Fiddler后,便可以对手机上的http请求进行抓包了。如果不能抓取的话,可以在手机里重新保存上图中的代理设置,再进行请求。到这一步后,手机上打开APP操作,抓包的http请求,如下图所示:

可以看到,这里面只抓取了http请求,如果要对https请求进行抓包,则还需要进行下面的操作

第三步,允许捕获HTTPS连接

设置步骤:Tools-->Options-->HTTPS-->勾选Decrypt HTTPS traffic-->再勾选Ignore server certificate errors-->点击OK

注意,保存设置后需要重启Fiddler才会生效

第四步,手机安装证书

步骤如下:

  1. 在手机上选择任意浏览器,输入第二步中的设置的代理地址,host为即Fiddler安装电脑的IPv4地址,端口号即为默认的8888
  2. 1打开的网页中点击FiddlerRoot certificate下载证书

Android手机到这一步就可以了,苹果手机还需要在手机设置里去信任下载的证书,信任证书的操作步骤这里不做过多说明。

完成这两步后,我们即可以抓取手机发出的http请求,又可以抓取手机发出的https请求。在手机上打开今日头条APP,验证如下:

至此,Fiddler移动端抓包设置便完成。

附上会话窗口图标说明,如下:

写在最后

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

都到这了记得三连支持一下吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fiddler移动端抓包使用教程(详解) 的相关文章

  • 基于Loadrunner的性能分析及调优经验分享

    公司某个系统的微信端计划将开放给几百上千的人员登录查询 并且登录账号为同一账号多人使用 后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件 因此 项目组决定提交测试
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|Python中如何提取列表中索引为奇数的元素

    简介 在Python中 我们经常需要从列表中提取特定位置的元素 如果我们想要提取列表中索引为奇数的元素 可以使用一些简单的方法来实现这一目标 本文将介绍如何在Python中提取列表中索引为奇数的元素 并提供示例代码来帮助大家更好地理解这个过
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 我可以使用 Fiddler 脚本修改 JSON 响应吗

    以下是我从服务器获得的响应 正文 我正在寻找修改一些键值对 我使用了以下方法 var bodystr oSession GetResponseBodyAsString var bodyjson Fiddler WebFormats JSON
  • 如何使用 PAC(代理自动配置)通过 Fiddler 调试 Htmlunit 流量

    我有一个使用 Htmlunit 的应用程序 需要放置 Fiddler 来拦截流量 我读了一些有关通过附带的 PAC 代理自动配置 javascript 文件配置它的内容 但我无法再次找到该文章 如何通过 PAC 配置 Htmlunit PA
  • IE7 一段时间后停止发出网络请求

    我们的 asp net 系统是一个更大系统的一部分 它是通过这个更大的系统从 javascript 启动的 该系统执行 window open 调用来打开一个新窗口 此外 身份验证数据等通过加密的查询字符串参数传递到我们的系统 当使用 IE
  • 无法在fiddler中捕获jmeter流量

    我创建了 JMeter 记录 但当我开始测试时 我在 Fiddler 中没有看到任何请求 我改变了 Fiddler 中的端口号为 8080 我在 JMeter 中使用该端口号 Steps 创建线程组 将Http请求添加到线程组并输入URL
  • 阻止特定 URL 进行测试的最佳方法是什么?

    我正在使用 Google Chrome 和 Fiddler 版本 4 4 观察一个网站 该页面正在使用 AJAX 来更新其数据 我想阻止特定的 URL 以测试如果它不起作用会发生什么 阻止 URL 最简单的方法是什么 你希望发生什么 转到自
  • Fiddler 导致我的互联网访问停止工作

    我的计算机上安装了 Windows 8 1 并经常使用 Fiddler 捕获网络流量 然而 最近 当我打开 Fiddler 并让它捕获网络流量时 我的互联网连接中断了 我打开 IE 时收到的错误是 无法显示此页面 在 Chrome 中 我收
  • 如何配置Fiddler监听localhost?

    我想监视本地计算机上的进程与也在本地计算机上运行的另一个 服务器 进程之间的 HTTP 流量 如何配置 Fiddler 来监听来往的流量localhost 只需将 fiddler 添加到 url 即可 http localhost fidd
  • 如何在Fiddler中显示请求发送时间和响应接收时间?

    我正在使用 Fiddler Web 调试器工具版本 4 4 4 8 我已经向例如提出了请求www google com 和 fiddler 显示发送了请求并收到了响应 我如何知道并显示请求何时发送以及何时收到响应 开始 结束日期不在 Fid
  • Fiddler 未捕获来自 Java 应用程序的 HTTP 请求

    我目前正在编写一个 java 应用程序 它使用 HTTP POST 将 csv 文件和一些其他参数上传到服务器 服务器不断向我的应用程序返回 500 错误 我想在 Fiddler 中查看 HTTP 请求 以便可以看到 POST 请求 当我运
  • 运行 Fiddler 作为 HTTPS 服务器的反向代理

    我有以下情况 2台主机 一台是客户端 另一台是HTTPS服务器 Client

随机推荐

  • 趣谈操作系统原理,存储管理之页式、段式、段页式存储

    一 概述 非连续分配管理方式允许一个程序分散地装入到不相邻的内存分区 根据分区的大小是否固定分为分页式存储管理方式和分段式存储管理方式 分页存储管理方式中 又根据运行作业时是否要把作业的所有页面都装入内存才能运行分为基本分页式存储管理方式和
  • centos 7 安装mariadb(转)

    一 检测本机是否已安装mariadb 或者MySQL rpm qa grep mariadb rpm qa grep mysql 下面是我的结果 因为我已经安装过了 二 如果检测到有类似的安装包 建议先全部删除 重新安装 否则会有一些配置被
  • CodeForces - 6B

    题目链接 import java util Scanner public class Main public static void main String args Scanner sc new Scanner System in int
  • 计算机网络复习资料

    选择与填空 概述 从通信双方信息交互的方式来看 通信有三种基本的方式 分别是单向通信 双向交替通信 和 双向同时通信 如果收发两端之间的传输距离为 10km 信号在媒体上的传输速率为 2 105km s 数据长度为 1000B 数据发送速率
  • @Param注解的用法

    1 概述 首先明确这个注解是为SQL语句中参数赋值而服务的 Param的作用就是给参数命名 比如在mapper里面某方法A int id 当添加注解后A Param userId int id 也就是说外部想要取出传入的id值 只需要取它的
  • 【思科、华为、华三这三大认证,选哪个考最好?】

    说起考证 大多数网络工程师心里都要抖上一抖 对于没考证的网工来说 一听就头痛 怎么谁都有了 就自己没有 对于考了证的网工来说 一听也头痛 怎么这刚考了一个 其他同事考了三个 今天我主要想和你聊的是 思科 华为 华三这三大认证的前景分析 以及
  • 下面一段代码竟然引起反复打开的时候IE进程挂起

    var lchs close window onunload function if lchs fresh if window screenLeft gt 10000 logout else logout window onbeforeun
  • vscode中如何让结果显示在弹出cmd框中

    1 首先修改配置文件launch json终端的 externalConsole true 这个必须为true 注意 后面不能带逗号 2 执行的时候按F6 按F5的时候还是一样显示在旁边的终端窗口中 但是 按F6就会显示在弹出的cmd窗口中
  • 什么叫工作?

    当时公司招了大批应届本科和研究生毕业的新新人类 平均年龄25岁 那个新的助理 是经过多次面试后 我亲自招回来的一个女孩 名牌大学本科毕业 聪明 性格活泼 私下里我得承认 我招她的一个很重要的原因 除了她在大学里优秀的表现之外 还因为她写了一
  • 文件操作命令

    文章目录 touch 命令 命令格式 常用用法 stat命令 命令格式 常用用法 cat命令 命令格式 常用用法 more命令 命令格式 常用用法 less命令 命令格式 常用用法 head命令 命令格式 常用用法 tail命令 命令格式
  • Python中重写(override)

    Python中重写 override Python中 有重写 override 的概念 但是没有严格意义上的重载 overload 类继承时 子类可以重新定义父类中已有的方法 称为重写 Override 在Python中 没有像其他语言 如
  • 前端高频面试题 Day03

    1 Vue computed 和 watch 区别 对于Computed 它支持缓存 只有依赖的数据发生了变化 才会重新计算 不支持异步 当Computed中有异步操作时 无法监听数据的变化 computed的值会默认走缓存 计算属性是基于
  • (CUDA)快速GPU开发------Device函数应用

    Device函数表示的是仅仅在设备 Device 端能够使用的函数 Device函数可以是任何的函数 这样可以通过每一个线程来运行一个Device函数来达到并行的目的 在本文中聚焦软件开发速度 故而不讨论计算性能问题 目录 适用项目 开发方
  • 震惊,竟然能通过表达式计算VO,再也不用手打Getter计算方法了,程序员福利

    我有一个问题 假设我们从给前端返回一个VO 但是VO中的某些属性需要通过计算得来的 如果我们每次都要在实体类中直接计算的话 不利于代码维护性 每次改变计算方法都要重新修改方法 十分麻烦 所以我就想能不能通过一个数学表达式来计算实体类中的属性
  • H20安装

    首先进入一个你自己文件夹 例如 home h2o 1 官网下载 wget c http h2o release s3 amazonaws com h2o rel weierstrass 7 h2o 3 14 0 7 zip 2 解压 安装z
  • 云鲸扫拖一体机器人说明书_活久见,会自己洗拖布的云鲸扫拖机器人

    一 前言 随着科技的发展 从20世纪最重要的发明解放生产力的洗衣机开始 各种自动设备逐渐走入了人们的家庭 但是与西方国家不同家用吸尘器在国内一直不温不火难以成为每一个家庭的必备 中国人日常的清洁工具依旧是扫帚 拖把 抹布 PS 可能是国人不
  • 新手教程04:Gvim快捷键小结

    前言 零基础初学数字IC 学会什么写什么 与大家一起进步 本文主要总结一些Gvim的快捷键 1 H J K L 左 下 右 上 2 w 跳转到下一个单词 b 跳转到上一个单词 3 y 复制 P 粘贴 yy 复制一行 yj 复制当前行和下一行
  • 盘点适合女生的IT方向!谁说女生不能学IT

    IT行业发展趋势越来越好 很多女生也想转行学习IT 但又担心没有合适自己的专业 潜意识觉得IT都是男生学的 今天就来给大家盘点一下 女生在互联网行业的学习方向 女生学IT超酷 的 1 UI设计 UI设计非常注重细节和美感 女性在视觉美感 色
  • 51单片机入门教程(3.2)——数码管的显示实现(0-9)

    连线图 注意 unsigned char code LedChar 10 0xC0 0xF9 0xA4 0xB0 0x99 0x92 0x82 0xF8 0x80 0x90 编写注意辨别LED灯管 共阳数码管 共阴数码管 include
  • fiddler移动端抓包使用教程(详解)

    目录 导读 前言 抓包 什么是抓包 哪些场景下需要抓包 Fiddler Fiddler抓包原理 安装 Fiddler移动端抓包 第一步 允许远程计算机连接 第二步 设置手机网络代理 第三步 允许捕获HTTPS连接 第四步 手机安装证书 写在