天天看点

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请求

fiddler

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

fiddler

--> 手机wifi设置代理

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

--> 设置过滤设备

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

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

fiddler

断点操作

修改请求数据

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

fiddler

修改响应数据

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

特殊局部断点

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

工具栏快捷键

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

工具栏的使用

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

会话列表

基本面板

fiddler
  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

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

Statistics统计分析

fiddler

Inspectors检查器

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

fiddler抓包出现乱码解决方案

  1. 修改注册表
    1. windows按钮+R
    2. 输入regedit +回车+是
    3. HKEY_CURRENT_USER\Software\Microsoft\Fiddler2
    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. 自定义响应

    替换发出的请求

    目的是将发出的请求,替换为其他的请求或者本地图片等相关,钓鱼网站多用于此方法。

fiddler

Composer设计器

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

fiddler

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

弱网测试

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

继续阅读