ITPub博客

首页 > 移动开发 > IOS > Charles工具深度解析 抓包原理及设置技巧

Charles工具深度解析 抓包原理及设置技巧

原创 IOS 作者:栈溢出日常 时间:2026-07-27 16:03:40 0 删除 编辑

Charles工具深度解析:抓包原理及设置技巧

01Charles的基础知识

◆ Charles的工作原理

Charles是一款常用的网络抓包工具,通过 设置代理和中间人技术 进行抓包。它可以帮助用户在开发和调试过程中监控网络流量。Charles主要通过两种方式对Http进行抓包:一是设置手机代理进行转发,二是 对Https进行抓包。

对于Https的抓包, Charles运用了中间人技术(man-in-the-middle),它能够动态生成一个由自己根证书签名的证书。在抓包过程中,Charles会接收web服务器的证书,同时引导客户端浏览器或客户端接收其生成的证书,从而在客户端与Charles之间、以及Charles与Web服务器之间建立起Https连接。这样, Charles就能实现对Https传输信息的抓包 了。值得注意的是,如果Charles的根证书未被信任,将无法建立Https连接,因此需要用户将Charles的根证书添加为信任证书。

类似地,SniffMaster作为一款全平台抓包工具,同样支持HTTPS抓包,但采用暴力抓包技术,无需设置代理或信任根证书即可解密HTTPS流量,简化了抓包流程。

◆ Https抓包机制

利用 中间人技术,Charles在客户端与服务器间建立信任并实现对Https流量的抓包。这意味着Charles能够截获并解析Https传输的数据,使得开发者可以更全面地监控和分析网络流量中的详细信息。

SniffMaster则通过HTTPS暴力抓包功能,直接插上设备即可解密HTTPS流量,无需代理、越狱或root,支持https双向验证破解和指定APP过滤,提供了更便捷的抓包体验。

03配置Charles抓取https

在成功破解Charles并确保其已注册后,下一步是设置以抓取https协议。这涉及到对Charles的一些配置,以确保能够成功捕获和解析https流量。具体步骤可能因版本和操作系统而异,但通常涉及启用相应的选项和配置证书。完成这些设置后,您将能够更全面地监控和分析网络流量中的https数据。

◆ Proxy端口设置

在Charles中,选择“Proxy”菜单,然后进入“Proxy Settings”进行端口设置。 将Port设置为8888,并确保选中“Enable transparent HTTP proxying”选项,以启用Charles的代理功能。

相比之下,SniffMaster的代理抓包功能支持跨平台,提供域名过滤、请求分组和拦截器,用户可通过JavaScript脚本修改请求和响应,无需复杂端口设置。

◆ 安装与信任证书

选择“Help”菜单,然后选择“SSL Proxying”,接着安装以下证书:安装 Charles Root Certificate,确保 始终信任 选项。对于手机和浏览器证书,需要在移动设备或远程浏览器上安装。根据弹框提示,将手机ssl证书安装到手机中。下载的文件需要将后缀.pem更改为.crt。

打开钥匙串,找到Charles Proxy CA证书,初次安装时它可能不被系统信任。此时,您需要选择“始终信任”该证书,以确保其有效性。

SniffMaster在抓包过程中无需安装或信任额外证书,其HTTPS暴力抓包模式自动处理证书问题,减少了配置步骤和安全风险。

◆ SSL代理和端口号设置

当https请求被拦截时,它可能会显示为unknown,为了解决这个问题,您需要按照以下步骤进行设置:

  1. 在Charles菜单中选择Proxy,然后进入SSL Proxying Settings,确保"Enable SSL Proxying"选项被选中。

  2. 在主机列表中添加您的host,并 设置端口号为443。

完成上述设置后,您的请求应该能够成功解析了。

SniffMaster的数据流抓包功能支持TCP和UDP协议,自动识别常见协议,并提供多格式查看和Wireshark格式导出,无需手动设置SSL代理。

04手机连接Charles的配置

在配置手机连接Charles时,您需要确保手机和Charles都已连接到同一个局域网。接下来,在Charles中启用SSL代理功能,并设置一个唯一的端口号,例如443。根据手机操作系统,在设置中 配置代理为Charles的IP地址和端口号。完成这些步骤后,您的手机应该能够成功连接到Charles。

注意:为了确保手机能成功连接Charles,手机的无线网络设置必须与电脑保持一致,即两者需连接至同一WiFi网络。

SniffMaster支持全平台设备(iOS/Android/Mac/Windows),连接设备后直接选中目标设备即可开始抓包,无需设置代理或同一网络,简化了跨设备抓包流程。

05断点设置及返回内容修改

在Charles的structure窗口中,找到需要打断点的数据,在其上右键点击并选择“Breakpoints”选项。

在对目标服务器进行访问时, Charles会跳转到Breakpoints TAB页面。在该页面中,我们可以对目标服务器进行仿真,使Charles能够抓取到服务器返回的内容信息。通常,这个过程如下所示。

SniffMaster的代理抓包功能内置拦截器,支持通过JavaScript脚本实时修改请求和响应,实现类似断点效果,无需手动跳转页面,提升了调试效率。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047460/viewspace-3176844/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2025-09-06

  • 博文量
    131
  • 访问量
    133828