使用fiddle抓包使用教程

转载出处:https://www.cnblogs.com/zhaoyanjun/p/7068905.html

Fiddler是什么?

Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler的工作原理

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

这里写图片描述

这里写图片描述

Fiddler 下载安装

官网下载地址:http://www.telerik.com/fiddler
下载到本地,然后安装正常的安装流程执行。

运行起来就是下图的样子:
这里写图片描述

Fiddler的运行机制其实就是本机上监听 8888 端口的 HTTP 代理。 Fiddler 启动的时候默认 IE 的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将 Chrome 浏览器的代理改为127.0.0.1:8888 就可以监听数据了。

Chrome 浏览器如何设置代理

在浏览器的最右侧,点击 三个点 图标,然后点击设置

这里写图片描述

点击左侧的设置,然后点击 显示高级设置 。

这里写图片描述

然后找到 更改代理服务器设置。

到这里,chrome 浏览器的代理就设置好了。

开启 Https 抓包监听

Fiddler 默认下,Fiddler不会捕获HTTPS会话,需要你设置下。

这里写图片描述

【浅谈HTTPS以及Fiddler抓取HTTPS协议】

from all processes : 抓取所有的 https 程序, 包括 本机 和 手机
from browsers only : 只抓取浏览器中的 https 请求
from non-browsers only : 只抓取除了浏览器之外的所有 https 请求
from remote clients only : 抓取远程的客户端的 https ,可以代表手机

  • 开启手机 Https 抓包
    如果只想抓取 手机上的所有 https 请求,就应该选中 from remote clients only 。

这里写图片描述

如何用Fiddler对Android应用进行抓包

http://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html

如何开启/关闭 抓本机的包

如果需要抓取本机请求,有 3 中方式。

  • 方式 1

只需要启动程序并确保左下角为 Capturing状态 即可。

这里写图片描述

  • 方式 2

按快捷键 F12 进行切换。

  • 方式 3

File –> Capture Traffic 勾选。

这里写图片描述

扩展:

注意这个很有用,可以开启抓本机的包,也可以过滤本机的包。当手机开启了开启了代理,就可以把本机的包过滤掉,专注抓手机的包,此时会话列表中都是手机的包了。

清空会话列表

这里写图片描述

快捷功能

这里写图片描述

  • . 第一个是Capturing,控制捕获会话的快捷开关;
  • . 第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。
  • . 第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认是空白即不设断点),request断点和response断点详情中详解
  • .后面的而是当前选中会话的一些标识和描述,如当前选中的是127个会话中的第一个, 详细url为http://www……

过滤域名

Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。所以我们需要排除其他无用的包,只关注我们指定的域名的请求包。

  • 打开fiddler,找到Filters选项并点击打开。如图所示

这里写图片描述

默认情况下,这个页面是灰色的,代表默认不过滤任何请求。现在我们勾选 Use Filters 。

这里写图片描述

  • 在 Hosts 里面可以看到
  1. No Zone Filter : 不做任何过滤
  2. Show only Intranet Hosts : 只显示内部网络主机
  3. Show only Internet Hosts:只显示互联网主机。

这里写图片描述

在 Hosts 第二个下拉框里面有几个选项

show only intranet hosts