【Fiddler】脚本过滤识别模块接口过滤和标记,梳理业务影响范围实践指南

作为资深测试工程师,我来详细指导你如何使用Fiddler进行接口抓包和分析,特别是在不知道接口模块归属的情况下。

一、Fiddler基础设置

1. 安装与初始配置

1. 下载安装Fiddler Classic(免费版足够使用) 2. 首次启动需要进行HTTPS解密设置: Tools → Options → HTTPS ✓ Capture HTTPS CONNECTs ✓ Decrypt HTTPS traffic 安装证书(按提示操作) 3. 重启Fiddler生效

2. 基础过滤设置

在右侧Filters选项卡中:

1. Use Filters:勾选启用 2. Hosts区域: - No Zone Filter:默认 - No Host Filter:默认 - Hide the following Hosts:可隐藏已知的非目标域名 3. Request Headers: ✓ Hide if URL contains:可隐藏静态资源(.js,.css,.png等)

二、脚本方式过滤(重点)

1. 打开自定义脚本

点击菜单栏:Rules → Customize Rules(或按Ctrl+R)
这会打开CustomRules.js文件

2. 常用过滤脚本示例

示例1:只抓取特定端口的流量
// 在OnBeforeRequest函数中添加staticfunctionOnBeforeRequest(oSession:Session){// 只抓取80和443端口的请求if(oSession.port!=80&&oSession.port!=443){oSession["ui-hide"]="true";// 隐藏非HTTP/HTTPS请求}}
示例2:按URL关键词过滤
staticfunctionOnBeforeRequest(oSession:Session){varhideSession=false;// 隐藏静态资源varstaticExtensions=[".js",".css",".png",".jpg",".gif",".ico",".woff",".woff2"];for(vari=0;i<staticExtensions.length;i++){if(oSession.PathAndQuery.toLowerCase().indexOf(staticExtensions[i])>-1){hideSession=true;break;}}// 只显示API接口(根据常见API路径模式)varapiPatterns=["/api/","/v1/","/v2/","/rest/","/service/","/gateway/"];varisApi=false;for(vari=0;i<apiPatterns.length;i++){if(oSession.PathAndQuery.toLowerCase().indexOf(apiPatterns[i])>-1){isApi=true;break;}}if(!isApi){hideSession=true;}if(hideSession){oSession["ui-hide"]="true";}}
示例3:按响应内容类型过滤
staticfunctionOnBeforeResponse(oSession:Session){// 只显示JSON和XML响应(通常是API接口)varcontentType=oSession.oResponse["Content-Type"];if(contentType){if(!contentType.toLowerCase().contains("application/json")&&!contentType.toLowerCase().contains("application/xml")&&!contentType.toLowerCase().contains("text/xml")){oSession["ui-hide"]="true";}}}
示例4:复杂过滤逻辑 - 识别未知模块接口
// 定义一个函数来识别和分类接口staticfunctionClassifyAndFilterInterface(oSession:Session){varurl=oSession.PathAndQuery.toLowerCase();varhost=oSession.host.toLowerCase();// 模块关键词映射(可根据实际情况扩展)varmoduleKeywords={"user":["user","login","register","profile","account"],"order":["order","cart","checkout","payment"],"product":["product","item","goods","sku","inventory"],"system":["config","system","setting","log"],"content":["article","news","content","blog"]};// 检查URL是否包含模块关键词vardetectedModule="unknown";for(varmoduleinmoduleKeywords){for(vari=0;i<moduleKeywords[module].length;i++){if(url.indexOf(moduleKeywords[module][i])>-1){detectedModule=module;// 为会话添加自定义标记oSession["ui-customcolumn_module"]=module;break;}}if(detectedModule!=="unknown")break;}// 根据模块进行过滤(例如只显示特定模块)varmodulesToShow=["user","order","product"];// 只显示这些模块if(modulesToShow.indexOf(detectedModule)===-1){oSession["ui-hide"]="true";}returndetectedModule;}// 在请求时调用staticfunctionOnBeforeRequest(oSession:Session){ClassifyAndFilterInterface(oSession);}

三、高级抓包策略

1. 设置断点拦截特定请求

// 在CustomRules.js中添加staticfunctionOnBeforeRequest(oSession:Session){// 为特定接口设置断点if(oSession.uriContains("login")||oSession.uriContains("checkout")){oSession["x-breakrequest"]="keyword";// 请求时中断}}

2. 自动标记和注释

staticfunctionOnBeforeRequest(oSession:Session){// 根据接口特征自动添加注释if(oSession.uriContains("/api/v1/users")){oSession["ui-comments"]="用户模块 - 获取用户列表";}if(oSession.uriContains("/api/v1/orders")){oSession["ui-comments"]="订单模块 - 创建订单";}}

3. 批量导出接口信息

// 创建导出脚本staticfunctionExportAPIs(){varapiList=[];for(vari=0;i<FiddlerObject.UI.lvSessions.Items.Count;i++){varoSession=FiddlerObject.UI.lvSessions.Items[i].Session;if(!oSession["ui-hide"]){apiList.push({"Method":oSession.RequestMethod,"URL":oSession.fullUrl,"Module":oSession["ui-customcolumn_module"]||"unknown","Comments":oSession["ui-comments"]||""});}}// 保存为JSON文件varjsonStr=JSON.stringify(apiList,null,2);FiddlerObject.utilSaveTextFile("ExportedAPIs.json",jsonStr);}

四、实际工作流程建议

第1步:全局抓包

1. 清空现有会话(Ctrl+X) 2. 禁用所有过滤器,开始录制 3. 完整操作一遍被测系统所有功能 4. 停止录制

第2步:逐步分析过滤

1. 先用基础过滤器隐藏静态资源 2. 添加自定义脚本逐步细化过滤条件 3. 根据域名、URL模式、响应类型等特征分组

第3步:接口分类整理

1. 按功能点分组接口 2. 使用Fiddler的"Comments"功能标记接口用途 3. 导出到Postman或测试工具中

第4步:验证与确认

1. 对可疑接口进行复测验证 2. 与开发人员确认接口归属和用途 3. 建立接口清单文档

五、实用小技巧

  1. 快捷键

    • F12:开始/停止捕获
    • Ctrl+X:清空会话列表
    • Ctrl+F:查找接口
  2. 会话标记

    • 右键会话 → Mark → 选择颜色分类
    • 使用不同颜色区分不同模块
  3. 批量操作

    • Shift/Alt+多选 → 右键批量操作
    • 可批量复制URL、导出到文件等
  4. 时间线分析

    • 使用Statistics查看接口性能
    • Timeline查看请求时序关系

六、建议的工作步骤

  1. 先宽后严:开始时不设置过多过滤,先捕获所有流量
  2. 模式识别:观察请求规律,寻找URL模式
  3. 逐步过滤:从明显非API请求开始过滤
  4. 验证归类:选择代表性接口验证功能,确认所属模块
  5. 文档整理:将确认的接口整理成清单

这种方法可以帮助你在不了解系统架构的情况下,有效识别和归类接口,为后续的自动化测试打下基础。需要进一步细化哪部分内容?

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

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

相关文章

2026年四川夜景照明工程哪家好?TOP5亮化工程厂家为您推荐

引言:点亮天府之国的夜间经济新画卷 随着夜间经济蓬勃发展,城市更新与文旅融合步伐加快,2026年的四川,一幅幅璀璨的夜景画卷正成为衡量城市品位与商业活力的新标尺。无论是提升城市形象的市政工程,还是引爆客流量…

NestJS 中 instanceof 检查失效导致异常处理错误

NestJS 中 instanceof 检查失效导致异常处理错误NestJS 中 instanceof 检查失效导致异常处理错误 问题描述 在 NestJS 微服务项目中,使用全局异常过滤器 HttpExceptionFilter 捕获异常时,发现 UnauthorizedException…

06-Example目录下,有好多例子可以加强学习

06-Example目录下,有好多例子可以加强学习Viwer目录下,PDF缩放,文本查找,标签显示

完整教程:RGB 色彩比例(R/(R+G+B)、G/(R+G+B)、B/(R+G+B))的核心含义与应用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

泵站选购指南2026:泵站联系方式解析品质之选,雨水提升泵站/钢丝绳牵引格栅/沉水转鼓微滤机,泵站生产厂家口碑推荐

在市政建设、工业生产和环境治理领域,泵站作为流体输送与提升的核心枢纽,其运行稳定性直接关系到供水安全、排水效率及污水处理效果。尤其随着“新基建”与智慧水务的推进,市场对高性能、高可靠性、智能化泵站的需求…

2026年国内知名的CTU货架生产厂家哪个好,可调节货架/背网货架/货架/不锈钢货架,CTU货架生产厂家推荐榜单

随着仓储物流行业自动化升级加速,CTU(Carrier Transport Unit)货架作为智能仓储的核心载体,其技术适配性与系统集成能力成为企业采购决策的关键。本文基于公开市场数据、行业调研及企业公开信息,筛选出5家具有代表…

2025年度苏州牙周治疗机构权威榜单出炉,口碑之选,儿童牙齿正畸/老人牙齿修复/牙齿种植/修复牙齿,牙周治疗机构哪家好

随着国民健康意识的提升,口腔健康,尤其是牙周健康,正受到前所未有的关注。牙周病作为最常见的口腔疾病之一,不仅是成年人牙齿丧失的首要原因,更与全身系统性疾病存在密切关联。在苏州这座经济发达、医疗资源丰富的…

示例代码解析:使用 item_get_video_pro 获取小红书笔记详情

一、功能介绍 item_get_video_pro 是一个用于获取小红书(Xiaohongshu)笔记详情的接口,支持获取包括标题、描述、点赞数、评论数、封面图、视频链接等在内的完整笔记信息。该接口适用于内容分析、数据抓取、社交媒体…

Java计算机毕设之基于Web的智能选择系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

2026 年 APP / 小程序开发服务商精选:昊客网络聚焦核心技术,铸就行业翘楚

2026年,中国数字化进程已从“有没有系统”迈入“系统是否真正驱动业务”的新阶段。据艾瑞咨询最新报告,超73%的企业在选择软件开发服务商时,将“落地效果”和“技术可控性”置于价格之上。然而,当前市场仍存在明显…

2026西安大型激光切管机厂家优选指南——本地化服务标杆企业推荐

随着激光加工技术在智能制造领域的深度渗透,西安作为西北制造业核心城市,对高精度、大规模激光切管服务的需求持续攀升。2024年中国激光加工设备行业市场规模已达899亿元,其中激光切割设备占比超39%,成为推动行业增…

技术面:如何让你的系统抗住高并发的流量?

高并发架构设计无外乎“拆、缓、防”三板斧:先通过业务分治、数据分片、集群化部署把系统横向扩展到极致;再以多级缓存与消息队列将瞬时峰值削平成可线性增长的消息流;最后用限流、熔断、降级以及异地多活等多维防护…

上海高精度管道喷涂机设备批发价格大揭秘,谁更实惠?

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家管道防腐修复设备及服务领域的标杆企业,为市政工程、工业企业、工程承包单位选型提供客观依据,助力精准匹配适配的合作伙伴。 TOP1 推荐:上海蓝云管道工程有…

漂粉精过滤机公司哪家性价比高

随着工业生产对分离设备精度、效率要求的不断提升,漂粉精过滤机、盐过滤机、碱过滤机等专用分离设备的选型逐渐成为化工、环保等行业企业的核心痛点——选对设备能大幅提升生产效率、降低运营成本,选错则可能导致物料…

探寻售后完善的脱发治疗中医企业,天津市道医实力出众

在当代快节奏生活中,脱发已成为困扰无数人的健康难题。从熬夜加班的职场人到备考压力大的学生,从产后妈妈到中年群体,脱发问题不仅影响外在形象,更可能打击自信心,引发焦虑情绪。面对市场上五花八门的脱发治疗方案…

想了解养老院怎么联系?惠州祥和养老院别错过

在老龄化程度不断加深的当下,选择一家口碑好、服务优的养老院,是许多家庭为长辈安享晚年的重要课题。面对市场上良莠不齐的养老机构,如何找到真正能让老人舒心、家属放心的选择?以下结合不同服务类型,为你梳理惠州…

2026年超高分子量聚乙烯板靠谱供应商Top10,山峰塑化强势入围!

本榜单依托全维度市场调研与真实工业领域口碑,深度筛选出五家超高分子量聚乙烯板领域的标杆企业,聚焦工业客户耐磨抗粘结、成本可控、服务高效的核心需求,为企业选型提供客观依据,助力精准匹配适配的材料供应伙伴。…

职场人职业规划 PPT 生成,简约商务模板一键套用

我的职业规划PPT生成秘籍&#xff1a;6款神器助你轻松搞定职场展示 作为一位在PPT行业摸爬滚打五年的内容创作者&#xff0c;我经历过无数次熬夜改PPT的崩溃时刻——尤其是当需要制作职业规划PPT时&#xff0c;既要展现专业度又要突出个人特色&#xff0c;简直像在走钢丝。直到…

Java毕设选题推荐:基于JavaWeb的智能生活选择系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

防关联浏览器有用吗?哪家防关联浏览器好用?

防关联浏览器大家有听说过吗?在跨境电商行业里面,大家对防关联应该感觉到不陌生,那么防关联浏览器有用吗?哪家防关联浏览器好?对于防关联浏览器,下面就来详细的做个分析。 防关联浏览器有用吗? 其实很好理解,防…