Fiddler抓包工具的使用(高级操作精华)

news2024/11/25 9:54:33
  1. 概述

    在软件项目的开发过程中,软件的质量同样在项目起这十分重要的地位,如何保证产品质量一直是业内人员十分重视的问题。全员质量保证、软件研发流程、各种开源工具这都是对产品质量保证有一定的促进作用。那么如何将这种理念和方式落地到实际场景,还需要业内人士或者专家不断探索和尝试。对接口数据的确认和通过接口mock数据在软件项目中是起到软件质量推进和找出潜在问题的方法之一,而且在所有软件项目中这中方式都很好落地,并在短时间内产生高效的测试结果,也是来判断软件质量因素之一。

  1. 进行接口抓包工具

市场上抓包的工具有很多。

Httpwatch:也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件)

 fillder :是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP代理为127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler

Wireshark:是通用的抓包工具,能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,但如果是TCP、UDP协议可以用wireshark

Firebug:Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存

Charles:是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)

  1. 安装

3.1官方下下载地址:

Download Fiddler Web Debugging Tool for Free by Telerik

3.2具体安装步骤

1.双击运行下载文件,点击【I Agree】,进入下一步。

2.根据自己需要,可以修改路径,修改后,点击【Install】,即可安装成功

3.3HTTPS证书安装

1.默认状态下,Fiddler只能监听HTTP请求,想要抓取HTTPS请求包,需要进行设置,设置路径:Tool->Options->HTTPS

2.点击【Actions】,选择信任根证书。

直到证书安装成功,有得电脑是不需要直接将证书进行二次安装,这里说明一下需要二次安装证书的方式。

1.打开Chrome浏览器,在浏览器中导入证书

重启浏览器、重启Fiddler

至此,fillder已经安装成功

4.抓取移动端

这里重点说明下使用fillder抓取移动端的包

如果你想要对手机上的app进行抓包怎么办呢,那么你还需要进行以下操作:

首先你的Fiddler所在的电脑和手机必须处在同一个局域网内(即连着同一个路由器)。

查看你的本机IP地址,在Fiddler的右上角有一个Online按钮,点击一下会显示你的IP信息

配置连接信息:Tools > Options >Connections
- 端口默认是8888,你可以进行修改。
- 勾选Allow remote computers to connect选项,然后重启Fiddler,再次打开时会弹出一个信息,选择ok即可。

打开你的手机,找到你所连接的WIFI,长按选择修改网络,输入密码后往下拖动,然后勾选显示高级选项,然后在代理一栏选择手动,再将你先前查看的IP地址和端口号输入进去,然后保存。

最后安装手机证书,在手机浏览器一栏输入电脑的IP地址和端口号
这里我是192.168.1.157:8888
进入一个网页,点击最下面那个FiddlerRoot certificate下载证书,下载成功后在设置里面安装,安装步骤:打开高级设置->安全->从SD卡安装证书->找到证书文件->点击后为证书命名点击确定即可安装成功
(我的手机是华为的,具体过程请根据实际机型百度查找,关键词是从SD卡安装证书)

测试一下,比如在手机上打开抖音app,找到评论的那一个请求。

可以看到我们已经成功的找到了评论所对应的那个请求

5抓取PC端

对PC端的抓包安装成功即可抓包。

6操作

6.1常规操作

1.接口调试

2.接口测试

3.线上环境调试

4.判断前后端Bug

5.开发环境Hosts配置

5.1测试场景:客户端升级测试

5.2打开fiddler,工具栏-->Tools-->Hosts

5.3进入hosts配置界面,然后就可以添加自定义host了

6.2 高级操作

 6.2.1Mock数据

  1. 找到需要修改的接口,并选定。
    2.导出接口的返回数据,并进行修改。导出数据的方法如下图:

3.单选定接口,点击AutoResponder,点击Add Rule。并勾选Enable rules 和Unmatched requests passthrough

  1. 选择修改后的的文件.

5.点击空白处
6.清空页面接口信息,返回浏览器,重新请求接口

 6.2.2弱网断网测试

一、限速操作

1)路径:Rules》Cutomize Rules 或者 直接点击下图中的FiddlerScript,检查修改需要的下载和上传延时,目前上传速度1Kb/300ms,下载速度1KB/150ms

2)然后勾选弱网开关,路径:Rules》Performance》Simulate Modem Speeds,注意,改动FiddlerScript后会自动关闭弱网,正确流程,先修改,后开启

  1. 设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

6.2.3网络中断,超时操作

模拟网络中断和超时的场景流程:

1、首先把请求断点或者响应短断点打开

2、打开某个网址,可以看到一直在等待中;等一会看前端报什么信息

6.3其他操作

6.3.1指定只看固定host的请求

1.打开fiddler
2.勾选右侧Filters按钮,在hosts板块选择 Show only the following Hosts,然后输入执行host。如下图:

6.3.2 Web性能分析

选中多个请求,进行网站性能分析

Y轴:发送的请求列表

进度条为多线条型,则为缓冲模式;进度条为平滑的柱状,则为流模式

绿色圆圈:连接被重用;红色圆圈:新创建的连接

顶部圆圈:客户端连接到fiddler,下部圆圈:fiddler连接到目标服务器

灰色箭头图标/红色!图标/绿色闪电图标:服务器返回一个错误代码(3XX,4XX,5XX)

结尾处的红色X:意味着服务器发送了一个连接,连接被关闭或为private类型

  1. 总结

fidder采集器是一款非常实用的网络爬虫工具,具有界面友好、功能强大、可扩展性高等优点。在使用时需要注意其局限性和可能存在的问题,但只要掌握了正确的使用方法,就可以轻松地获取所需的数据。需要一定的技术水平。使用fidder采集器需要一定的编程和网络知识,对于非专业人士来说可能较为困难。可能会被网站屏蔽。由于fidder采集器会模拟浏览器行为,因此可能会被一些网站屏蔽或封禁。

有需要其他资料可以私信我

名师出高徒,我亲自带你出征,直捣黄龙。高手都是顶峰相见!将军有剑 不占苍蝇,将军赶路,不追小兔。都得赶紧上车 带你入行就是高手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/980575.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战教程:如何用微信小程序功能建立一个自己的商城?

微信小程序商城是一种便捷、高效的电商平台,让商家能够快速搭建自己的线上店铺,并与用户进行交互和交易。在本文中,我们将逐步介绍如何创建自己的微信小程序商城,并分享一些实战技巧。 首先,登录乔拓云网后台&#xff…

40 秒下线一台特斯拉,装配速度“令人发指”,第200万辆整车下线

今天,特斯拉宣布,中国上海超级工厂已经下线了第 200 万辆新能源汽车,这标志着其在中国市场的销售量继续增长。 这家特斯拉位于中国上海的超级工厂是其在全球最大的工厂之一。该超级工厂于2019年建成并开始生产,仅仅使用了33个月的…

伦敦金K线图头部怎样看?

伦敦金既可以做多也可以做空,如果投资者能够把握到一波行情的头部位置,并适时以空单介入,接下来等待着投资者的将是盈利的快速进账。但投资者如何才能从K线图中,看出金价是在酝酿头部呢? 我们认为判断金价阶段性头部最…

使用SpringBoot整合redis多主多从集群

SpringBoot整合Redis多主多从集群 环境准备SpringBoot整合Redis集群新建项目修改SpringBoot配置文件编写代码测试编写DTO编写Controller 测试编写的代码 环境准备 首先我们需要准备一套redis集群,可以参考我写的文章:https://blog.csdn.net/m0_51510236…

对于“微软的亲儿子“汇编真的什么都不算吗?

今日话题,汇编真的不如人称“微软的亲儿子“的C语言吗?一位毕业生分享了他的见解。他学习了汇编和C语言,随后加入嵌入式企业。他发现,C语言由于可移植性、开发效率和可读性更广泛适用。然而,在某些情况下,汇…

BRAM/URAM资源介绍

BRAM/URAM资源简介 Bram和URAM都是FPGA(现场可编程门阵列)中的RAM资源。 Bram是Block RAM的缩写,是Xilinx FPGA中常见的RAM资源之一,也是最常用的资源之一。它是一种单独的RAM模块,通常用于存储大量的数据&#xff0…

测评自养号的优势和弊端有哪些?

做跨境电商平台的都知道,补单测评是提高销量的常用策略之一,无论是哪个平台的新店铺或新产品,很难依靠自然流量取得好的销售成绩,因此许多跨境卖家选择进行测评,以提高产品的排名、权重和销量,并增加订单量…

flink cdc多种数据源安装、配置与验证

搜索 flink cdc多种数据源安装、配置与验证 文章目录 1. 前言2. 数据源安装与配置2.1 MySQL2.1.1 安装2.1.2 CDC 配置2.2 Postgresql2.2.1 安装2.2.2 CDC 配置2.3 Oracle2.3.1 安装2.3.2 CDC 配置2.4 SQLServer2.4.1 安装2.4.2 CDC 配置3. 验证3.1 Flink版本与CDC版本的对应关系…

win10系统启用win32长路径

Step1、在系统开始 输入框中输入: gpedit.msc,然后回车键。 Step2、在本地计算机 策略中,选择: 计算机配置 -> 管理模板 Step3、然后选择: 系统 -> 文件系统 Step4、窗口中上靠右侧有 启用Win32长路径,如下图: Step5、双击 启用Win…

最长递增子序列

题目链接 最长递增子序列 题目描述 注意点 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序 解答思路 初始想到使用动态规划解决本题,对于任意位置元素,找到前面比其值更小的元…

MyBatis配置及单表操作

文章目录 一. MyBatis概述二. MyBatis项目的创建1. 准备一个数据表2. 创建项目 三. MyBatis的使用1. 基本使用2. SpringBoot单元测试 四. 使用MyBatis实现单表操作1. 查询2. 修改3. 删除4. 新增 五. 基于注解完成SQL 一. MyBatis概述 MyBatis 是一款优秀的持久层框架&#xff…

Python学习 -- datetime模块

当涉及到处理日期和时间数据时,Python的datetime模块提供了一系列类来帮助您执行各种操作。以下是各个类及其常用方法的详细介绍: date 类​ date 类表示一个年、月、日的日期对象。以下是一些常用的 date 类方法: date.today() 获取当前…

rtmp推流异常分析

问题描述 向srs媒体服务上推送rtmp流,推送失败 分析过程 srs日志分析 从日志中看到发生错误时层次调用关系 [2023-09-05 11:10:29.933][Error][13594][9w5og10q][11] serve error code3001 : service cycle : rtmp: stream service : rtmp: receive thread : ha…

Spring系列文章3:基于注解方式依赖注入

和XML 配置文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测 到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作,本质上所有操作都是Java代码来完成的,XML…

windows安装Oracle19c安装

windows安装Oracle19c安装 百度云安装包地址:链接:https://pan.baidu.com/s/11XvBN8Zqb7jbhugP88IHRw 提取码:ybsy 官网下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 下载…

基于vue3和element-plus的省市区级联组件

git地址&#xff1a;https://github.com/ht-sauce/elui-china-area-dht 使用:npm i elui-china-area-dht 默认使用 使用方法 <template><div class"app"><!--默认使用--><elui-china-area-dht change"onChange"></elui-china…

【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL源码分析

一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很…

MySQL阻塞与死锁

MySQL阻塞与死锁 阻塞 因为不同锁之间的兼容性关系&#xff0c;在有些时刻一个事务中的锁需要等待另一个事务中的锁释放它所占用的资源&#xff0c;这就是阻塞。 # 查看等待时间 show variables like innodb_lock_wait_timeout; SETinnodb_lock_wait_timeout60; # 是否在等待…

深度学习面试八股文(2023.9.06持续更新)

一、优化器 1、SGD是什么&#xff1f; 批梯度下降&#xff08;Batch gradient descent&#xff09;&#xff1a;遍历全部数据集算一次损失函数&#xff0c;计算量开销大&#xff0c;计算速度慢&#xff0c;不支持在线学习。随机梯度下降&#xff08;Stochastic gradient desc…

【HTML/CSS】入门导学篇

本文属于HTML/CSS专栏文章&#xff0c;适合WEB前端开发入门学习&#xff0c;如果有所帮助请一键三连支持&#xff0c;对博主系列文章感兴趣点击下方专栏了解详细。 本文内容出自B站pink老师的前端入门教程&#xff0c;感谢pink老师&#xff01;&#xff01;&#xff01; 视频链…