• FIddler(一)---设置和界面


    简介

    Fiddle是位于客户端和服务器之间的HTTP代理,代理地址是127.0.0.1:8888,端口可在Fiddler中手动修改。Fiddler退出的时候它会自动注销,这样不会影响别的程序。如果非正常退出,会造成网页无法访问,需要重启Fiddler。

    可以监听http/https的流量,截获从浏览器或客户端向服务器发送的http/https请求,查看请求具体内容,修改请求或响应内容。

    配置

    1.设置https

    点击菜单栏Tools--Options,第一次设置会提示安装证书

     点击Actions--Open Windows Certificate Manager查看安装的证书

    2.设置chorme代理

    3.手机设置代理

     再查看电脑的IP,手机与电脑连同一网络,然后设置代理,主机名是电脑IP地址,端口设置上面监听端口。

    界面

    一、菜单栏

    1.File

     

    •  Capture Traffic:默认勾选,表示抓取请求;取消不抓取
    • New Viewer:再打开一个页面
    • Load Archive…:用于重新加载之前捕获到的 SAZ 文件格式保存的会话
    • Recent Archives:查看最近之前捕获到的 SAZ 文件格式保存的会话
    • Import Sessions…:从目标文件夹及其子文件夹加载所有 SAZ 文件。缓存和重用密码。支持导入从其他工具获得的会话

    2.Edit

    • Undelete:恢复之前删除的会话
    • Paste as Sessions:把剪切板里的会话复制到 web sessions 中,把以前的会话粘贴回来
    • Mark:自定义不同会话 的显示颜色
    • Unlock for Session:

    3.Rules

     

    •  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 内容编码和传输编码
    • Automatically Authenticate:自动进行身份验证
    • User-Agents:选择不同的用户代理,默认是选择 disabled
    • Performance:此项提供影响 web 性能的简单选项。若选中了 simulate modem speeds,它会设置所有后续 session 的 flag,把 request-trickle-delay 标志设置为 300,所有上传数据延迟 300ms/kb,若把 response-trickle-delay 标志位设为 150,会使所有下载数据延迟 150ms/kb。若选中了 disable caching,将会删除所有 If-None-Match和If-Modified-Since 请求头,并添加 Pragma:no-cache 请求头,选中该项还会删除响应中的所有 Expires 头,并把 Cache-Control 响应头设置成 no-cache,该项无法阻止浏览器重用在所用该选项之前所缓存的响应,在选中该选项后,为了得到最佳结果,最好是清空浏览器中缓存。若选择 Catch Always Fresh 会自动响应所有包含 http/304 响应的有条件的 http 请求,表示客户端缓存是最新的,当访问的站点无法正确的设置缓存失效日期时,该选项可以极大的提高性能。

    4.Tools

    • Options…:打开 Options 窗口,修改监听的端口,设置HTTPS抓包,手机抓包等

    • WinINET Options…:打开IE浏览器的Internet属性面板
    • Clear WinINET Catch:清空 IE 和其他应用中所使用的 WinINET 的缓存文件
    • Clear WinINET Cookies:清空 IE 和其他应用中所使用的 WinINET 的 Cookies 文件
    • TextWizard:文本向导工具,是一个非常好用的可以轻松将 text 文本 encode 和 decode 的小工具
    • Compare Sessions:比较会话,可以在会话列表中选中两个会话,然后点击此按钮,可以来比较两个会话,需要先安装WinDiff或WinMerge
    • New Session Clipboard…:打开一个新的会话剪贴板,可以把会话列表中的会话拖到这个剪贴板中具体来查看
    • HOSTS:主机重定向工具。若在其中勾选 Enable 框,然后在下面加入 host 配置,点击保存之后,这个配置并不会修改到本地 hosts 中,取消勾选就会失效,若点击 Import Windows Hosts File 将会导入本地的 host 文件内容
    • Reset Script:重置脚本
    • Sandbox:点击跳转到HTTP Sanbox
    • View IE Cache:打开本地文件系统,查看IE缓存
    • Win8 Loopback Exemptions:Win8 回环豁免工具,这个时候会弹出一个“AppContainer 回环豁免实用程序”的窗口,若要将所有的程序使用豁免,点击“全部免除”,然后点击“保存更改”

    5.View

    • Show Toolbar:显示工具栏,默认是勾选的
    • Default Layout:默认 layout,会话列表在左,请求和响应在右边的上下处
    • Stacked Layout:会话列表在上,请求在下方
    • Wide layout:会话列表在上,请求和响应在下方的左右处
    • Tabs:打开标签页面,其中有三个标签可以打开,分别是 Preferences(fiddler 偏好属性),AutoSave(fiddler 自动保存的设置),APITest(api 的测试)
    • Minimize To Tray:最小化托盘
    • Stay On Top:保持置顶
    • Squish Session List:挤压会话框
    • AutoScroll Session List:自动滚动会话列表,默认是勾选此项的,勾选此项后,会话列表中的每出现新的会话,会话列表就会不断向下滚动,若不勾选此项,就很方便具体某一个会话的定位,即使出现了新的会话也不会自动向下滚动
    • Refresh:刷新功能,按 F5 刷新

    6.Help

    • Help:进入 fiddler 的帮助的网页
    • Get Fiddler Book…:fiddler book 的网页
    • Discussions:fiddler 的讨论网页,这个需要魔法上网
    • Http Preferences:进入 http preferences 相关网站
    • Troubleshoot…:会捕获所有请求,对于哪些被过滤的请求用删除线表示出来并给出原因,使用时候会打开一个网页

    二、工具栏 

    1.WinConfig:点击WinConfig-勾选所有-点击SaveChanges

     2.给会话增加备注信息

    3.Replay:重新加载当前会话。选中会话-点击Replay,会在底部显示重新加载的会话。

    4.删除会话。点击删除按钮会有不同的筛选项

    5.Stream(流模式):Fiddler的代理模式。默认缓冲模式(所有资源准备好之后再返回),点击切换流模式(实时返回,更接近浏览器的行为)

    6.Decode:解码

    7.Keep:会话列表最多显示多少条会话

    8.Ang Process:捕获请求,只看需要的请求。将靶心投向需要的请求

    9.find:查找,用颜色标注查找结果

    10.Save:保存会话

    11.点击截图,默认5s后截图,图片在会话中显示

    12.计时器,第一次点击开始计时,第二次点击返回计时结果,第三次点击清除结果,重新开始计时,右键点击不计时

    13.Browser:启动浏览器,下拉选择浏览器点击启动浏览器

    14.Clear Cache:清除缓存

    15.TextWizard:编码、解码文本内容

    16.Tearoff:浮窗,点击右边详情信息浮窗显示,关闭浮窗详情信息位置恢复

    17.搜索框

    三、会话列表

     1.#:HTTP Request的顺序;以下是图标的解释:

    • clip_image001[13]:请求已经发往服务器
    • clip_image002[4]:已从服务器下载响应结果
    • clip_image003[4]:请求从断点处暂停
    • clip_image004[4]:响应从断点处暂停
    • clip_image005[4]:请求使用 HTTP 的 HEAD 方法,响应没有内容(Body)
    • clip_image006[4]:请求使用 HTTP 的 POST 方法
    • clip_image007[4]:请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
    • clip_image008[4]:响应是 HTML 格式
    • :响应是图片
    • clip_image010[4]:响应是脚本格式
    • clip_image011[4]:响应是 CSS 格式
    • clip_image012[4]:响应是 XML 格式
    • clip_image013[4]:响应是 JSON 格式
    • clip_image014[4]:响应是音频文件
    • clip_image015[4]:响应是视频文件
    • clip_image016[4]:响应是SilverLight
    • clip_image017[4]:响应是 FLASH
    • clip_image018[4]:响应是字体
    • clip_image019[4]:普通响应成功
    • clip_image020[4]:响应是 HTTP/300、301、302、303 或 307 重定向
    • clip_image021[4]:响应是 HTTP/304(无变更):使用缓存文件
    • clip_image022[4]:响应需要客户端证书验证
    • clip_image023[4]:服务端错误
    • clip_image0244:会话被客户端、Fiddler 或者服务端终止

    2.Result:response响应码

    3.Protocol:请求使用的协议(HTTP/HTTPS)

    4.Host:请求地址的域名。Tunnel to在受限制的网络环境(防火墙、NAT、代理)中且使用HTTPS方法时,客户端使用CONNECT请求代理服务器,代理服务器使用CONNECT方法与目标服务器建立http tunnel,隧道建立后,客户端与服务器进行通信,代理服务器就像透明一样,只是接受、转发TCP stream。服务器一般只开发SSL的443端口。所以访问https:www.baidu.com之前出现了tunnel to www.baidu.com:443

    5.URL:请求的服务器地址和文件名,也包括GET的参数

    6.Body:请求的大小,以byte为单位

    7.Caching:请求的缓存过期时间或缓存控制header等值

    8.Content-Type:说明实体主体的媒体类型

    9.Process:发出此请求的windows进程及进程ID

    10.comments:用户添加的备注

    11.Custom:用户通过脚本设定的值

    12.在会话列表中增加显示RequestMethod列。在会话列表的首行右键单击--选择coustomize columns...--选择RequestMethod--点击Add添加

     

    13.常用快捷键

    • 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 :给选中的会话添加描述

    四、详情和统计界面

     1.Statistics:数据统计面板,性能分析

    可以在会话列表选择一个或多个会话,查看数据信息。选择多个会话来得出总的信息数据,可获得加载整个页面所消耗的时间。从条形图还可以得出哪个请求消耗的时间最多,从而优化页面的访问速度。

    2.Inspectors:对抓到的请求进行解包,查看详细内容。

    3.AutoResponder:允许直接返回本地文件,而不用将request发送到服务器

     把博客园的图片都换成自己的图片

    4.Composer:前后端接口联调,伪造请求。

    5.Fiddler Orchestra Beta:

    官方提供的是Web UI的形式,同时支持远程调试,比如想抓包远程计算机的流量,想抓取正常业务的80和443端口流量都可以,其存在http和https反向代理功能,其中Fiddler Orchestra涉及到两个角色,控制器(Controller)和客户端(Client),控制器就是我们正在使用的Fiddler软件,其功能是用来收集数据和控制任何一个客户端,而客户端则是向任何其运行所在的Windows,Linux,Mac主机上收集接收过来的流量将其通过加密的方式报告发送给控制器,控制器会在Fiddler软件上的会话端显示。
     
    6.FiddlerScript:Fiddler脚本
     
    7.Log:查看log
     
    8.Filter:过滤。过多的请求信息不利于工作,通过一定的筛选条件过滤不需要的信息。

     9.Timeline:直观地显示页面各个元素加载的时间和顺序

     

    • 1请求地址简称,绿色的代表有条件的请求,否则是黑色
    • 2红色圈圈代表这个连接是新建的,绿色代表是复用的,上面的圈表示客户端到Fiddler的连接,下面的圈表示Fiddler到服务器的连接。
    • 3实心的是流模式的请求,阴影的是缓冲模式的请求,流模式更贴近实际情况;颜色根据Content-Type来决定,图片是浅绿色,JavaScript是深绿色,CSS是紫色,其他是蓝色;
    • 4Timeline中的黑色竖线,表示的是浏览器收到服务端响应的第一个字节这一时刻。这个时间受 DNS 解析、建立连接、发送请求、等待服务端响应等步骤的影响,一般用来观察服务器返回给浏览器的数据传输效率。若后面有红色的×,表示服务器响应完这个请求后断开了连接

    五、命令行栏

    •  help:查看帮助文档
    • ?sometext:匹配Protocol/Host/URL,包含sometext选中高亮显示

    •  >size/<size:大于/小于这个数值的高亮显示
    • =status:例=200,状态码是200的高亮显示
    • =method:例=GET,方法是GET的高亮显示
    • @host:匹配host,包含高亮显示,@www.cnblogs.com
    • bold:例 bold png 后面抓到的请求url中包含png的都加粗显示;只写bold取消加粗显示
    • bpu:请求断点;例bpu cnblogs.com;只写bpu取消请求断点
    • bpafter:返回断点;例bpafter cnblogs.com;只写bpafter取消返回断点
    • bps:例bps 200 中断所有返回状态码是200的会话;bps取消断点
    • bpv/bpm:bpv/bpm GET 中断所有请求方法是的会话;pv/bpm取消断点
    • g/go:放行所有中断的请求
    • cls/clear:清空会话列表
    • dump:把所有会话打包成压缩包dump.saz保存在我的文档-Fiddler2-Captures文件夹下,并且会清空会话列表
    • hide:隐藏Fiddler;可在右下角隐藏图标中找到
    • stop:停止抓取请求
    • start:开始抓取请求
    • urlreplace:urlreplace baidu cnblogs  把baidu替换成cnblogs;urlreplace取消替换
    • select:select image 在会话列表高亮显示返回的Content-Type是image的会话;select ui-comments 111 高亮显示会话列表中comments是111的会话;select @request.Host i.cnblogs.com高亮显示请求头中Host是i.cnblogs.com的会话
    • allbut/keeponly:allbut/keeponly image 只显示返回的Content-Type是image的会话
    • !dns:!dns www.cnblogs.com/!dnslookup www.cnblogs.com  执行dns查找并在右边的Log栏打印结果

    • !listen:!listen 9999设置监听端口为9999;!listen 7777 www.cnblogs.com设置认证为www.cnblogs.com的监听端口为7777
    • cols add:cols add @request.Accept在会话列表中增加菜单项

    快捷键

    • Alt + Q:快速将焦点定位到 QuickExec 命令行
    • Ctrl + I:当选择了一个会话 时候,可以快速将此会话的url插入到当前命令行光标处

     

    六、状态栏

    1.capturing表示正在抓取请求;若显示为空则表示停止抓取请求;右键单击可切换

    2.表示现在显示所有的进程,可单击显示下拉列表,选择显示其他进程。

    3.选中会话的条数/会话的总条数

    4.状态提示,在上方命令行栏输入命令后会有状态提示

  • 相关阅读:
    jquery:class选择器(父子关系)
    jquery:跳转网页
    jquery:获得当前点击对象 : $(this)
    jquery:向后台提交数组
    03 适配器 代理 外观 装饰者
    02 工厂模式
    01 单例模式 Singleton
    设计模式概论与原则 & UML类图
    06 JDBC & ORM
    05 注解与反射 & JVM
  • 原文地址:https://www.cnblogs.com/he-202007/p/13688017.html
Copyright © 2020-2023  润新知