Fiddler抓包测试基础教程(fiddler抓包app教程)
liuian 2025-07-10 16:40 55 浏览
1.抓包概念
抓包就是将网络传输发送(请求)与接收(响应)的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。
2.为什么抓包测试?(fiddler开源,C#)
1:有时候公司中接口文档某几个信息可能不详细,要测试这些接口的请求参数与响应结果,以及数据传输是否安全,那么可以通过抓包测试实现;
2:通过抓取数据请求,可以放到Jmeter中对服务器做压力或者接口测试;
3:通过抓包工具,可以分析接口的请求参数,响应结果,以及数据传输是否安全;
4:通过抓包工具,可以编辑请求或者响应,达到测试效果。
3.抓包测试原理
设置代理的通信过程
4.抓包工具Fiddler
4.1安装Fiddler
根据链接下载Fiddler:
https://www.telerik.com/download/fiddler
下载完成之后,按缺省选项安装
双击安装FiddlerSetup.exe
4.1.1findler界面
4.2设置Fiddler
Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。
设置Fiddler
*点击Tools-->Options-->Connections-->勾选Allow remote computer to connect(允许远程设备连接到Fiddler上),端口号8888
以上设置之后只能抓取http协议的地址
* 在抓取http数据包设置的基础上进行以下的设置Fiddler抓取https数据包
Tools-->Options-->Https
勾选decrypt https traffic....> 可能会弹出安装证书的询问框(信任fiddler证书吗?)
* 如果不弹框,action-->reset all ca(重置 删除证书)
设置浏览器上网经过代理服务器(IE和谷歌会自动设置)
从Firefox 浏览器右上角首选项->常规->网络设置
注意:如果不选择也将此代理用于FTP和HTTPS默认只能抓取HTTP协议地址
设置手机上网经过代理服务器(模拟器/真机)
* 必须保证手机网络和电脑网络在同一个网络内(要么连接同一个wifi,要么电脑开wifi,手机连接)
*首先获取PC的ip地址:命令行中输入:ipconfig,获取ip地址
* 长按-->修改网络-->显示高级选项-->手动代理-->电脑ip和fiddler端口号
手机抓包https操作
* 在手机上下载Fiddler的安全证书并安装证书(在抓取http设置基础上)
浏览器上输入ip+端口号,进行证书下载安装
使用Android手机的浏览器打开:http://电脑ip:8888, 点“FiddlerRoot certificate” 然后安装证书。(最好用手机自带浏览器下载安装)
如图:
4.3.抓取app和web网页数据包
抓取app数据包
打开Fiddler,然后打开手机中app,Fiddler抓包如下:
抓取web数据包
打开Fiddler,然后打开浏览器,输入url,Fiddler抓包如下:
通过以上设置,可以进行http请求的抓取
* 以抓取 儿歌多多 为例-->http请求
http://bb.ergeduoduo.com
若出现乱码,点击提示
4.4.抓取内容的分析
Fiddler抓到的数据包的含义
名称
含义
#
抓取HTTP Request的顺序,从1开始,以此递增
Result
HTTP状态码
Protocol
请求使用的协议,如HTTP/HTTPS/FTP等
Host
请求地址的主机名
URL
请求资源的位置
Body
该请求的大小
Caching
请求的缓存过期时间或者缓存控制值
Content-Type
请求响应的类型
Process
发送此请求的进程:进程ID
Comments
允许用户为此回话添加备注
Custom
允许用户设置自定义值
Statistics 请求的性能数据分析
*随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了
Inspectors 查看数据内容
*Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容:
4.5.AutoResponder 允许拦截指定规则的请求
AutoResponder允许你拦截指定规则的请求,并返回本地资源或Fiddler资源,从而代替服务器响应。 >> AutoResponder:文件代理【常用】。例如,将一个需要服务端返回的文件,使用本地文件做代理。
匹配规则,如:
我将“http://ergeduoduo.com”这个关键字与我电脑“C:\Users\jiangnengbao\Desktop\phone_bg.jpg”这张图片绑定了,点击Save保存后勾选Enable rules,再访问http://ergeduoduo.com,就会被劫持。
4.6.Composer 自定义请求发送服务器(接口测试)
Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求 》》 n.(尤指古典音乐的) 创作者; 作曲者; 作曲家;
Parsed模式下你只需要提供简单的URL地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)
>> 前后端接口连调——Composer
选中一个接口——>拖拽到Composer面板;
准备工作:
接口请求方式、请求参数;
Get请求:参数直接写在接口里面
4.7.添加过滤器
Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。
勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host
filter-->勾选use filter-->show only the following hosts(只展示下面的主机)-->填写主机名,号隔开
* 过滤器不使用的时候取消勾选
4.8.断点操作(篡改参数)
rules-->automatic breakpoints-->
* before request 请求之前 :修改请求方式 请求路径 请求头 请求参数等...
编辑请求的内容 查看对应的响应结果,来达到接口测试的目的
* after response 响应之后: 修改响应内容 响应头....
有时需要修改数据库中的数据,查看页面内容是否动态跟随改变,但是不是所有人都有数据库操作权限,此时可以借助断点编辑响应的内容 查看页面展示内容是否动态改变
断点可以查看app里面网络有没有重连机制,一个网络健壮的app是应该有重连机制的
4.9.模拟弱网
rules--->custome rules
搜索m_Simulate
if (m_SimulateModem) {
//每延迟300ms发送1kb的数据,也就是每1s发送3kb的数据
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
//每延迟150ms下行1kb的数据
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
网络取值的算法就是: 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay20毫秒来接收数据。
1000/想要的速度(kb/s) = 延时毫秒值--->1000/50kb/s = 20ms
* fiddler限速的原理是通过延长请求/响应的时间进行上行 下行的限速
让规则起作用,打开规则
* rules-->performance-->勾选 Simulate Modem Speeds(启用限速规则)
请注意,当你存档之后,原本已经勾选的SimulateModem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔!
4.10.moke测试 》》 它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开。
测试过程中往往遇到测试数据不全等问题,使用fiddler来作为代理对网络请求进行重定向来实现mock测试的功能。
重定向到本地数据,返回本地数据:
1. 编写本地数据(数据源根据具体接口来)
2. 选择目标消息,并且点击“AutoResponder”--》“Add Rule”,添加到右框中,并输入拦截链接。
3.导入本地数据
4.勾选三个选项
5.访问链接,返回本地数据
重定向到其他链接上:
1.只需要改动一步,在最下面一栏改成需要访问的链接即可
注意:不管是重定向到本地或其他链接都需要选中规则条目才能生效
抓包颜色锁的说明
》》》
使用fiddler抓包时,会看到左侧按照顺序显示session,并且前边有个图标,但通常,不知道图标是什么意思。
参考官方文档:UIGuide
这里尤其注意“锁图标”这里写图片描述,它用来标记,在网络环境受限时,为https建立http tunnel
· 响应是图片
使用fiddler抓包时,会看到左侧按照顺序显示session,并且前边有个图标,但通常,不知道图标是什么意思。
具体文档可以关注私信我哦,各种教程哦!
相关推荐
- 搭建一个20人的办公网络(适用于20多人的小型办公网络环境)
-
楼主有5台机上网,则需要一个8口路由器,组网方法如下:设备:1、8口路由器一台,其中8口为LAN(局域网)端口,一个WAN(广域网)端口,价格100--400元2、网线N米,这个你自己会看了:)...
- 笔记本电脑各种参数介绍(笔记本电脑各项参数新手普及知识)
-
1、CPU:这个主要取决于频率和二级缓存,频率越高、二级缓存越大,速度越快,现在的CPU有三级缓存、四级缓存等,都影响相应速度。2、内存:内存的存取速度取决于接口、颗粒数量多少与储存大小,一般来说,内...
- 汉字上面带拼音输入法下载(字上面带拼音的输入法是哪个)
-
使用手机上的拼音输入法打成汉字的方法如下:1.打开手机上的拼音输入法,在输入框中输入汉字的拼音,例如“nihao”。2.根据输入法提示的候选词,选择正确的汉字。例如,如果输入“nihao”,输...
- xpsp3安装版系统下载(windowsxpsp3安装教程)
-
xpsp3纯净版在采用微软封装部署技术的基础上,结合作者的实际工作经验,融合了许多实用的功能。它通过一键分区、一键装系统、自动装驱动、一键设定分辨率,一键填IP,一键Ghost备份(恢复)等一系列...
- 没有备份的手机数据怎么恢复
-
手机没有备份恢复数据方法如下1、使用数据线将手机与电脑连接好,在“我的电脑”中可以看到手机的盘符。 2、将手机开启USB调试模式。在手机设置中找到开发者选项,然后点击“开启USB调试模式”。 3、...
- 电脑怎么激活windows11专业版
-
win11专业版激活方法有多种,以下提供两种常用的激活方式:方法一:使用激活密钥激活。在win11桌面上右键点击“此电脑”,选择“属性”选项。进入属性页面后,点击“更改产品密钥或升级windows”。...
- 华为手机助手下载官网(华为手机助手app下载专区)
-
华为手机助手策略调整,已不支持从应用市场下载手机助手,目前华为手机助手是需要在电脑上下载或更新手机助手到最新版本,https://consumer.huawei.com/cn/support/his...
- 光纤线断了怎么接(宽带光纤线断了怎么接)
-
宽带光纤线断了可以重接,具体操作方法如下:1、光纤连接的时候要根据束管内,同色相连,同芯相连,按顺序进行连接,由大到小。一般有三种连接方法,分别是熔接、活动连接和机械连接。2、连接的时候要开剥光缆,抛...
- win7旗舰版和专业版区别(win7旗舰版跟专业版)
-
1、功能区别:Win7旗舰版比专业版多了三个功能,分别是Bitlocker、BitlockerToGo和多语言界面; 2、用途区别:旗舰版的功能是所有版本中最全最强大的,占用的系统资源,...
- 万能连接钥匙(万能wifi连接钥匙下载)
-
1、首先打开wifi万能钥匙软件,若手机没有开启WLAN,就根据软件提示打开WLAN开关;2、打开WLAN开关后,会显示附近的WiFi,如果知道密码,可点击相应WiFi后点击‘输入密码’连接;3、若不...
- 雨林木风音乐叫什么(雨林木风是啥)
-
雨林木风的创始人是陈年鑫先生。陈年鑫先生于1999年创立了雨林木风公司,其初衷是为满足中国市场对高品质、高性能电脑的需求。在陈年鑫先生的领导下,雨林木风以技术创新、产品质量和客户服务为核心价值,不断推...
- aics6序列号永久序列号(aics6破解序列号)
-
关于AICS6这个版本,虽然是比较久远的版本,但是在功能上也是十分全面和强大的,作为一名平面设计师的话,AICS6的现有的功能已经能够应付几乎所有的设计工作了……到底AICC2019的功能是不是...
- 手机可以装电脑系统吗(手机可以装电脑系统吗怎么装)
-
答题公式1:手机可以通过数据线或无线连接的方式给电脑装系统。手机安装系统需要一定的技巧和软件支持,一般需要通过数据线或无线连接的方式与电脑连接,并下载相应的软件和系统文件进行安装。对于大部分手机用户来...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
