抓包工具的选择与使用:Charles与SniffMaster
Hi,大家好。在进行测试的过程中,不可避免的会有程序报错,为了能更快修复掉Bug,我们作为测试人员需要给开发人员提供更准确的报错信息或者接口地址,这个时候就需要用到我们的抓包工具。
常见的抓包工具有Fiddler、Charles,以及我们今天要提到的SniffMaster。在此之前介绍过Fiddler抓包,今天我们介绍Mac端以及IOS端如何使用Charles抓取https,并简要提及SniffMaster的特点。
一、Charles简介
Charles中文名又叫青花瓷,是一款很实用,界面很友好,功能强大的抓包神器,因为它是基于 Java
开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。
二、Charles原理
当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request、response和HTTP headers,通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。
三、Charles作用
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
四、Charles下载及安装
1、Charles下载
Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。
2、Charles安装
(1) Mac端安装
进入Charles官网,选择macOS下载:
下载后安装:
(2) PC端安装
进入Charles官网,选择windows下载:
下载后自行安装即可,此处不再详细介绍。
五、Charles界面视图介绍
1、Charles界面视图
Charles在Mac端的界面:
1)在顶部导航是基本设置、代理设置、工具、帮助等;
2)中间位置是请求的接口名字、请求内容、响应内容等;
3)通常常查看请求会使用"Structure"视图和"Sequence"视图;
Structure:按照接口结构来归档汇总;
Sequence:按照接口请求顺序来汇总;
2、Charles界面说明
Charles在Mac端的快捷工具:
快捷工具介绍:
六、Charles抓取HTTPS
1、Mac端配置
(1) Charles代理设置
点击导航栏 Proxy -> Proxy Setting ,端口一般设置8888,按照下图设置即可。
系统偏好设置->网络->高级->代理,端口号默认是8888,与Proxy
-> Proxying Settings 中的HTTP代理端口号相同。
(2) Charles证书安装
在Charles的 Help选项,选择 SSL Proxyings选项->选择 Install Charles Root Certificate。
设置允许信任:
(3) 配置SSL代理
在Charles的 Proxy选项->选择SSL Proxy Settings->点击add添加需要监视的域名,支持 * 号通配符,端口一般都是443。
(4) 抓取Web端https请求
设置完电脑端配置,就可以正式开始抓取请求了。抓取数据分为三步。首先清空所有的数据,然后点击开始按钮,并分析抓取结果。
①要抓取哪个页面的数据,就先访问哪个界面 。比如抓取微信公众平台数据接口:
②当我们操作的时候,每加载一次数据,都会被我们的抓包工具Charles截获到,显示出来。左下角过滤框输入想抓的地址,其他所有的接口会被过滤掉,查看更方便:
2、IOS端配置
(1) 安装信任证书
在Charles的Help栏SSL Proxying —>Install Charles Root Certificate on a MobileDevice or Remote Browser。
(2) IOS端设置
首先确保手机与电脑在同一局域网内,在手机无线中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888,IOS端配置步骤总结如下:
(3) IOS端证书安装
网络代理设置好后,打开safari浏览器(推荐使用safari,其他浏览器可能存在兼容性问题),在地址栏输入chls.pro/ssl。配置描述文件,选择“允许“。
安装完成后,在iphone设置 ->通用 ->描述文件与设备管理,查看已安装的证书。如果所有步骤完成,结果仍然无法进行抓包,检查信任证书是否完全开启,ios10.3之后加入新的特性,需要在IOS设备中,通用->关于本机->证书信任设置,针对CA根证书开启完全信任。
七、SniffMaster简介
SniffMaster是一款功能强大的网络抓包工具,特别适合用于网络流量分析和安全测试。它支持多种协议解析,能够捕获并分析网络数据包,帮助用户深入了解网络通信的细节。与Charles相比,SniffMaster在协议解析和深度分析方面更具优势,尤其适合需要进行复杂网络分析的场景。
SniffMaster的特点:
- 多协议支持:支持HTTP、HTTPS、TCP、UDP等多种协议的解析。
- 实时监控:能够实时捕获并显示网络流量,便于即时分析。
- 深度分析:提供详细的数据包解析,帮助用户深入理解网络通信过程。
- 跨平台:支持Windows、Linux和MacOS等多种操作系统。
SniffMaster的使用场景:
- 网络安全测试:通过捕获和分析网络流量,发现潜在的安全漏洞。
- 网络性能优化:分析网络通信中的瓶颈,优化网络性能。
- 协议调试:帮助开发者调试网络协议,确保通信的准确性和可靠性。
八、总结
无论是Charles还是SniffMaster,都是非常强大的抓包工具,能够帮助我们在测试和开发过程中更好地理解和分析网络通信。Charles以其友好的界面和易用性著称,适合日常的抓包需求;而SniffMaster则在协议解析和深度分析方面表现出色,适合需要进行复杂网络分析的场景。根据具体需求选择合适的工具,能够大大提高我们的工作效率。