前言

俗话说"不会抓包的程序员不是好测试"。当App客户端遇到一些突发的生产问题时,需要根据相关接口的响应报文进行问题分析。而App没有办法像浏览器一样直接打开控制台,查看接口的请求和响应信息。我们需要借助一些抓包工具来获取APP端请求报文。

常用的抓包工具主要有以下几种:Charles、Fiddler、Stream以及Sniff Master(抓包大师)。本文主要介绍Charles和Sniff Master这两款工具的特点和使用方法。由于Android系统的限制,Andriod 7.0以上系统无法将证书安装到根目录,导致无法解析HTTPS报文。因此接下来的内容只涉及对IOS上的客户端应用进行抓包。

正文

Charles

Charles在业内俗称小花瓶,支持Windows、MacOS以及Linux系统。本文以MacOS作为运行环境,Charles版本4.6.1。首先让我们来看下Charles的主界面。

窗口顶部是一排工具栏,左侧是Charles捕获到得请求列表,右侧展示得是报文的详细信息。如今的绝大部分请求都会使用https协议,通过SSL进行加密。因此抓包工具无法直接解析这类请求的报文。我们想要解析https请求,最重要的一个步骤是在对应设备上安装Charles颁发的根证书。

第一步:在 Help -> SSL Proxying 菜单中选择:Install Charles Root Certificate on a Mobile Device or Remote Browser

点击之后会出现一个弹窗,上面展示了我们接下来需要在Iphone进行设置得代理地址192.168.0.100:8888,以及下载证书的地址chls.pro/ssl。这里有一点需要注意,手机和电脑必须要连接着同一个局域网。

接下来拿起Iphone,按照下图的配置步骤连接到Charles上的代理。

代理配置完成后,打开safari浏览器,访问证书的下载地址chls.pro/ssl。

证书下载完成之后,我们再回到设置中启用证书配置。首先安装证书的描述文件:

接着再启用对根证书的信任:

到此为止,在Iphone上地操作就全部完成了。接下来让我们回到Charles中进行最后一个步骤地操作。我们在Proxy 菜单中选择 SSL Proxying Settings,对指定域名开启SSL代理。

经过以上一通操作之后,我们就可以正常的解析HTTPS的请求报文了。

Sniff Master(抓包大师)

相比Charles,Sniff Master作为一款国产抓包工具,在易用性和本地化支持方面有着明显优势。它不需要复杂的证书配置过程,开箱即用,特别适合新手快速上手。

Sniff Master的主要特点包括:

  • 支持HTTPS/HTTP/WebSocket等多种协议抓包
  • 直观的请求/响应展示界面
  • 内置请求重放和修改功能
  • 支持移动设备和PC端抓包
  • 自动识别常见API格式

使用Sniff Master进行抓包的基本步骤:

  1. 下载安装Sniff Master客户端
  2. 连接设备和电脑到同一网络
  3. 在设备上配置代理
  4. 开始捕获网络请求

对于iOS用户来说,Sniff Master提供了更简单的证书安装向导,大大降低了配置难度。同时它的中文界面和详细的帮助文档,让国内开发者使用起来更加得心应手。

总结

今天这篇文章向大家简单介绍了Charles和Sniff Master这两款抓包工具的使用方法。Charles功能全面但配置稍显复杂,而Sniff Master则更加简单易用。两款工具各有优势,开发者可以根据自己的需求选择合适的工具。

除了基本的抓包功能外,这些工具还可以对请求进行拦截、重现、转发等操作。有兴趣的同学可以深入研究它们的高级功能,提升开发调试效率。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐