一、Fiddler简介

  Fiddler官方版是一个强大的HTTP调试抓包工具。Fiddler官方版可以用其检测网页和服务器的交互情况,Fiddler能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。Fiddler对开发人员或者测试人员来说,都是非常有用的工具!

  Fiddler 包含一个简单却功能强大的基于JScript .NET事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler是用C#写出来的。程序将会把自己作为一个微软互联网服务的系统代理中去。你可以通过检查代理设置对话框来验证Fiddler是被正确地截取了web请求。操作是这样的:点击IE设置,工具,局域网设置,最后点击高级。作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达目标Web服务器的之前都会经过Fiddle,同样的,所有的Http响应都会在返回客户端之前流经Fiddler。

Android proxy抓包开发 安卓抓包工具fiddler_fiddler

二、安装步骤

1、官网下载fiddler最新版本

打开官网下载链接finddler下载地址,下载最新版的fiddler软件。

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_02

2、双机exe程序开始安装

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_03

3、选择安装目录

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_04

4、安装完成

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_05


安装结束后有如下弹窗。

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_06

三、使用说明

1、启动fiddler

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_07

2、查看浏览器代理设置

点击IE设置,工具,局域网设置,最后点击高级。

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_08


8888端口为fiddler默认配置端口,如果本地8888端口已占用,修改方式如下:

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_09

3、启动或者关闭抓包

可以按快捷键F12或者点击勾选Capture Traffic。

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_10

4、查看数据包

点击任意一条抓取到的包,右键菜单选择Inspect in New Windows。

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_11


Request表示数请求数据包,Repose查看响应数据包,http协议明文传输,通过抓包我们可以清楚的看到登录时使用的用户和密码。

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_12

5、查看数据包的性能分析数据

选择指定数据包,然后按F7就可以看到Statistics关于HTTP请求的性能以及数据分析了

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_13


Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_14

6、自定义请求数据包

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_15

7、AutoResponder允许拦截指定规则的请求

AutoResponder允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应。

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_16


查看效果,访问百度域名自动跳转展示了本地图片。

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_17

8、Filters 请求过滤规则配置

Fiters 是过滤请求用的,左边的窗口不断的更新,默认是全部流量展示,请求多的时候我们很难快速的找到我们需要的数据包,通过配置过滤规则我们可以仅展示过滤后的包,还支持域名过滤,非常的方便。

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_18


Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_19


Host 指定显示某个域名下的会话:

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_20

修改hosts列表后需要点击下图2所示使配置生效。

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_21

9、查看https加密数据

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

配置开启解密https数据包选项

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_22


安装https证书

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_23


首次访问的非受信任https站点会弹窗,选择Yes继续。

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_24


启用https解密和未启用https的抓包区别:

下图为启用https解密抓取到的包:

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_25


下图为未启用https解密抓取到的包:

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_26

四、报文展示字段和图标说明

1、字段说明

名称

含义

#

抓取HTTP Request的顺序,从1开始,以此递增

Result

HTTP状态码

Protocol

请求使用的协议,如HTTP/HTTPS/FTP等

Host

请求地址的主机名

URL

请求资源的位置

Body

该请求的大小

Caching

请求的缓存过期时间或者缓存控制值

Content-Type

请求响应的类型

Process

发送此请求的进程:进程ID

Comments

允许用户为此回话添加备注

Custom

允许用户设置自定义值

2、图标说明

图标

含义

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_27

请求已经发往服务器

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_28

已从服务器下载响应结果

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_29

请求从断点处暂停

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_30

响应从断点处暂停

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_31

请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_32

请求使用 HTTP 的 POST 方法

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_33

请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_34

响应是 HTML 格式

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_35

响应是一张图片

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_36

响应是脚本格式

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_37

响应是 CSS 格式

Android proxy抓包开发 安卓抓包工具fiddler_fiddler4_38

响应是 XML 格式

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_39

响应是 JSON 格式

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_40

响应是一个音频文件

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_41

响应是一个视频文件

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_42

响应是一个 SilverLight

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_43

响应是一个 FLASH

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_44

响应是一个字体

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_45

普通响应成功

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_46

响应是 HTTP/300、301、302、303 或 307 重定向

Android proxy抓包开发 安卓抓包工具fiddler_抓包工具_47

响应是 HTTP/304(无变更):使用缓存文件

Android proxy抓包开发 安卓抓包工具fiddler_流量分析_48

响应需要客户端证书验证

Android proxy抓包开发 安卓抓包工具fiddler_fiddler_49

服务端错误

Android proxy抓包开发 安卓抓包工具fiddler_Android proxy抓包开发_50

会话被客户端、Fiddler 或者服务端终止