美文网首页
Fiddler 笔记

Fiddler 笔记

作者: Queenie的学习笔记 | 来源:发表于2020-02-24 15:08 被阅读0次

    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、<size、=status、@host、
    ② blod text、select、allbut、keeponly
    ③ 断点类:bpafter、bps、bpv、bpm、bpu
    ④ 控制类:hide、start、stop、show、quit
    ⑤ 其他:cls/clear、dump、g/go、help、urlreplace

    相关文章

      网友评论

          本文标题:Fiddler 笔记

          本文链接:https://www.haomeiwen.com/subject/yokvqhtx.html