zoukankan      html  css  js  c++  java
  • fiddler

    fiddler简介

    fiddler是位于客户端和服务器端的HTTP代理,目前最常用的http抓包工具之一,功能非常强大,是web调试的利器。

    1. 监控浏览器所有的http和https的流量
    2. 查看、分析请求内容细节
    3. 伪造客户端请求和服务器响应
    4. 测试网站的性能
    5. 解密https的web会话
    6. 全局、局部断点功能
    7. 第三方插件

    fiddler工作原理

    终端设备(web、app)发出请求,fiddler作为代理,传给服务器;服务器返回数据,fiddler作为代理,传给服务器,服务器返回数据,fiddler拦截后,在传给终端设备。

    fiddler场景使用

    1. 接口调试、接口测试、线上环境调试、web性能分析
    2. 判断前后端bug,开发环境hosts配置、mock、弱网断网测试

    fiddler配置

    --> 自定义会话框,查看get和post请求

    --> 抓https请求的包(tools→options)

    --> 手机wifi设置代理

    1. 手机设置-wifi-找到当前连接的网络(要跟电脑同一局域网)
    2. Fiddler设置允许远程设备连接(如果后面对手机不在进行抓包建议取消)
    3. cmd输入ipconfig查看ipv4地址
    4. 手机浏览器输入http:host:8888(host是跟手机的地址一致),对手机进行安装证书

    --> 设置过滤设备

    1. ...from all processes:抓所有的请求
    2. ...from browsers only:只抓浏览器的请求
    3. ...from non-browsers only:只抓非浏览器的请求
    4. ...from remote clients only:只抓远程客户端(手机app)请求

    --> 为抓包便捷隐藏相关设置

    断点操作

    修改请求数据

    例:输入用户名、密码、验证码,点击登录前设置断点(before requests),然后点击登录。找到该断点请求,修改QueryString,修改过后,点击run to completion,查看修改后的数据是否能通过请求,如果预期结果不通过,实际结果通过了就是缺陷。

    修改响应数据

    例:进入qq腾讯网,在发送该请求之前,设置断点(after requests),然后找到该请求,修改html的内容,修改过后,点击run to completion,查看修改后的展示页面是否为修改的内容。

    特殊局部断点

    1. 使用bpu来对请求进行单个请求前断点,也就是局部断点 bpu+关键字(或者整个请求)
    2. 再次输入bpu取消局部请求前断点
    3. 使用bpafter对请求进行单个响应后断点,也就是局部断点 bpafter+关键字(或者整个请求)
    4. 再次输入bpafter取消局不响应后断点

    工具栏快捷键

    1. R表示重放
    2. shfit+R进行多次重放
    3. del表示删除请求
    4. 选中需要录下的请求,shfit+del删除以外的请求
    5. ctrl+x删除所有的会话请求

    工具栏的使用

    1. go 一般在进行请求前设置断点的时候,在使用工具go的时候,就会跳过直接进行下一步。
    2. decode 一般在请求响应返回是一键进行解码
    3. any process 选择抓取的程序,一般点击之后,再次点击需要抓取的程序,比如谷歌。
    4. textwizard 一款编码解码的神器,可以对数字进行MD5加密等等
    5. online 可以查看本机主机的ip地址

    会话列表

    基本面板

    1. # http request的顺序,从1开始
    2. result http响应的状态
    3. protocol 请求使用的协议
    4. host 请求地址的域名
    5. url 请求服务器路径和文件名,也包括get参数
    6. body 请求的大小,以byte为单位
    7. caching 请求的缓存过期时间或缓存控制和header等值
    8. content-type 请求响应的类型
    9. process 发出此请求的windows进程及进程id
    10. comments 用户通过脚本或者右键菜单给此session增加的备注
    11. custom 用户可以通过脚本设置的自定义值

    会话保存

    1. 保存方式
      1. 保存为txt save→selected sessions→as Text
      2. 保存为saz save→selected sessions→in ArchiveZIP
      3. 导入saz 直接将保存的saz格式文件拖动到fiddler
    2. 保存作用
      1. 当你测出接口的BUG时候,保留证据给开发.
      2. 遇到保存问题解决不了请教别人的时候,直接将保存的会话发给别人

    状态栏与Quick Exec

    1. 命令地址:https://docs.telerik.com/fiddler/knowledgebase/quickexec
    2. 黑色部分表示quick Exec,可以使用特殊方式,进行快速定位 比如:>1000 表示大于1000byte的会话请求
    3. capturing表示会话正在进行代理运行或者捕获会话,点击过后表示关闭代理或者关闭捕获会话

    Statistics统计分析

    Inspectors检查器

    Inspectors 页签允许你用多种不同格式查看每个请求和响应的内容。Inspectors 页签分为上下两部分,上部显示的是发出的请求相关信息,下部显示的是接收的响应相关信息。

    fiddler抓包出现乱码解决方案

    1. 修改注册表
      1. windows按钮+R
      2. 输入regedit +回车+是
      3. HKEY_CURRENT_USERSoftwareMicrosoftFiddler2
      4. 右键新建,选字符串值 加上HeaderEncoding 然后值输入 ,GBK值设置为默认编码(GBK)。建议设成GB18030
    2. 在抓包之前点击工具栏中的Decode

    请求Request部分详解

    1. Headers :显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等
    2. Textview : 显示 POST 请求的 body 部分为文本
    3. WebForms :显示请求的 GET 参数 和 POST body 内容,特别说明,这里的QueryString为url后接的内容;这里 body 为是 application/x-www-form-urlen-coded 格式
    4. HexView: 用十六进制数据显示请求
    5. Auth :显示 header 中的 Proxy-Authorization 和 Authorization 信息
    6. Cookies:显示请求的cookie信息
    7. Raw :将整个请求显示为纯文本(用的较多)
    8. XML:如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它

    响应(Response) 部分详解

    1. Transformer :显示响应的编码信息
    2. Headers :用分级视图显示响应的 header
    3. TextView : 使用文本显示相应的 body
    4. ImageVies :如果请求是图片资源,显示响应的图片,左侧区域会显示图片的大小、宽高、文件格式等信息,在下方还可以选择缩放模式:自动缩放、缩放以适应显示区域大小、无缩放
    5. HexView : 用十六进制数据显示响应
    6. WebView :响应在 Web 浏览器中的预览效果
    7. Auth:显示响应 header 中的 Proxy-Authorization 和 Authorization 信息
    8. Caching : 显示此请求的缓存信息
    9. Cookies:显示返回的cookie信息
    10. Raw : 将整个响应显示为纯文本
    11. JSON:返回的响应内容如果是一个json格式的,这里会显示
    12. XML:如果相应的 body 是 XML 格式,就是用分级的 XML 树来显示它

    AutoResponder自动响应器

    需要掌握,再次刷新网页时使用ctrl+F5进行强制刷新
    AutoResponder可用于拦截某一请求,进行如下操作:

    1. 重定向到本地的资源
    2. 使用fiddler的内置响应
    3. 自定义响应
      替换发出的请求
      目的是将发出的请求,替换为其他的请求或者本地图片等相关,钓鱼网站多用于此方法。

    Composer设计器

    篡改数据,包括cookie,有些接口测试的样子

    filters过滤器(过滤相关请求)

    弱网测试

    操作步骤:

    1. Rules→Customize Rules
    2. 设定弱网条件
    3. 保存弱网条件设定(Rules→Performance→Simulate Modem Speed)

  • 相关阅读:
    对javascript匿名函数的理解(透彻版)
    使用Emmet(前身Zen Coding)加速Web前端开发
    实现IE6-Ie8媒体查询
    css3常用伪类选择器
    ScriptManager,updatepanel中按钮事件不兼容IE10以后版本
    UpdatePanel中弹出不能弹出消息
    页面缓冲显示正在加载图片
    练习JsonJquery查找数据
    Ajax练习:使用jQuery验证用户名是否存在
    使用Android SDK中的WebView
  • 原文地址:https://www.cnblogs.com/wp950416/p/14743155.html
Copyright © 2011-2022 走看看