Fiddler 笔记

1. Fiddler 的原理

终端设备(如WEB、APP)发出请求,Fiddler 作为中间代理,传给服务器;服务器返回数据,Fiddler 拦截后,再传给终端设备
核心:代理服务
运行机制:本机上监听8888端口的HTTP代理(代理地址是127.0.0.1,端口号8888)

2. 第一次使用Fiddler,如何配置

(1)抓取 https 请求时,先导入证书:

① Fiddler 设置:Tools > Options > HTTPS:Capture HTTPS CONNECTIONS
② 浏览器设置:从 Fiddler 导出证书,导入到浏览器中

(2)只抓取 App 的请求,如何设置?

① 手机切换到与 Fiddler 所在终端同一网络
② 手机 wifi 设置手工代理:输入终端ip和端口号8888
③ 在Fiddler > Tools > Options > ...from remote clients only
④ 查看 Fiddler 所在主机的 ip:cmd 中输入 ipconfig,查看 IPV4 地址;
⑤ 手机浏览器输入:http:// 本机Ip:8888 安装https 证书。

(3)如何关闭 Fiddler 的代理设置?
  1. 菜单栏:File > Capture Traffic;
  2. 状态栏:单击 Capturing。
(4)要捕获局域网中其他主机浏览网页的数据,如何设置?

方法:
① 在其他主机的浏览器中依次选择“设置”|“Internet 选项(O)”弹出Internet 选项对话框,单击“连接”选项卡。
② 单击“局域网设置”按钮,弹出“局域网(LAN)设置”对话框,勾选代理服务器下面的复选框,在地址栏中输入Fiddler 所在主机的IP 地址,端口栏中输入8888。
③ 单击“确定”按钮,通过该浏览器访问网页,Fiddler 就会捕获到访问网页的数据。

3. Fiddler如何捕获Firefox的会话?

Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。

4. Fiddler的退出

Fiddler退出时会自动注销,这样就不会影响别的程序。
如果Fiddler非正常退出,由于Fiddler没有自动注销,将会造成网页无法访问。解决办法是重启Fiddler。

5. Fiddler同类的其它工具

  • httpwatch
  • firebug
  • wireshark

6. 如何保存Fiddler 捕获的 Web 会话?

1)在菜单栏中依次选择File|Save|All Sessions...命令,弹出Save Sessions Archive 会话框
2)选择会话保存的路径,在文件名的文本框中输入保存文件的名称,以便日后查看

7. Fiddler 会话中如何快速定位 session ?

① 单击 # 排序显示
② 搜索查看:右键选择Search this column...命令,在弹出的Search 对话框中输入查找内容
③ 隐藏状态码304 的Session:菜单栏选择Rules|Hide 304s 命令

8. 如何捕获 FTP 协议的会话

(1)在菜单栏中依次选择Tools|Fiddler Options...命令,弹出Fiddler Options 对话框,
(2)单击Connections,切换到“Connections”选项卡
(3)在打开的Connections 选项卡中,勾选Capture FTP requests 前面的复选框

9. 左下角 QuickExec 快捷命令行的指令?

help:帮助
cls :清屏,Ctrl+x 也可以清屏
select:选择会话
?.png:选择png后缀的图片
bpu:截获request

10. AutoResponder 的创建步骤(以博客园示例)

① 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。
② 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif, 把这个会话拖到AutoResponer Tab下
③ 选择Enable automatic reaponses 和Unmatched requests passthrough
④ 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片. 最后点击Save 保存下。
⑤ 再用IE博客园首页, 你会看到首页的图片用的是本地的。

11. Composer的常见操作

(1)设置断点修改Request

① 打开Fiddler,点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
消除命令:点击Rules-> Automatic Breakpoint ->Disabled
② 命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com)
消除命令:在命令行中输入命令 bpu

(2)设置断点修改Response

① 打开Fiddler,点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)
消除命令:点击Rules-> Automatic Breakpoint ->Disabled
② 命令行中输入命令: bpafter www.baidu.com (这种方法只会中断www.baidu.com)
消除命令:在命令行中输入命令 bpafter

12. 什么情况下开展接口测试?

(1) 开发自测
项目处于开发阶段,前后端联调接口是否请求的通过(对应数据库的增删改查)
(2) 功能测试开展之前
有接口需求文档,开发已完成联调(可以转测)
(3)专项测试
① 流量分析
如测流量大小(看Body大小),查看图片压缩大小,测试接口请求响应时间
例如上传头像,图片是否会被压缩至100k以下(如果不压缩,流量伤不起)
浏览器抓包查看接口响应时间

②模拟弱网测试


图片.png
图片.png

(4) 回归测试
版本上线前,进行整体回归,查看接口是否有异常(如404),对准备上线的版本进行抓包,查看服务器地址是否都正确
(5)接口自动化
版本功能稳定后
(6)安全测试、性能测试

13. 使用技巧

  • Fiddler中过滤会话:使用 Filters tab 中的选项

  • Fiddler中会话比较:中2个会话,右键然后点击Compare,使用WinDiff(需安装)来比较两个会话的不同


    图片.png
  • Fiddler中提供的编码小工具


    图片.png
  • 查询会话:快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话,询到的会话会用黄色显示
  • 保存会话:选择你想保存的会话,然后点击File->Save->Selected Sessions
  • script系统:官方帮助文档: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
    安装SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now...
    图片.png

安装成功后,会多出一个Fiddler Script tab


图片.png

编写脚本


图片.png

14. 如何在VS调试网站的时候使用Fiddler?

① 在用visual stuido 开发ASP.NET网站的时候也需要用Fiddler来分析HTTP, 默认的时候Fiddler是不能嗅探到localhost的网站。不过只要在localhost后面加个点号,Fiddler就能嗅探到。
② 例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx, 加个点号后,变成 http://localhost.:2391/Default.aspx 就可以了
③ 第二个办法就是在hosts文件中加入 127.0.0.1 localsite。访问http://localsite:端口号 , 这样Fiddler也能截取到

15. Response 乱码?

原因:因为 HTML 被压缩
解决办法:
① 点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
② 选中工具栏中的"Decode"。 这样会自动解压缩。

16.常用命令

① 选择类:?text、>size、 ② blod text、select、allbut、keeponly
③ 断点类:bpafter、bps、bpv、bpm、bpu
④ 控制类:hide、start、stop、show、quit
⑤ 其他:cls/clear、dump、g/go、help、urlreplace

你可能感兴趣的:(Fiddler 笔记)