fiddler界面介绍
ninehua 2024-11-17 19:53 17 浏览
一、简介
Fiddler是一款功能强大的网络调试工具,它可以帮助开发人员分析、监视和修改网络流量。它广泛用于开发和调试Web应用程序、移动应用程序和API。
- 抓包和查看流量:Fiddler可以拦截和记录通过计算机网络的HTTP和HTTPS请求和响应。您可以查看请求和响应的详细信息,包括头部、正文、Cookie等。
- 修改和重放请求:Fiddler允许您修改请求和响应,包括修改请求头、请求正文和响应内容。您可以使用这些功能来测试和模拟不同的场景,以便更好地理解和调试应用程序的行为。
- 自定义规则和脚本:Fiddler支持使用自定义规则和脚本来自动化和扩展其功能。您可以编写脚本来处理流量、生成报告、验证响应等。
- 性能分析:Fiddler可以帮助您分析网络请求和响应的性能。它可以显示请求的时间线、加载时间、吞吐量等信息,帮助您找到性能瓶颈并进行优化。
- 安全测试:Fiddler提供了一些安全测试工具和功能,例如检测安全漏洞、查找敏感信息泄露等。
Fiddler是一个跨平台的工具,可在Windows、macOS和Linux上运行。它提供了直观的用户界面和强大的功能,使开发人员能够更轻松地调试和分析网络应用程序,官网:https://www.telerik.com/fiddler
二、下载
三、菜单栏
- File
- Capture Traffic:默认勾选,表示抓取请求;取消不抓取
- New Viewer:再打开一个页面
- Load Archiv:用于重新加载之前捕获到的 SAZ 文件格式保存的会话
- Recent Archives:查看最近之前捕获到的 SAZ 文件格式保存的会话
- Import Sessions:从目标文件夹及其子文件夹加载所有 SAZ 文件,缓存和重用密码。支持导入从其他工具获得的会话
- Edit
- Select All:全选请求
- Undelete:恢复之前删除的会话
- Paste as Sessions:把剪切板里的会话复制到 web sessions 中,把以前的会话粘贴回来
- Mark:自定义不同会话 的显示颜色
- Unlock for Editing:解锁编辑功能,默认情况下,Fiddler的编辑功能是被锁定的,以防止意外修改或删除会话数据。
- Find Session:查找,用颜色标注查找结果
- Rules
- Hide Image Requests:隐藏图像请求
- Hide CONNECTs:隐藏 CONNECT 请求
- Automatic Breakpoints:自动断点
- Customize Rules:打开 Fiddler ScriptEditor 工具,修改脚本
- Require proxy authentication:若选中此项,则所有未提交 Require proxy authentication 的请求头的请求会返回 HTTP/407 响应,要求客户安装证书
- Apply GZIP Encoding:请求 GZIP 编码,若选中此项,则只要请求包含了 gzip 标识的 Accept-Encoding 请求头就会对除了图片以外的所有相应使用 GZIP HTTP 进行压缩
- Remove All Encoding:若选中此项,会删除所有请求相应的 http 内容编码和传输编码
- Hide 304s:隐藏 HTTP 响应中的 304 状态码的请求
- Request Japanese Content:Fiddler 将请求日语内容的响应
- Automatically Authenticate:自动进行身份验证
- User-Agents:选择不同的用户代理,默认是选择 disabled
- Performance>simulate modem speeds:设置所有后续 session 的 flag,把 request-trickle-delay 标志设置为 300,所有上传数据延迟 300ms/kb,若把 response-trickle-delay 标志位设为 150,会使所有下载数据延迟 150ms/kb
- Performance>Disable caching:将会删除所有 If-None-Match和If-Modified-Since 请求头,并添加 Pragma:no-cache 请求头,选中该项还会删除响应中的所有 Expires 头,并把 Cache-Control 响应头设置成 no-cache,该项无法阻止浏览器重用在所用该选项之前所缓存的响应,在选中该选项后,为了得到最佳结果,最好是清空浏览器中缓存。
- Performance>Catch Always Fresh:自动响应所有包含 http/304 响应的有条件的 http 请求,表示客户端缓存是最新的,当访问的站点无法正确的设置缓存失效日期时,该选项可以极大的提高性能。
- Tools
- Options:打开 Options 窗口,修改监听的端口,设置HTTPS抓包,手机抓包等
- WinINET Option:打开IE浏览器的Internet属性面板
- Clear WinINET Catch:清空 IE 和其他应用中所使用的 WinINET 的缓存文件
- Clear WinINET Cookies:清空 IE 和其他应用中所使用的 WinINET 的 Cookies 文件
- TextWizard:文本向导工具,是一个非常好用的可以轻松将 text 文本 encode 和 decode 的小工具
- Compare Sessions:比较会话,可以在会话列表中选中两个会话,然后点击此按钮,可以来比较两个会话,需要先安装WinDiff或WinMerge
- Reset Script:重置脚本
- Sandbox:点击跳转到HTTP Sanbox
- View IE Cache:打开本地文件系统,查看IE缓存
- Win8 Loopback Exemptions:Win8 回环豁免工具,这个时候会弹出一个“AppContainer 回环豁免实用程序”的窗口,若要将所有的程序使用豁免,点击“全部免除”,然后点击“保存更改”
- New Session Clipboard:打开一个新的会话剪贴板,可以把会话列表中的会话拖到这个剪贴板中具体来查看
- HOSTS:主机重定向工具。若在其中勾选 Enable 框,然后在下面加入 host 配置,点击保存之后,这个配置并不会修改到本地 hosts 中,取消勾选就会失效,若点击 Import Windows Hosts File 将会导入本地的 host 文件内容
- View
- Show Toolbar:显示工具栏,默认是勾选的
- Default Layout:默认 layout,会话列表在左,请求和响应在右边的上下处
- Stacked Layout:会话列表在上,请求在下方
- Wide layout:会话列表在上,请求和响应在下方的左右处
- Tabs>Preferences:fiddler 偏好属性
- Tabs>AutoSave:fiddler 自动保存的设置
- Tabs>APITest:api 的测试
- Minimize To Tray:最小化托盘
- Stay On Top:保持置顶
- Squish Session List:挤压会话框
- AutoScroll Session List:自动滚动会话列表,默认是勾选此项的,勾选此项后,会话列表中的每出现新的会话,会话列表就会不断向下滚动,若不勾选此项,就很方便具体某一个会话的定位,即使出现了新的会话也不会自动向下滚动
- Refresh:刷新功能,按 F5 刷新
- Help
- Help:进入 fiddler 的帮助的网页
- Get Fiddler Book:fiddler book 的网页
- Discussions:fiddler 的讨论网页,这个需要魔法上网
- Http Preferences:进入 http preferences 相关网站
- Troubleshoot:会捕获所有请求,对于哪些被过滤的请求用删除线表示出来并给出原因,使用时候会打开一个网页
- Check for Updates:自动检查是否有可用的更新版本
- Send Feedback:打开一个反馈表单或邮件窗口
- About:显示关于 Fiddler 软件的信息
四、工具栏
- winconfig:windows 使用了一种叫做“AppContainer”的隔离技术,使得一些流量无法正常捕获,在 fiddler中点击 WinConfig 按钮可以解除
- 给会话增加备注信息:点击某个请求,可以给请求增加备注
- .Replay:重新加载当前会话,选中会话-点击Replay,会在底部显示重新加载的会话。
- 删除会话:点击删除按钮会有不同的筛选项
- Go:调试debug按钮,让请求断点继续往下走
- Stream:流模式,Fiddler的代理模式,默认缓冲模式(所有资源准备好之后再返回),点击切换流模式(实时返回,更接近浏览器的行为)
- Decode:解码
- Keep:会话列表最多显示多少条会话
- Ang Process:过滤请求,只看需要的请求,将靶心拖向需要的请求
- find:查找,用颜色标注查找结果
- Save:保存会话
- 点击截图:默认5s后截图,图片在会话中显示
- 计时器:第一次点击开始计时,第二次点击返回计时结果,第三次点击清除结果,重新开始计时,右键点击不计时
- Browser:启动浏览器,下拉选择浏览器点击启动浏览器
- Clear Cache:清除缓存
- TextWizard:编码、解码文本内容,在tools → TextWizard也可打开
- earoff:浮窗,点击右边详情信息浮窗显示,关闭浮窗详情信息位置恢复
- 搜索框:可以进行搜索
五、请求列表
- 图标
- Result:response响应码
- Protocol:请求使用的协议(HTTP/HTTPS)
- Host:请求地址的域名。Tunnel to在受限制的网络环境(防火墙、NAT、代理)中且使用HTTPS方法时,客户端使用CONNECT请求代理服务器,代理服务器使用CONNECT方法与目标服务器建立http tunnel,隧道建立后,客户端与服务器进行通信,代理服务器就像透明一样,只是接受、转发TCP stream。服务器一般只开发SSL的443端口。所以访问https:www.baidu.com之前出现了tunnel to www.baidu.com:443
- URL:请求的服务器地址和文件名,也包括GET的参数
- Body:请求的大小,以byte为单位
- Caching:请求的缓存过期时间或缓存控制header等值
- Content-Type:说明实体主体的媒体类型
- Process:发出此请求的windows进程及进程ID
- comments:用户添加的备注
- Custom:用户通过脚本设定的值
- 在会话列表中增加列,在会话列表的首行右键单击# → 选择coustomize columns → 选择RequestMethod → 点击Add添加,就能添加RequestMethod 列
六、详情和统计界面
- Statistics:数据统计面板,性能分析
可以在会话列表选择一个或多个会话,查看数据信息。选择多个会话来得出总的信息数据,可获得加载整个页面所消耗的时间。从条形图还可以得出哪个请求消耗的时间最多,从而优化页面的访问速度。
- Inspectors:对抓到的请求进行解包,查看详细内容。
- AutoResponder:允许直接返回本地文件,而不用将request发送到服务器
- Composer:创建HTTP Request然后发送请求,自定义请求发送到服务器,类似postman
- Fiddler Orchestra Beta
官方提供的是Web UI的形式,同时支持远程调试,比如想抓包远程计算机的流量,想抓取正常业务的80和443端口流量都可以,其存在http和https反向代理功能,其中Fiddler Orchestra涉及到两个角色,控制器(Controller)和客户端(Client),控制器就是我们正在使用的Fiddler软件,其功能是用来收集数据和控制任何一个客户端,而客户端则是向任何其运行所在的Windows,Linux,Mac主机上收集接收过来的流量将其通过加密的方式报告发送给控制器,控制器会在Fiddler软件上的会话端显示。
- FiddlerScript:Fiddler脚本
- Log:查看日志
- Filter:通过一定的筛选条件过滤不需要的请求信息
- Timeline:直观地显示页面各个元素加载的时间和顺序
七、其他
八、Fiddler命令
- help:打开命令文档
- ?searchtext:匹配URL中包含searchtext的请求,如:?baidu
- >size:响应尺寸大于size的请求,如:>5k
- 响应尺寸小于size的请求,如:<5k
- =status:响应HTTP状态等于status的请求,如:=200
- =method:请求方法METHOD等于method的请求,如:=POST
- @host:包含指定HOST的请求,如:@www.baidu.com
- bold Text:加粗显示URL包含Text的请求,再次输入bold取消加粗,加粗只针对输入脚本后,再次产生的请求生效,原有的请求并不会被加粗,如:bold baidu
- bpafter Text:终端URL包含Text的请求,不带参数表示清空所有设置断点的请求,如:bpafter baidu
- bps status:中断HTTP响应状态status的请求,如:bps 404
- bpu method、bpm method:为指定的 HTTP 方法创建请求断点,设置此命令将清除该命令的任何先前值,不带参数调用它会禁用断点,如:bpm POST
- bpu Text:为包含指定字符串的 URI 创建请求断点,设置此命令将清除该命令的任何先前值,不带参数调用它会禁用断点,如:bpu baidu
- lclear:清楚所有请求
- dump:将所有请求打包到C盘根目录下的一个zip压缩包中
- g、go:恢复所有请求断点
- hide:将Fiddler隐藏到任务栏中
- urlreplace SeekStr ReplaceWithStr:将URL的字符串SeekStr替换成指定的字符串ReplaceWithStr,不带参数表示清空所有之前的设置,如:urlreplace wb=csdn wb=js
- start:将Fiddler为系统代理
- step:将Fiddler从系统代理注销
- show:将Fiddler从任务栏恢复为图形界面
- select Type:选择响应类型(Content-Type)为指定字符的请求,如:select js
- allbut Type、keeponl Type:选择响应类型(Content-Type)不是指定字符的请求,如:allbut xml
- quit:退出Fiddler
- !dns Host、!nslookup Host:对目标主机执行 DNS 查找并在 LOG 选项卡上显示结果,如:!dns www.example.com
- !listen Port Host:在另一个端口上设置额外的侦听器,可以选择通过 HTTPS 证书进行保护,如:!listen 8889、!listen 4443 localhost
九、常用快捷键
- CTRL+A:选中所有的会话
- ESC:取消选中所有的会话
- CTRL+I :反向选中;如果会话已选中,则取消,否则选中
- CTRL+X: 删除所有的会话,鼠标要在session框中再按键
- Delete: 删除选中的会话
- Shift+Delete :删除所有未选中的会话
- R :重新执行当前请求
- SHIFT+R :多次重复执行当前请求
- U:无条件重新执行当前请求,发送不包含If-Modified-Since 和 If-None– Match的请求头
- SHIFT+U:无条件地多次重复执行当前请求
- ALT+Enter:查看当前会话的属性
- Insert:切换是否用红色粗体标记选中的会话
- M :给选中的会话添加描述
相关推荐
- Java 反编译工具的使用与对比分析
-
前言Java反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java对于Class字节码文件的生成有着严格的要求,如果你非常熟悉Java虚拟机规范,了解Class字节...
- Java代码混淆工具Allatori混淆jar可执行包的使用方法
-
Allatori简介Allatori是第二代Java混淆器,可为您的知识产权提供全方位的保护。Allatori不只是混淆,它还最小化应用程序大小,并提高速度,同时除了您和您?的团队之外,任何人...
- window下将spring boot-jar添加到服务中,实现自动启动
-
1、下载winsw:https://github.com/winsw/winsw/releases...
- idea maven 依赖包报红
-
有不少小伙伴遇到这个问题问我该怎么破,其实这个问题的答案在网上已经烂大街了,随便一查就一堆(其中不少是复制粘贴的且抄都抄不全,令人汗颜!),在此我记录下解决方案。解决方案如下:maven的settin...
- 使用 XJar 对程序 jar 包加密,防止被破解
-
1.新建一个空的maven项目,并在pom文件中添加:<dependencies><dependency><groupId>com.github.c...
- maven 处理多版本 jar包依赖冲突
-
一。参考文档https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-th...
- IntelliJ Idea下jar包引入失败的处理方法
-
IntelliJIdea下jar包引入失败的处理方法标签:IntelliJIDEAIDEA导入新项目或者更新的时候,显示“Cannotresolvesymbol'XXX‘’”,之前有...
- 将本地jar 批量发布到 Nexus 私服
-
前言在日常开发过程中,我们有遇到将项目依赖通过mvndeploy发布到自己的公司的私服,以便其他人/环境统一下载入口。但是也有一些特殊情况,比如只能拿到第三方(或甲方)的依赖jar,并不能拿到...
- 如何优雅替换第三方依赖中的类?
-
在项目中需要依赖其他第三方的jar包,但有时我们需要扩展第三方jar的功能,或者修复依赖中已知还未修复的bug,但碰到过很多种情况,第三方类库中并没有提供对应的扩展点导致无法优雅的使用继承等方法对代码...
- Jarboot-一个功能强大易用的Java进程启动器
-
什么是JarbootJarboot是一个功能强大易用的Java进程启动器,使用jarboot可以方便的启动一批的Java进程,支持按照依赖的优先级顺序启动、进程守护、文件监控重启、进程在线调试。...
- IDEA 这么设置 Maven,再也不用担心依赖下载失败了
-
Hello,大家好,我是楼下小黑哥。B站视频版本...
- 一个小技巧,Maven 打 Jar 包体积缩小100倍
-
大家好,我是互联网架构小马哥!为了大家能够从从项目集成的苦力活中解放出来,最近这一周,整理了两篇关于Jenkins构建、部署的文章,感兴趣的朋友可以看看:【...
- 还在用nohup启动java jar服务?试试强大的systemctl吧
-
nohup直译过来就是不挂断,要运行后台中的nohup命令,添加&(表示“and”的符号)到命令的尾部,使用nohup启动的例子:nohup/usr/bin/java-jar/dat...
- 推荐一款产品-防止JAVA代码反编译
-
VirboxProtector是深思数盾科技股份有限公司经过多年技术深耕开发的一款高强度虚拟机外壳。VirboxProtector集加密、压缩、混淆虚拟化等于一身。支持的操作系统包括Windo...
- 如何使用Axure制作交互文档?
-
编辑导语:Axure作为交互文档有着可交互、兼容性好的优势,本文作者结合亲身的实践操作,为我们分享了如何使用Axure制作交互文档。01Axure软件介绍这次团队决定使用的是Axure9版...