您的位置:首页 > 其它

Fiddler教程

2015-06-18 14:34 363 查看


简介

Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器,以代理服务器的方式,监听系统的网络数据流动。启动Fiddler后,会在本地打开8888端口,网络数据流通过Fiddler进行中转时,可以监视HTTP/HTTPS数据流的记录并加以分析,甚至可以修改发送和接收的数据。


用途

1、可以监视HTTP/HTTPS数据流的记录并加以分析,甚至可以修改发送和接收的数据。

2、清除IE缓存、请求构造器、文本转换工具等等一系列工具,对前端开发工作很有价值。


原理

Fiddler是在浏览器(或其他使用HTTP协议的进程)和服务器之间扮演代理的角色,这样所有通信都要经过它。如下图所示。




下载

http://www.telerik.com/download/fiddler


界面




配置

1、配置HTTPS会话(可选)

默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tool->Fiddler Options->HTTPS tab



选中checkbox, 弹出如下的对话框,点击"YES"





点击"Yes" 后,就设置好了

2、配置代理(可选)

打开Fiddler Tool->Fiddler Options->HOST



选中复选框,在里面输入ip 域名映射,点击save按钮

3、只检测代理ip(可选)

点击右侧窗口中的Filters



选中“Use Filters”,在下面的第二个下拉框中选中“Show only the
following Hosts”,填入网址

4、手机代理(可选)

调出windows系统的命令行窗口(win+r,输入cmd,回车),输入ipconfig命令,回车,看看本机ip地址。以iphone 5s手机为例,打开设置-无线局域网-选中wifi-手动,在服务器内输入本机的ip地址,端口为Fiddler的8888。






会话

1、界面



2、图标代表含义



3、查找会话

用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示



4、保存会话

有时需要把会话保存下来,以便发给别人或者以后去分析。保存会话的步骤如下:选择你想保存的会话,然后点击File->Save->Selected
Sessions。



5、比较会话

选中两条及以上会话,点击右键-Compare


6、过滤会话

见配置章中第三条

7、删除会话

可以选中全部会话,按delete键删除,也可以使用Fiddler自带的删除按钮



命令

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。常用的命令有
1、help 打开官方的使用页面介绍,所有的命令都会列出来
2、cls 清屏 (Ctrl+x 也可以清屏)
3、select 选择会话的命令
4、?.png 用来选择png后缀的图片
5、bpu 截获request
6、bpafter 截获reponse



统计

选中左侧http请求,右侧会相应的统计出累积信息,便可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。




断点

1、断点修改Request
有两种方法

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)。如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled。

第二种: 在命令行中输入命令: bpu www.weibo.com (这种方法只会中断www.weibo.com)。如何消除命令呢? 在命令行中输入命令 bpu。
实例,模拟CSDN的登录, 在chrome中打开CSDN的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录。
①. 用chrome打开博客园的登录界面 https://passport.csdn.net/account/login
②. 打开Fiddler, 在命令行中输入bpu https://passport.csdn.net/account/login
③. 输入错误的用户名和密码 点击登录

④. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。

⑤. 结果是正确地登录了CSDN



2、断点修改Response

有两种方法
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)。如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled。

第二种: 在命令行中输入命令: bpafter www.weibo.com (这种方法只会中断www.weibo.com)。如何消除命令呢? 在命令行中输入命令bpafter。
实例,在本地新建一个html页面,在页面显示ajax回传的参数
①.用chrome打开本地测试的 地址 http://www.test.com/1504/ajax.php ②. 打开Fiddler, 在命令行中输入bpafter http://www.test.com/1504/ajax.php ③.
改动返回的参数值

④. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。





AutoResponse

此特性对于前端调试特别有用,可以把线上的css、js、image、html文件存储在本地,大大减少了在线调试的困难,下面给个image实例。
1、以微博logo为例,清空Fiddler会话窗口(命令行输入cls),在浏览器上打开微博,找到logo地址,在会话窗口查找此地址(命令行输入?WB_logo.png),把查找到的会话拖到右侧AutoResponer
Tab下,便自动添加一条规则。
2、勾选Enable automatic reaponses 和Unmatched requests passthrough。
3、在下面的Rule Editor 下面的第二个复选框选择 Find a file... 选择本地保存的图片.
最后点击Save 保存下。
4、刷新微博,会看到微博logo已变成了刚刚保存的图片,可以通过删除刚刚的那个规则或是关闭Fiddler来回复。








Composer

1、用途

构造HTTP请求,模拟相关程序所需数据。

2、两种模式

①.Parsed模式(最常用), 把Request分为三个部分, Request
line, Request Headesr, Request Body。 很容易创建一个Request.

②. Raw模式,需要你一行一行手动写一个Request。





3、实例(Parsed模式)

①.本地新建接收HTTP请求并写入文件和展示的脚本。

②. 在Fiddler右侧的Composer
tab中,构造请求数据。

③.点击Excute,执行。

④. 选中左侧新出现的会话,点击右侧Inspectors查看响应,打开本地相应目录,看看是否生成相应数据。










编码工具

点击Fiddler 工具栏上的TextWizard, 这个工具可以Encode和Decode string.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: