Fiddler是一款非常流行且实用的HTTP抓包工具,原理是在电脑上开启一个HTTP代理服务器,然后转发所有的HTTP请求和响应。因此,比一般的浏览器自带的抓包工具(开发者工具)要好用的多!不仅如此,还可以支持请求重放等一些高级功能,也可以对Android手机进行HTTP抓包!
Fiddler介绍
Fiddler使用C#开发的工具,包含一个简单却又强大的基于JScript.NET事件的脚本子系统,灵活性非常好,可以支持众多的HTTP调试任务,并且能够使用.net框架语言进行扩展。
Fiddler还支持断点调试技术,当请求或响应属性能够跟目标的标准相匹配时,Fiddler就能够暂停HTTP通信,并且允许修改请求的响应。这种功能对于安全测试非常有用,当然对于我们爬虫开发者也是非常有用!
Fiddler安装配置
鳄鱼君Ba以Windows为例进行说明,安装包可在官方网站下载:https://www.telerik.com/download/fiddler。下载安装,打开Fiddler程序,你会看到Fiddler的用户界面:

Fiddler用户界面主要包括下面6个部分: (1)图中标注1为Main Menu(主菜单),作用于整个Fiddler相关配置。
(2)图中标注2为Toolbar(工具栏),主要对Web Session操作处理。
(3)图中标注3为Web Session(列表),显示已抓取的HTTP请求信息。
(4)图中标注4为View(选项视图),显示每条HTTP的详细信息。
(5)图中标注5为Quickexec(命令行),通过特定的条件快速找到符合条件的HTTP请求。
(6)图中标注6为Status bar(状态栏),显示当前状态信息。
打开Fiddler之后,由于HTTPS协议的特殊性,还需要配置Fiddler。了解Fiddler抓取HTTPS协议的原理才能更好地理解如何对Fiddler进行配置,原理:

Fiddler抓取HTTPS协议充当的角色:
(1)服务器→客户端:Fiddler接收到服务器发送的密文,用对称密钥解开,获得服务器发送的明文。再次加密,发送给客户端。
(2)客户端→服务器端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key,因此在整个HTTPS通信过程中信息对其透明。
配置Fiddler,使其能够抓取HTTPS请求信息,方法如下:
步骤01 对Fiddler进行设置:打开Tools→Fiddler Options→HTTPS,配置完后记得要重启Fiddler.
步骤02 勾选HTTPS里的选项,如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选上,然后单击Actions→Trust Root Certificate,完成证书验证: 会弹出证书安装的窗口,点击Yes进行安装即可。针对Unable to configure Windows to Trust the Fiddler Root certificate.报错,可以参考下面的方式解决:
在Fiddler的安装目录,打开终端输入命令:
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
步骤03 完成配置,重启浏览器,Fiddler就能正常抓取HTTPS请求信息。完成上述安装和配置,Fiddler就能抓取浏览器的请求信息。除此之外,Fiddler还能抓取手机上的请求信息,具体使用方法在后续章节会详细讲述。
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
Fiddler安装后,设置的端口默认为8888,当Fiddler启动后,默认将IE的代理设为了127.0.0.1:8888,而其他如火狐浏览器和谷歌浏览器都需要手动设置代理后才可以抓包。浏览器配置代理都是在设置中寻找,这里不再介绍配置代理的方法。
要使用Fiddler进行抓包,首先需要确保Capture Traffic
是开启的(安装后是默认开启的),勾选File->Capture Traffic,也可以直接点击Fiddler界面左下角的图标开启和关闭抓包。
这里还是找到Actions
,选择Open Windows Certicate Manager
,查看当前证书,在受信任的根证书颁发机构
里面找一下是否存在:DO_NOT_TRUST_FiddlerRoot
,存在即为成功安装。
APP抓包配置
Fiddler可通过同一无线网络实现对手机应用的抓包,手机抓包原理和电脑抓包原理相同,手机抓包主要通过远程连接实现手机和Fiddler通信。Fiddler抓取手机APP应用的步骤如下:
步骤01 配置Fiddler远程连接模式。打开Tools→Fiddler Options→Connections,勾选Allow remote computers to connect复选框:

步骤02 在手机端进行参数配置(以安卓手机为例)。确保手机和电脑在同一个网络,查询电脑IP地址,可在CMD下输入ipconfig查询。Fiddler端口默认为8888。
步骤03 在手机浏览器中输入电脑IP地址和Fiddler端口(例如“192.168.1.1: 8888”),单击确认后跳转到证书下载页面。单击下载FiddlerRoot certificate:
步骤04 证书文件以cer为后缀名,由于不同的手机型号安装证书的方式不一致,因此这里不做详细讲述。完成证书安装后,进入手机当前连接WiFi详情,设置代理IP:主机名为电脑IP地址,端口为Fiddler配置的端口。
步骤05 完成上述配置,可操作手机应用,在操作过程中产生的HTTP请求都会被电脑上的Fiddler抓取。
如果停止电脑对手机的网络监控,可以回到步骤4,将Wi-Fi的代理设置去掉即可。若要删除Fiddler证书,可在设置→系统安全→信任的凭据下找到“DO_NOT_TRUST_FiddlerRoot”证书,将其删除即可。
Toolbar工具栏
看到这里位置,你已经学会了使用Fiddler抓取HTTP请求信息了,但是如何使用Fiddler对请求信息进行分析,从而获取我们需要的数据呢?我们先来了解一下Fiddler中每个功能的作用吧!
Fiddler用户界面由6部分组成,最为常用的是Toolbar工具栏、Web Session列表、View选项视图和Quickexec命令行。我们呢先来看一下Toolbar工具栏,其各个按钮的功能说明如图所示:

Web Session列表
Web Session主要以表格形式展现,需掌握表字段代表的含义、表格信息的含义及快捷键的使用。
观察列表每条请求信息可发现,每条数据都有不同的颜色,其颜色也有对应的含义:
红色:表示HTTP状态情况
黄色:表示HTTP状态需用户认证
灰色:表示数据类型CONNECT或表示响应内容是图像
紫色:表示响应内容是CSS文件
蓝色:表示响应内容是HTML
绿色:表示响应内容是Script
除了颜色之外,每条请求信息都带有一个图标,各个图标的含义如图:

通过对表字段、请求信息的颜色和请求信息的图标的了解,可以知道Fiddler对每一种请求类型都进行了详细的划分。我们也可以对每个请求进行操作,移动鼠标对某一条请求右击会出现操作菜单:

我们可以通过操作菜单对请求信息进行更改,也可以直接使用快捷键实现:
View选项视图
View主要以选项视图方式实现,将一个请求信息按功能划分在不同选项卡中,这里只说常用的:
Staticstics:统计选项卡,统计资源的消耗时间和数据长度等信息;
Inspectors:检查选项卡,共分为两部分,请求信息和响应信息;
AutoResponder:自动响应选项卡,将请求重定向到本地文件,实现人工干预HTTP请求;
Conposer:构建选项卡,用于创建HTTP Request,并发送服务器实现模拟请求;
对于爬虫开发者来说,必须要掌握的就是Inspectors、AutoResponder和Composer。Inspectors主要是针对请求和响应信息进行分析和获取请求参数:
Inspectors上下划分为两个功能。上面的功能区显示用户发送的请求信息,下面的功能区显示服务器响应的内容,每个功能区里显示服务器响应的内容,每个功能区里又划分了多个选项视图。其中Headers选项视图显示请求头和响应头,WebForm选项视图显示发送请求的请求参数,xxxView选项卡显示不同类型的数据。
Quickexec命令行
>Quickexec命令行可以通过特定的条件快速找到符合条件的请求信息,这需要了解Fiddler内置的命令:
?:问号(?)后边跟一个字符串,Fiddler 将所有会话中存在该字符串匹配的全部高亮显示(高亮?google.com)
> 和 <:大于号(>)和小于号(<)后边跟一个数值,表示高亮所有尺寸大于或小于该数值的会话。
=:等于号(=)后边可以接 HTTP 状态码或 HTTP 方法,比如 =200 表示高亮所有正常响应的会话。
@:@ 后边跟的是 Host,比如我想高亮所有鱼C论坛的连接,我可以 @www.e1yu.com
处理使用Quickexec实现快速查找功能,还可以使用Ctrl+F快捷键进行关键字查找:

2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!