全网最全最细的fiddler使用教程以及工作原理
全⽹最全最细的fiddler使⽤教程以及⼯作原理
⼀、Fiddler抓包⼯具简介
Fiddler是位于客户端和服务器端的HTTP代理。
Fiddler是⽬前最常⽤的http抓包⼯具之⼀。
Fiddler是功能⾮常强⼤,是web调试的利器。
⼆、Fiddler⼯作原理
Fiddler原理图如下:
Fiddler是⼀个代理服务器。代理地址:127.0.0.1,端⼝:8888。浏览器可以通过设置查看代理服务器:设置->⾼级->打开您计算机的代理设置->连接->局域⽹设置->代理服务器->在⾼级中就能看到代理地址:127.0.0.1和端⼝:8888
当浏览器向服务器请求数据时,被Fiddler截获,截获后再发送给服务器,当服务器向浏览器响应数据时,
同样会被Fiddler截获,然后再发送给浏览器,所以我们能够在Fiddler中看到请求的报⽂和响应的报⽂。
关掉Fiddler、代理服务器会⾃动取消。如果Fiddler⾮正常退出,因为Fiddler没有⾃动注销,可能会造成⽹页⽆法访问。解决的办法是重新启动Fiddler。
三、Fiddler安装
Fiddler官⽹下载地址:lerik/fiddler
Fiddle证书⽣成器下载地址:lerik/docs/default-source/fiddler/?sfvrsn=2
Fiddler安装注意事项:不要安装在有中⽂和特殊字符的⽬录。
四、Fiddler界⾯介绍
Fiddler界⾯从上到下分为:菜单栏、⼯具栏、回话列表、功能页签、命令⾏,状态栏六⼤板块!如下图所⽰:
五、Fiddler菜单栏介绍
File菜单
1、Capture Traffic:可以控制是否把Fiddler注册为系统代理。
2、New Viewer:打开⼀个新的fiddler窗⼝
3、Load Archive:⽤于重新加载之前捕获的以SAZ⽂件格式保存的数据包。
4、Save:⽀持以多种⽅式把数据包保存到⽂件中。
5、:⽀持导⼊从其他⼯具捕获的数据包,也⽀持导⼊以其他格式存储的数据包。
6、:把Fiddler捕捉到的回话以多种⽂件格式保存。
7、Exit:取消把Fiddler注册为系统代理,并关闭Fiddler。
Edit菜单
1、Copy:复制会话。
2、Remove:删除会话。
3、Select All:选择所有会话。
4、Undelete:撤销删除会话。
5、Paste as Session把剪贴板上的内容粘贴成⼀个或多个模拟的会话。
6、Mark:选择⼀种颜⾊标记选中会话。
7、Unlock for Editing 解锁会话。
8、打开Find Session窗⼝,搜索捕获到的数据包。
Rules菜单
1、Hide Image Request:隐藏图⽚回话。
2、Hide CONNECTS:隐藏连接通道回话。
3、Automatic Breakpoints:⾃动在[请求前]或[响应后]设置断点。Ignore Image触发器控制这些断点是否作⽤于图⽚请求。
4、:打开Fiddler脚本编辑窗⼝。
5、Require Proxy Authentication:,要求客户端安装证书。该规则可以⽤于测试HTTP客户端,确保所有未提交Proxy-Authorization请求头的请求会返回HTTP/407响应码。
6、Apply GZIP Encoding:只要请求包含具有gzip标识的Accept-Encoding请求头,就会对所有响应使⽤GZIP HTTP进⾏压缩(图⽚请求除外)。
7、Remove All Encoding:删除所有请求和响应的HTTP内容编码和传输编码
8、Hide 304s:隐藏响应为HTTP/304 Not Modified状态的所有回话。
8、Hide 304s:隐藏响应为HTTP/304 Not Modified状态的所有回话。
9、Request Japanese Content:选项会把所有请求的Accept-Encoding请求头设置或替换为ja标识,表⽰客户端希望响应以⽇语形式发送。
10、User-Agents:把所有请求的User-Agent请求头设置或替换成指定值。
11、performance:模拟弱⽹测试速度。
Tools菜单
1、:打开Fiddler选项窗⼝。
2、打开IE的Internet属性窗⼝
3、Clear WinINET Cache:清空IE和其他应⽤中所使⽤的WinINET缓存中的所有⽂件。
4、Clear WinINET Cookies:清空IE和其他应⽤中所发送的WinINET Cookie
5、:选项会启动TextWizard窗⼝,对⽂本进⾏编码和解码。
6、Compare Session:⽐较回话。
7、Reset Script:重置Fiddler脚本。
8、Sandbox:打开webdbg/sandbox/
9、View IE Cache:打开IE缓存窗⼝。
View菜单
1、Show Toolbar:控制Fiddler⼯具栏是否可见
2、Default Layout、Stacked Layout、Wide Layout三种界⾯布局
3、Minimize to Tray:最⼩化Fiddler到系统托盘(快捷键:CTRL+M )
4、Squish Session List:控制回话列表是否⽔平收缩。
5、AutoScroll Session list:添加新的回话时,⾃动滚动到回话列表底部
六、Fiddler⼯具栏介绍
1.备注功能
2.重新发送请求,快捷键:R键。
3.删除请求
4.当有请求前断点时,点击去发送请求。
5.流模式。(默认是缓冲模式)
6.解码
7.保持回话的数量。
8.选择你想要抓包或者监听的程序
9.查
10.保存所有会话,⽂件名以.saz为扩展名
11.截图
12.计时器
13.快捷的打开IE浏览器
14.清除IE缓存
15.⽂本的编码解码⼯具
16.分离⾯板
17.MSDN查询
18.本机的信息
七、Fiddler回话列表详解
七、Fiddler回话列表详解
会话(session)即Fiddler抓取到的每条http请求数据包。
主要包含:1.请求的ID编号、2. http响应状态码、3.会话使⽤的协议、4.请求发送到的服务器主机名、5.数据包在服务器中的路径和⽂件、6.响应body的字节数。7.响应头信息Cache-Control的值、8、响应头
信息Content-Type的值、9.发起请求的本地windows进程、10.注释、11.⾃定义备注。
⼋、Fiddler功能页签详解
Statistics页签
通过该页签,⽤户可以通过选择多个会话来得到这⼏个会话的总的信息统计,⽐如多个请求传输的字节数。访问页⾯时选择第⼀个请求和最后⼀个请求,可获得整个页⾯加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从⽽对页⾯的访问进⾏速度性能优化。
inspectors页签(常⽤页签)
它提供headers、textview、hexview,Raw等多种⽅式查看⼀条http请求的请求和响应,它分为上下两部分:上部分为请求展⽰,下部分为响应展⽰。
AutoResponse页签(常⽤页签)
它可以抓取在线页⾯保存到本地进⾏调试,⼤⼤减少了在线调试的困难,可以让我们修改服务器端返回的数据,例如让返回都是404的数据包读取本地⽂件作为返回内容。
composer页签(常⽤页签)
⽀持⼿动构建和发送HTTP,HTTPS和FTP请求,我们还可以从回话列表中拖曳回话,把它放到composer选项卡中,当我们点击Execute按钮时则把请求发送到服务器端。
FiddlerScripts页签
打开Fiddler脚本编辑。
log页签:
打印⽇志
Filters页签(常⽤页签)
过滤器可以对左侧的数据流列表进⾏过滤,我们可以标记、修改或隐藏某些特征的数据流。
Timeline页签
时间轴,也称为Fiddler的瀑布图,展⽰⽹络请求时间的功能。每个⽹络请求都会经历域名解析、建⽴连接、发送请求、接受数据等阶段。把多个请求以时间作为X轴,⽤图表的形式展现出来,就形成了瀑布图。在左侧会话窗⼝点击⼀个或多个回话,Timeline 便会显⽰指定内容从服务端传输到客户端的时间。
九、Fiddler命令⾏⼯具详解
Fiddler命令⾏可以输⼊命令操作回话列表,常见命令有:
help    打开官⽅的使⽤页⾯介绍,所有的命令都会列出来。
cls      清屏 (Ctrl+x 也可以清屏)
select    选择所有相应类型的回话(如select image或select css)。
?sometext 查字符串并⾼亮显⽰查到的会话。
>size    选择请求响应⼤⼩⼩于size字节的会话。
=status/=method/@host 查状态、⽅法、主机相对应的会话
1uit      退出fiddler
bpafter xxx 中断URL包含指定字符的全部回话响应
bps xxx    中断HTTP响应状态为指定字符的全部回话响应。
bpv xxx    中断指定请求⽅式的全部回话响应
bpm xxx    中断指定请求⽅式的全部回话响应。等同于bpv xxx
bpu xxx:    与bpafter类似。
⼗、Fiddler状态栏详解
1、显⽰的Fiddler是否处于捕捉状态(开启/关闭状态),可以点击该区域切换。
2、显⽰当前捕捉哪些进程。
All Processes 捕获所有进程的请求代理服务器的设置
Web Browsers  捕获 Web 浏览器的请求,应该特指 IE
Non-Browser  捕获⾮ Web 浏览器的请求
Hide All      隐藏所有请求
3、显⽰当前断点设置状态,通过⿏标点击切换。有三种:
不设置断点
所有请求在断点处被暂停
所有响应在断点处被暂停
4,显⽰当前共捕获了多少回话(如:300,表⽰共捕获了300个会话,如:10/300,表⽰当前选择10个会话,共捕获300个会话)。
5,第五区块,描述当前状态。
如果是刚打开Fiddler,会显⽰什么时间加载了CustomRules.js;如果选择了⼀个会话,会显⽰该会话的URL;如果在命令⾏输⼊⼀个命令,就会显⽰命令相关信息。
⼗⼀、总结
如果你对此⽂有任何疑问,如果你觉得此⽂对你有帮助,如果你对软件测试、接⼝测试、⾃动化测试、⾯试经验交流感兴趣欢迎加⼊软件测试技术:695458161,⾥发放的免费资料都是笔者⼗多年测试⽣涯的精华。还有同⾏⼤神⼀起交流技术哦。
作者:来⾃:软测之家
出处:www.360doc/edit/editdraftnew.aspx?draftid=1197

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。