zoukankan      html  css  js  c++  java
  • Fiddler -工具使用介绍(附:拦截请求并修改返回数据)(转)

    一、Fiddler 介绍

    Fiddler 是一个使用 C# 编写的 http 抓包工具。它使用灵活,功能强大,支持众多的 http 调试任务,是 web、移动应用的开发调试利器。

    1,功能特点

    • 同 Httpwatch、Firebug 这些抓包工具一样,Fiddler 够记录客户端和服务器之间的所有 HTTP 请求,可以针对特定的 HTTP 请求,分析请求数据、设置断点等。
    • 但 Fiddler 更为强大的是,它还可以修改请求的数据,甚至可以实现请求自动重定向,从而修改服务器返回的数据。
    • Fiddler 使用也十分方便。在打开 Fiddler 的时候,它就自动设置好了浏览器的代理,通过改写 HTTP 代理,让数据从它那通过,来监控并且截取到数据。当关闭 Fiddler 的时候,它又自动帮你把代理还原。
     

    2,下载安装

    直接去 Fiddler 的官网下载即可。地址:http://www.telerik.com/fiddler
     

    二、http 请求抓取

    1,Fiddler 启动后就自动开始工作了。

    • 使用浏览器随便访问几个页面,左侧区域就会将捕获的结果显示出来。
    • 通过点击左下角的图标可以关闭/开启抓包功能。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)

    2,查看请求内容

    双击某个会话请求,在右侧的 Inspectors 选项卡中可以查看该会话的内容,上半部分是请求的内容,下半部分是响应的内容。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)

    3,使用 Filters 过滤请求

    由于 Fiddler 会抓取所有的 HTTP 请求,这样会造成左边的窗口不断的更新,有时可能会对我们的调试造成干扰。我们可以通过过滤规则的设置,从而来过滤掉那些不想看到的请求。
     
    (1)点击 Fiters 选项卡,勾选左上角的 Use Filters 即可开启过滤器。下方有两个最常用的过滤条件:Zone 和 Host:
    • Zone:指定只显示内网(Intranet)或互联网(Internet)的内容
    • Host:指定显示某个域名下的会话
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
     
    (2)比如我们只想显示与 hangge.com 的会话,可以这么设置。(如果有红框中的文字,表示修改未生效,点击即可。)
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)

    三、AutoResponder 用法(拦截指定请求,并返回自定义数据)

    AutoResponder 允许你拦截指定规则的求情,并返回本地资源或 Fiddler 资源,从而代替服务器响应。这个在我们平时开放调试中也是很有用的:
    • 比如在前端开发中,如果发现服务器上某个 css/JavaScript 文件有问题,直接上去改会影响生产环境的稳定。利用 Fiddler 的 AutoResponder 功能,我可以将需要修改的文件重定向到本地文件上,这样就可以基于生产环境修改并验证,确认后再发布。
    • 再比如服务端提供了接口和数据格式给前端调用,可能由于某些原因,接口还未开发完毕、或者返回数据有异常。为了不影响开发进度,前端仍然可以继续调用这个接口,然后通过 Fiddler 将请求转向本地的数据文件上。

    (1)比如 hangge.com 首页用到了 jQuery,假设我们要修改这个 js。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (2)首先将 js 文件保存到本地(如果本地已经有这个文件,可以跳过这步)
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (3)接着打开 AutoResponder 标签设置,勾选前面两个复选框,开启 Fiddler 的请求自动重定向功能。
    • 第一个复选框的作用是开启或禁用自动重定向功能,我们就可以在下面添加重定向规则了。
    • 第二个复选框框勾上时,不影响那些没满足我们处理条件的请求。
     
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (4)下面就要创建重定向规则了,将目标是这个 js 的 HTTP 请求重定向到本地文件。我们可以通过“Add…”按钮手动添加规则,不过这个 URL 已经出现在我们的 session 列表中,可以直接拖动过来。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (5)接着修改这个规则。点击下方的下拉框,选择“Find a file…”,就可以选择本地的文件作为返回的 body 内容。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (6)这里我们选择刚才保持下来的 js 文件。这样我们的请求重定向就设置好了。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (7)试着修改下本地这个 js 文件。比如我们在开头加了个 alert 语句。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (8)刷新页面,重新访问就可以看到效果了。(如果浏览器有缓存,要先清下缓存)
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)

    四、解密 HTTPS 的网络数据

    通常情况下,对于 HTTPS 请求,我们捕获后是无法看到里面的数据。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    不过 Fiddler 可以通过伪造 CA 证书来欺骗浏览器和服务器,从而实现解密 HTTPS 数据包的目的。大概原理就是在浏览器面前 Fiddler 伪装成一个 HTTPS 服务器,而在真正的 HTTPS 服务器面前 Fiddler 又装成浏览器。
     
    (1)要开启 HTTPS 解密,我们依次点击菜单栏 Tools -> Telerik Fiddler Options 
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (2)在弹出窗口中,勾选 HTTPS 标签页下的 Decrypt HTTPS Traffic。这是会弹出个对话框询问是否安装证书,选择 Yes 安装即可。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (3)再次访问 HTTPS 页面,可以发现数据已经够被成功解析了。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)

    五、自定义请求发送到服务器

    在 Composer 面板中,我们可以向服务器发送自定义请求,可以手动创建一个新的请求,也可以从会话表中,拖拽一个现有的请求。
    使用时我们只需要提供简单的 URLS 地址即可。当然还可以在 RequestBody 定制一些属性,如模拟浏览器 User-Agent 等等。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)

    六、抓取 iPhone / Android 设备的数据包

    想要 Fiddler 抓取移动端设备的数据包,其实很简单。只要设置代理,让这些数据通过 Fiddler 即可。
     
    (1)首先确保 PC 和手机是在同一个局域网下。打开 Fidder,点击菜单栏中 Tools –> Telerik Fiddler Options 
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (2)勾选 Connections 选项卡中的“Allow remote computers to connect”允许远程连接。
    • 勾选后可能会要求重启 Fiddler,那就重启一下。
    • 默认代理端口是 8888,可以不需要修改。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (3)将手机端的代理设置为 PC 的 IP 和端口(这里假设我们 PC 地址为 192.168.1.101)
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (4)接着打开手机浏览器,访问 PC 的地址+端口
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (5)在打开的页面中点击“FiddlerRoot certificate”,下载并安装证书。
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)
    (6)安装完了证书,使用用手机访问应用,就可以看到截取到的数据包了。(这里我使用百度外卖 App 随便测试了下)
    原文:Fiddler - 超好用的http抓包工具使用介绍(附:拦截请求并修改返回数据)


    原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1697.html

  • 相关阅读:
    CTeX里面CTRL-Space和中文输入法的冲突问题解决
    用LaTeX画树形结构
    统计学howto
    Lights Out Game
    ubuntu下安装 Source insight
    github常用命令
    编程珠玑:第7章(初略估算)的阅读体会
    在windows上安装common lisp开发环境
    睡眠十律:程序员必看
    网络和服务器编程
  • 原文地址:https://www.cnblogs.com/zhangjianbin/p/9221500.html
Copyright © 2011-2022 走看看