新闻详情

新闻详情

首页 / 资讯中心 / 详情

Fiddler抓包面试高频考点:从原理到项目实战全解析

发布时间:2026/10/2 18:01:24来源:尧图网络
Fiddler抓包面试高频考点:从原理到项目实战全解析
软件测试面试十次有八次要问你抓包工具而Fiddler几乎是被问到概率最高的一个。我在面试候选人时简历上写着“熟练使用Fiddler”的十个人里至少有五六个只停留在打开工具、看到一堆会话、跟我说“能抓到包”的程度。问一句“Fiddler为什么能看到HTTPS明文”就卡住了。这篇内容我把这些年做软件测试、带新人、面试别人时真正高频遇到的Fiddler问题整理了一遍每个都给出了能落地的回答思路和隐藏的加分点。我见过太多候选人把“会用”和“理解”混为一谈面试官只要多问一句“为什么”场面就僵住。所以这篇文章更像是一份面试现场的问答复盘把原理、操作和项目经验放在一起讲清楚。无论你是在准备面试还是日常想把这工具用到实处都可以拿来参考。1. Fiddler为什么是软件测试面试必考题1.1 Fiddler在测试工具链中的定位Fiddler是一个基于HTTP/HTTPS代理的调试抓包工具默认监听本机8888端口。它本身不做底层网络包捕获而是把自己注册为系统代理所有经过代理的HTTP请求和响应都会被它记录下来。你看到的每条会话其实就是一次客户端与服务端之间的完整HTTP交互。这个“代理”定位非常关键因为它决定了Fiddler能且只能处理HTTP/HTTPS协议。TCP、UDP这类底层流量它不是不能碰而是正常情况下不会去碰。面试时如果能先把“Fiddler是HTTP代理”这句话说清楚再谈抓包就已经比大多数只会点按钮的候选人强了。在测试体系里Fiddler的角色不是“某个用例的执行工具”而是“流量观察入口”。功能测试中你用它看接口请求是否发对接口测试中你用它对比入参出参性能测试中你用它分析单请求耗时安全测试中你用它检查敏感字段是否明文传输。一个工具横跨这么多测试维度面试官自然乐意拿它来试探你的底子。1.2 不同能力梯度的考察重点初级测试岗一般被问怎么用Fiddler抓包、怎么看URL、怎么过滤请求、怎么抓手机App。这类问题考的是基本功能说出来就算过关但想拿高分得把每一步的“为什么”也讲清楚。中级测试岗会被追问HTTPS解密的原理是什么证书装了为什么还不生效弱网测试怎么模拟断点修改请求和响应怎么操作这说明面试官默认你已经在项目中实际用过并且踩过那些常见的坑。高级测试或测试开发岗则会被问Fiddler怎么和接口自动化、性能测试结合抓包结果怎么辅助定位线上问题如何处理证书锁定Certificate Pinning你能回答到什么深度基本直接决定这个岗位的定级。我面试时通常用一句话来判断候选人真实水平“你抓到一个报错接口下一步会怎么查”能说出“先看Status Code再看Response Body对比Request参数最后看服务端日志”的人说明有实际排查经验只说“不太清楚”或者“把包发群里问问”的基本就可以结束了。Fiddler面试题表面考操作实际考的是这条排查链路通不通。2. 高频考点一抓包原理与会话过滤2.1 代现原理面试题Fiddler的抓包原理是什么标准回答思路Fiddler本质上是一个运行在客户端和服务器之间的HTTP代理。启动Fiddler后它会自动将本机系统代理设置为127.0.0.1:8888。浏览器或App发出的HTTP请求先发到FiddlerFiddler再把请求转发给真实服务器服务端的响应先返回给FiddlerFiddler记录后再返回给客户端。这个过程中Fiddler充当了“中间人”所以能看到明文或解密后的数据。这里面有个容易踩坑的点也是面试官喜欢追问的如果Fiddler在Windows上设置了系统代理却抓不到浏览器请求第一步查什么答案是先确认代理有没有生效。有些浏览器、网络代理插件会绕过系统代理或者系统代理被其他软件改掉了。你先打开系统代理设置看一眼再检查Fiddler左下角的监听状态是否正常基本能定位八成问题。再说一个高频坑Fiddler端口被占用怎么办最常见的冲突就是本地开发服务比如前端脚手架、Node服务有时也会使用8888端口或者你开着其他代理类软件占了代理端口。遇到这种情况到Tools→Options→Connections里把Fiddler监听端口改成别的值同时把手机端的代理端口同步改掉问题就能解决。改完端口记得重启浏览器不然旧代理配置还在缓存里。2.2 会话过滤与快速定位面试题会话列表里混杂着图片、JS、接口请求怎么快速找到想要的接口建议分三层来答这也是面试加分点。第一层是工具栏上的进程过滤。可以选择只关注Chrome流量或者只关注某个App对应的进程快速筛掉无关流量。注意这里过滤的是“发起请求的进程”不是域名如果有多个进程访问同一个域名是混在一起的。第二层是左下角的Filters页签功能更强。勾选Use Filters后可以按Host、响应状态码、Content-Type、请求头等条件过滤。比如我只想看接口请求就设置Content-Type为application/json或设置Host只保留api.xxx.com。实际工作里我会把多个条件叠加起来比如“只看指定域名非200响应JSON类型”几秒钟就能把异常接口从几百条会话里捞出来。第三层是QuickExec命令窗口也就是Fiddler底部那个黑色输入框。直接输入?keyword就能高亮所有URL包含keyword的会话输入select json能选中所有响应类型是JSON的请求输入select imag能选中图片请求。命令流比鼠标点选快很多我在排查接口时几乎都是用QuickExec配合CtrlX清空列表效率很高。注意Filters不是实时生效的改完条件要等列表刷新一下或者直接清空重新抓。我见过不少人设置了Filters后还往里进请求以为是设置没生效其实是条件本身写错了。Filters里没有直接按Method过滤的选项想看指定方法就借助QuickExec的bpv POST断点命令或者写FiddlerScript来过滤。3. 高频考点二HTTPS解密与移动端抓包3.1 HTTPS解密原理面试题Fiddler为什么能抓HTTPS回答思路Fiddler会生成一个自签名的根证书Fiddler Root Certificate。你在本机安装并信任这个证书后Fiddler就能对HTTPS流量做“中间人解密”。具体过程是当客户端请求一个HTTPS站点时Fiddler先用自己的根证书临时签发一张对应域名的证书给客户端客户端校验通过后建立信任然后Fiddler再以客户端身份向真实服务器发起HTTPS连接。这样两边的加密通道都握在Fiddler手里它就能看到流经的明文请求和响应。这个过程中经常被追问的问题是手机装了证书还是抓不到为什么原因很多最常见的是证书没有在“用户证书信任设置”里被完全信任。iOS系统需要在“设置→通用→关于本机→证书信任设置”里打开信任开关Android需要在“安全→加密与凭据→信任的凭据”里确认用户证书在列表里。另外Android 7.0API 24及以上App默认不信任用户级CA证书即使系统里装了证书很多App依然不认。你需要让测试包在networkSecurityConfig里显式声明信任用户证书或者把证书安装到系统证书目录这一步需要Root权限。面试中能说出Android 7.0这个分水岭已经是明显的加分项因为它说明你不仅会操作还踩过真实设备兼容问题的坑。注意Fiddler的Decrypt HTTPS traffic选项勾选后还要通过Actions里的Root Certificate把证书装一遍。如果之前装过证书但已过期会频繁报错建议先删除旧证书再重新安装否则看着装上了实际校验不过。3.2 移动端抓包全流程面试题怎么抓手机App上的接口完整流程分四步说。第一步准备环境。电脑和手机连接同一个局域网确保能互相访问。查看电脑IPWindows用ipconfigmacOS/Linux用ifconfig记下局域网IP。第二步配置Fiddler监听。在Tools→Options→Connections里勾选Allow remote computers to connect。勾选后Windows防火墙如果弹提示要允许Fiddler通过专用网络通信否则手机根本连不上。第三步设置手机代理。在手机WiFi设置里进入当前网络的高级选项选择手动代理填电脑IP和Fiddler端口8888。此时打开手机浏览器随便访问一个HTTP站点Fiddler里应该能看到流量。如果看不到检查电脑IP是否填对、手机和电脑是否同网段、防火墙是否放行。第四步安装并信任证书。手机浏览器访问http://电脑IP:8888点击页面上的FiddlerRoot certificate下载证书。下载后按系统提示安装并信任再回到Fiddler勾选Decrypt HTTPS traffic重新抓包即可看到HTTPS明文。这段里面有个非常典型的坑电脑开着其他代理类软件时手机指向的虽然是电脑的IP和端口但实际流量可能被本机代理拦截或者电脑本身有多个网卡IP地址填错了。我的经验是先在电脑上用浏览器访问http://本机IP:8888能进入Fiddler回显页说明端口监听正常问题大概率出在手机代理或防火墙环节。3.3 遇到证书锁定的应对思路App做了Certificate Pinning证书锁定之后即使证书信任设置都正常也抓不到HTTPS明文Fiddler会显示连接被客户端拒绝。这类题属于进阶考点我建议这样回答。第一先区分是代理不可用还是证书锁定。可以先用HTTP请求测试如果HTTP能抓到而HTTPS全是Tunnel To那大概率是证书锁定或证书信任问题。第二证书锁定是应用在代码里写死了服务器证书的指纹Fiddler动态签发的证书过不了校验。应对方式一般是让开发提供debug配置在测试包中关闭证书校验或添加Fiddler证书或者使用Frida挂钩证书校验函数这属于安全测试范畴需要额外工具。面试时把思路讲清楚即可不必现场演示。第三有些App会检测系统代理设置并拒绝连接这时可以改用网关级透明代理方案或者借助旁路抓包设备。不过这不属于Fiddler的典型强项能引出这个对比说明你对抓包工具的边界有清晰认识。4. 高频考点三弱网测试4.1 弱网模拟的原理与配置面试题Fiddler怎么做弱网测试首先要理解弱网测试模拟的是“网络条件”不是电脑卡不卡。Fiddler通过两个维度来模拟带宽和延迟。带宽决定每秒能传多少数据延迟决定从发请求到收到响应的等待时间。最简单的操作是菜单路径Rules→Performance→Simulate Modem Speeds。开启后Fiddler会用预设的慢速配置模拟拨号联网级别的速度基本等同2G/3G的体验。这个操作只能用来快速验证不能精确控制具体场景。要精确模拟需要借助FiddlerScript。在Fiddler中打开脚本编辑器或者通过Rules→Customize Rules进入脚本。在OnBeforeRequest函数里设置请求方向的延迟和限速在OnBeforeResponse函数里设置响应方向的延迟和限速。static function OnBeforeRequest(oSession: Session) { // 请求方向延迟2秒发送 oSession[request-trickle-delay] 2000; // 请求方向每秒传输2KB数据 oSession[request-trickle-speed] 2000; } static function OnBeforeResponse(oSession: Session) { // 响应方向延迟3秒返回 oSession[response-trickle-delay] 3000; // 响应方向每秒传输2KB数据 oSession[response-trickle-speed] 2000; }保存脚本后重新抓包每个请求都会带上这些参数。这里有个我自己用出来的心得把延迟调成0、只调限速可以模拟“带宽低但响应快”的场景把限速调得很高、延迟调大可以模拟“响应慢但带宽充足”的场景。真实弱网往往不是单一问题两个维度都要覆盖。参数单位是毫秒和字节每秒注意不要拿秒数直接填。比如想模拟延迟2秒要填2000不是2。很多候选人现场写脚本时经常在这里翻车这个细节值得提前记住。4.2 弱网测试关注点与面试答题话术面试官一般不会满足于“会用Fiddler限速”更想听你对弱网测试的整体理解。下面几个关注点建议记牢。第一超时机制。请求在弱网下持续多久会超时前端有没有超时提示超时后有没有合理的重试或降级逻辑第二数据一致性。弱网下提交表单服务端实际收到了吗客户端是否显示成功界面上的数据和实际数据是否一致这类问题在支付、订单场景里尤其危险。第三用户体验。弱网下图片加载是否采用占位图列表是否有骨架屏用户能否感知当前是弱网状态这些都是产品层面容易被忽略的点。第四恢复与压力。从弱网恢复到正常网络时待发送的请求队列是否会瞬间占满是否有瞬时重复提交这个场景比较隐蔽但线上故障经常就这么来的。面试回答时把Fiddler当作手段把业务风险当作核心结构可以是“我会用Fiddler设置不同延迟和带宽模拟2G/3G/4G和弱信号场景重点观察超时、重试、数据一致性和恢复行为”。这样一句话已经超过大多数候选人的回答深度了。5. 高频考点四断点调试与AutoResponder5.1 断点修改请求和响应面试题怎么通过Fiddler改接口返回的数据先说断点。断点分为请求断点和响应断点。菜单路径是Rules→Automatic Breakpoints→Before Requests和After Responses。快捷键方面F11通常用来快速切换请求断点AltF11切换响应断点但具体快捷键受版本影响建议在菜单里确认别在面试时记错。开启请求断点后Fiddler会在请求发出前停住界面上对应的会话会变成红色图标。此时切到Inspectors页签可以查看并修改请求头、请求体。改完点击绿色的Run to Completion按钮请求才会被放行继续发给服务器。响应断点则是等服务器的响应回到Fiddler时停住同样可以在Inspectors里修改响应状态码、响应头、响应体改完再返回给客户端。这个操作在排查前端问题时很实用比如你想验证前端对特定错误码的提示文案是否正确直接把500改成某个自定义错误码不需要后端配合。注意开启全局断点后所有请求都会被卡住如果忘了关页面会一直转圈。我习惯用QuickExec里的bpu命令代替全局断点比如输入bpu api/order就只拦截URL里包含api/order的请求其他流量不受影响。取消断点直接在QuickExec再次输入bpu并回车或者输入bpu带一个空格也能清除。5.2 AutoResponder做Mock面试题后端接口还没开发完前端怎么正常联调Fiddler能帮上什么忙答案核心是AutoResponder。这个功能允许你拦截某个请求并返回指定的本地文件、字符串或者另一个URL完全不需要后端参与。操作步骤分几步选中一个抓到的目标请求直接拖拽到AutoResponder面板面板里会出现一条规则比如http://api.example.com/user在规则右侧的响应方式里选择Create New Response粘贴你要返回的JSON勾选Enable Rules再重新请求该接口前端拿到的就是你自定义的返回。这个机制还可以配合表达式做批量匹配比如用regex:.*\.json$拦截所有以.json结尾的请求。实际项目里我用它做过三类事情一是后端异常时mock一个稳定响应来继续前端联调二是mock历史数据用于回归测试不依赖数据库还原三是针对不同返回码写不同规则验证前端分支逻辑。面试时讲一两个真实案例说服力比背概念强很多。有个细节要提醒AutoResponder规则里如果让某个请求匹配并返回新响应建议把未匹配请求passthrough的默认行为保持开启这样未命中的请求仍走正常网络避免出现整个页面数据都被mock掉的情况。6. 高频考点五Composer接口测试与脚本扩展6.1 Composer快速构造请求面试题Fiddler能像Postman一样直接发接口请求吗可以用的就是Composer面板。最快捷的方式是直接把左边会话列表里的某个请求拖到Composer区域Fiddler会自动填好方法、URL、请求头、请求体。修改后点击Execute请求就会按照当前配置重新发送。这在对比线上请求和本地调试请求时特别好用。Composer和Postman的区别也是面试爱问的。我的回答思路是Fiddler Composer的强项是“基于已抓到的流量直接重放”不需要从零搭环境Postman的强项是接口管理、环境变量、集合运行、断言和自动化。日常做单接口调试时两者都行如果要跑一整套接口回归用例Postman或JMeter更合适如果要基于线上真实请求快速重现问题Fiddler Composer更快。这种“工具选边”的回答能体现你对工具边界的判断。6.2 FiddlerScript与数据导出再往上进阶面试官会问你对Fiddler脚本扩展的掌握。FiddlerScript是基于JScript.NET的脚本机制可以拦截和改写会话。比如在OnBeforeRequest里判断URL对特定接口动态添加Header或者统计OnBeforeResponse里的响应耗时。虽然日常大部分测试工作用不到那么深但能写一个“给指定请求追加签名头”的脚本在面试里是很大的加分项。另一个高频场景是数据导出。Fiddler可以把捕获到的会话导出成HAR文件HTTP Archive Format路径在File→Export→Sessions→HTTP Archive v2.0。HAR文件本质是JSON里面完整记录了每个请求的URL、Headers、请求体、响应体、耗时等信息。我的实际做法是抓包以后导出HAR再用Python脚本解析把接口清单、响应状态码分布、平均耗时统计成一张表作为接口链路分析的输入。这个思路在面试中提出来能直接展现你的工程化能力而不是只会看图说话。7. 面试中的高频问题排查与加分技巧7.1 抓不到包问题速查表整理了一个我自己排查时用的速查表面试如果被问到“抓不到包怎么排查”照着这个思路答基本不会漏现象优先排查方向常用处理浏览器抓不到请求系统代理是否被覆盖关闭代理插件检查Fiddler连接设置重启浏览器能看到Tunnel To但看不到明文未启用HTTPS解密或证书未信任勾选Decrypt HTTPS重新安装信任根证书手机App抓不到包代理指向错误、端口不通确认电脑IP和端口防火墙放行8888手机与电脑同网段手机浏览器能抓但App抓不到Android 7.0以上用户证书不受信任测试包信任用户证书或证书安装到系统目录部分接口抓不到应用做了代理检测或证书锁定协商debug包关闭校验或使用旁路抓包方案抓包后页面加载极慢断点忘了关闭取消全局断点检查bpu等断点规则这张表最好熟记。现场面试时能快速列出排查链路说明你真正处理过问题而不是背了概念。7.2 几个不常见但很加分的小技巧最后分享几个面试和实际工作中都比较加分的Fiddler技巧。第一个是QuickExec的命令流。除了之前提到的?keyword过滤还有select json、select image这类高亮命令以及bpv POST、bps 500这类断点命令。真正熟练的人不会一直用鼠标点Filters而是用命令行完成八成过滤操作这个习惯在面试中很显眼。第二个是状态栏信息。Fiddler主界面底部会显示当前会话总数、选中会话的耗时、传输大小。这个信息可以用来解释“为什么你会用Fiddler看接口耗时”把耗时拆成请求耗时和响应耗时能辅助定位性能瓶颈是在客户端网络还是服务端处理。第三个是导出HAR配合Python做数据分析。前面已经提过这里再说一个具体用法从HAR中筛选出所有返回非2xx的接口按接口名聚合统计每个接口的失败率和中位数耗时生成简单的质量报告。我在项目里用这个套路验收某次前端重构是否降低了无效请求数量面试时讲出来很有说服力。第四个是理解Fiddler Classic和Fiddler Everywhere的差异。Classic是免费的Windows老牌版本包体小、功能够用Everywhere是跨平台Windows/macOS/Linux的新版本UI更现代但部分高级功能收费。面试提到工具时补一句“Classic作为轻量抓包调试工具完全足够Everywhere主要解决跨平台团队协作场景”能看出你对工具链有横向对比。就说这么多吧。Fiddler这东西本质上是个调试代理它的上限取决于你对HTTP协议的理解和对业务场景的敏感度。工具本身两小时就能上手真正值钱的是你拿到一个异常请求时能讲清楚它从哪里来、到哪里去、为什么失败以及如何在测试环境里复现和验证。我面试下来比较认可的候选人往往不是快捷键背得最熟的那个而是能把“抓包”和“测试设计”“问题定位”串联起来的人。如果你现在正准备面试建议把上面这些问题自己动手在Fiddler里过一遍别只看不练。真到了被追问原理的时刻你踩过的那些坑会变成你最好的答案。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Qt操作Word:基于COM接口的QAxObject实战与避坑指南 2026/10/2 18:41:55

Qt操作Word:基于COM接口的QAxObject实战与避坑指南

简介:面向需要在Qt应用中操作Word、Excel文档的C开发者,这套QtOffice轻量代码包围绕QtWord与QTOffice的常用接口做了二次封装,解决直接调用Office COM、OLE等复杂机制带来的高门槛问题。压缩包体积仅5KB,内部共5个文件&#xff0c…

阅读更多 →
Python解析通达信.day文件,结合pytdx搭建本地量化数据链 2026/10/2 18:41:54

Python解析通达信.day文件,结合pytdx搭建本地量化数据链

做量化的人,几乎都会遇到同一个坎:数据从哪来。市面上的免费数据接口今天能用明天就挂,付费终端一年好几千,对一个还没跑通策略的新手来说实在肉疼。后来我发现,电脑里装的通达信软件本来就在本地落地了一份完整的行情…

阅读更多 →
OpenShell:开源免费的MobaXterm平替,SSH/SFTP全能终端实战指南 2026/10/2 18:41:54

OpenShell:开源免费的MobaXterm平替,SSH/SFTP全能终端实战指南

去年年底,我把电脑上用了快三年的MobaXterm卸载了,换上了开源工具OpenShell。原因很简单:我手头维护的服务器越来越多,每次在Windows和远程Linux之间来回切窗口、传文件、开多个SSH会话,工具用得越来越别扭。OpenShell…

阅读更多 →
Linux驱动开发:ioctl原理、安全实践与替代方案 2026/10/2 18:41:48

Linux驱动开发:ioctl原理、安全实践与替代方案

1. 为什么驱动里总在用 ioctl,而不是 read/write?刚入行做 Linux 驱动开发时,我盯着file_operations结构体发了整整两天呆:read、write、open、release这些函数名都直白得像白开水,唯独ioctl像个裹着黑布的盒子——文档…

阅读更多 →
WorkBuddy接入中国移动云盘:自研续票模块实现任务自动续期 2026/10/2 18:41:48

WorkBuddy接入中国移动云盘:自研续票模块实现任务自动续期

给 WorkBuddy 装中国移动云盘这事儿,本来只是我临时起意。团队一直用 WorkBuddy 做日常任务调度,但文件这块始终散在各人的电脑里,之前试过几个网盘技能,要么授权流程太磨叽,要么接口文档货不对板。后来换成中国移动云…

阅读更多 →
Replit如何重塑知识工作:从代码编辑到可运行文档 2026/10/2 18:41:48

Replit如何重塑知识工作:从代码编辑到可运行文档

1. 这不是一场普通直播:Replit 正在重新定义“知识工作”的实操现场最近在技术圈里,只要提到“知识工作未来”这个话题,几乎绕不开 Replit 这个名字。它不再只是那个写着“在线 IDE”标签的编程工具——我从去年开始深度用它带团队做原型验证…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉