Android抓包工具——Fiddler

Android抓包工具——Fiddler前言 在平时和其他大佬交流时 总会出现这么些话 抓个包看看就知道哪出问题了 抓流量啊 payload 都在里面 这数据流怎么这么奇怪 这里出现的名词 其实都是差不多的意思啊 这都跟抓包这个词有关 说到抓包呢我们今天就先来了解一下抓包的一些基础定义跟抓包工具 Fiddler 的使用跟安装吧 本篇文章 博主只想使用通俗易懂的话语 让大家明白以下内容 什么是抓包哪些场景需要用到抓包 Fiddler 抓包的原理怎样使用 Fiddler 进行移动端抓包抓包包 Packet 是 T

前言

?在平时和其他大佬交流时,总会出现这么些话,“抓个包看看就知道哪出问题了”,“抓流量啊,payload都在里面”,“这数据流怎么这么奇怪”。

?这里出现的名词,其实都是差不多的意思啊,这都跟抓包这个词有关,说到抓包呢我们今天就先来了解一下抓包的一些基础定义跟抓包工具Fiddler的使用跟安装吧。

Android抓包工具——Fiddler

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

什么是抓包哪些场景需要用到抓包Fiddler抓包的原理怎样使用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端浏览器抓包外,还支持对移动端进行抓包

Android抓包工具——Fiddler

Fiddler抓包原理

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

Android抓包工具——Fiddler

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

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

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

Android抓包工具——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需要在浏览器中手动修改,移动端则需要在手机里设置。

安装

进入官网下载,地址为:https://www.telerik.com/download/fiddler

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

Android抓包工具——Fiddler

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

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

Android抓包工具——Fiddler

  • 如图所示,切换至Inspectors可查看对应请求的请求参数和返回参数
  • 请求参数、返回参数不同内容及格式的展示,可以切换图中对应展示窗口顶部的Tab按钮,如Headers、WebForms、Raw、Json等。
  • 会话窗口图标说明见文章末说明。

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

Android抓包工具——Fiddler

Fiddler移动端抓包

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

  1. Fiddler需要设置允许远程计算机连接,即允许手机移动端抓包;
  2. 设置手机代理网络代理,使手机通过Fiddler代理发送HTTP请求 (即Fiddler充当数据发送接收的中介);
  3. https请求抓包设置(如果只抓取http请求,以上两步设置就可以了,但实际工作中经常需要抓取https请求数据)。

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

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

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

Android抓包工具——Fiddler

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

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

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

Android抓包工具——Fiddler

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

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

Android抓包工具——Fiddler

注意:

  • 手机必须与电脑连接的是同一个网络,即连同一个WIFI或手机直接连电脑的热点,再对这个网络进行代理设置,否则无法抓取数据。
  • 第2步选择修改网络时,手机型号不同可能需要不一样的操作才能进入到修改网络页面。

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

Android抓包工具——Fiddler

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

第三步,允许捕获HTTPS连接

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

Android抓包工具——Fiddler

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

第四步,手机安装证书

步骤如下:

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

Android抓包工具——Fiddler

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

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

Android抓包工具——Fiddler

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

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

Android抓包工具——Fiddler

Android抓包工具——Fiddler

补充:

如果有需要抓包工具跟教学视频的小伙伴,记得关注我私信【资料】哦

结语

学习是件需要坚持的事情,学习的过程可能会很枯燥,不过有一些人一起学的话大概就不会了吧,跟我一起学习,有人陪伴,就不会孤单。

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。欢迎留言,或是关注我的专栏和我交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202478.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:02
下一篇 2026年3月20日 上午7:03


相关推荐

  • visual studio使用教程

    visual studio使用教程一 新建工程进入 VS 之后 点击左上角文件 gt 新建 gt 项目 也可以直接点击起始页面的新建项目 这是新建一个工程的操作 而我们要写代码就需要新建工程二 添加源文件视图 gt 解决资源管理器 接下来开始双击源文件 添加 gt 新建项 这里可以看到下图 我们可以对源文件名称进行重命名 比如以 test 为例 建立一个名为 test 的 C 语言代码 就要命名为 test c 如果命名为 test cpp 则为 C 程序 如果命名为 test h 则为头文件程序三 防止程序闪退点击本地 Windows 调试器 没

    2026年3月26日
    2
  • Ubuntu 22.04 LTS 新系统环境配置[通俗易懂]

    Ubuntu 22.04 LTS 新系统环境配置[通俗易懂]目录一、安装wps二、截图工具flameshot三、必备中文输入法fcitx-googlepinyin安装四、python3环境五、解决ssh环境恢复遇到问题搜索wpslinux版本,下载到最新版本,进入到deb包下载目录,执行安装命令。WPSOffice2019forLinux-支持多版本下载_WPS官方网站WPSOfficeForLinux,支持不同格式多版本WPSForLinux版下载,实现多人在线协同办公。https://linux.wps.cn/sudodpkg-ixxx

    2025年9月4日
    10
  • premiumsoft navicat15激活码mac[最新免费获取]2022.02.26

    (premiumsoft navicat15激活码mac)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    224
  • PHP编码规范及建议

    PHP编码规范及建议

    2021年10月10日
    42
  • phpfpm配置 php中的坑

    phpfpm配置 php中的坑

    2021年10月10日
    46
  • data与datetime和smalldatetime之间的区别

    data与datetime和smalldatetime之间的区别date:它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。DateTime:日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000到9999年12月31日23:59:59.997,精确到3.33毫秒,需要8个字节的存储空间。smalldatetime:它只能精确到分钟,可…

    2022年5月19日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号