配置抓包神器Fiddler
[TOC]
一、PC
WEB测试时常需要进行抓取接口,针对的应用程序一般是浏览器,例如IE、Chrome、FireFox等。
1.1 简单的设置
a. 打开选项 File Capture Traffic
或者F12
或者 点击窗口左下角,确保左下角状态标志显示状态。
注:此功能开启原理上是将Fiddler Proxy注册为系统代理,所以所有程序的请求都会被抓取。
b. 一般保持快捷工具Decode
选中状态(可以快速解码一些被编码的报文内容)
1.2 查看详情
选中需要查看的Session在Inspectors中即可显示Session的详细信息。上部:Request请求信息,下部:Response响应信息。切换页签可以查看Header、Cookie具体值。
查看 Session 详情 查看 json 格式的响应报文1.3 仅抓Chrome浏览器
按住快捷工具 鼠标指针会变成+号,并拖到Chrome浏览器窗体。图标会变成 设置完成之后,只能抓取Chrome的请求和响应。二、移动端
连接与电脑相同的网络,修改手机WIFI的网络,手动设置代理,代理服务器主机名为电脑的IP地址,代理端口为在Fiddler里设置的端口号,保存后,Fiddler将能够收到手机上的请求信息。
2.1 Fiddler设置
“Tools-->Options -->Connections
” 设置监听端口并勾选“Allow Remote Computers to Connect
”选项
2.2 手机设置
- WIFI网络手动设置代理
- 打开手机WLAN设置,一般长按WiFi名会出现选框,选择“修改网络”。出现该WiFi修改网络页面,选中“显示高级选项”,代理选手动,主机名为电脑ip,端口为fiddler设置的端口(默认8888),只需设置这几项,其他不需要设置,然后保存即可
- Android和Ios设备设置类似
三、只抓取手机端Session
场景:有些朋友是专注做移动端测试的,我们只想抓取从代理过来的请求,而不想一启动Fiddler就抓取pc端的请求。而且还会影响自己在PC上访问网页,Session List会突然出现莫名其妙的Session来干扰测试工作。
3.1 关闭启动Fiddler时自动注册系统代理功能
Tools-->Options...-->Connections
取消勾选Act as system proxy on start up
四、抓取HTTPS协议报文
4.1 HTTPS
HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。
HTTP与HTTPS主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性,凡是使用了 https 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询。
HTTPS握手深入了解
1.数字证书
2.HTTPS通俗了解
4.2 Fiddler抓取https原理
Fiddler使用“中间人”攻击的原理,将自己分别伪装成客户端和服务端,使用伪造的CA证书获取客户端的信任,从而获取加密的通信信息。
Fiddler如何抓取HTTPS4.3 对Fiddler进行设置
- 打开工具栏->Tools->Fiddler Options->HTTPS
- 选中
Capture HTTPS CONNECTs
,因为我们要用Fiddler获取手机客户端发出的HTTPS请求,所以中间的下拉菜单中选中from remote clients only
。选中下方Ignore server certificate errors
。
4.4 CA证书的安装
CA证书可以理解为身份证,手动安装Fiddler Root根证书放入客户端,目的是为了信任Fiddler CA发布的所有证书,放你访问一个网站时,Fiddler CA会根据真实服务端证书信息伪造证书发给客户端,让客户端信任Fiddler后续的通信。
所以我们常说的“安装证书”,是安装Fiddler 这个“中间人”伪造的CA 中心根证书。
一般名字叫FiddlerRoot.cer
,证书管理中显示的名字:DO_NOT_TRUST_FiddlerRoot
。
Win+R –> certmgr.msc
打开Windows证书管理器,可以查看
一般在“颁发机构”的证书列表中。
4.4.1 PC端安装证书
PC端的证书一般不需要我们去操作安装的,但是如果出现问题大家应该知道去解决
- 首先导出证书
- 打开工具栏->Tools->Fiddler Options->HTTPS
- 点击Actions
点击Export Root Certificate to Desktop,将证书导到桌面。
导出证书双击图标开始安装证书。
安装证书 证书安装 证书安装 证书安装 证书安装- 安装完成,即可在证书管理中看到。
- 到此,Fiddler就拥有了抓取PC端HTTPS协议通信的能力了。
- 另外,注意火狐浏览器FireFox使用自己内置的证书管理器,使用火狐需要在浏览器中导入。路径:菜单-->选项-->隐私与安全-->证书-->查看证书-->导入
4.4.2 移动端的证书安装
1. Android设备
将证书放入手机存储,然后安装就可以了,也可以使用iOS的步骤,访问web页先下载,再安装。
将导出的证书放入手机在手机的设置的安全的相关选项中寻找,不同设备可能具体位置不同。
手机上安装证书选择存储空间中的证书
导入证书点击确认
证书安装成功
2. iOS设备
- 直接连接内网,使手机可以访问我们自己的电脑
- 设备访问代理电脑的方式安装
- 例如你的电脑ip:10.24.10.222 代理的端口为:8888
- 连上电脑后可以在手机浏览器直接输入10.24.10.222:888
iOS会要求进行一些设置完成根证书安装
1 | 2 | 3 |
---|---|---|
证书信任的设置
路径:设置-->通用-->关于本机-->证书信任设置
1 | 2 |
---|---|
网友评论