如何在 Mac 上面代理抓包和数据流分析

在 macOS 上进行网络调试时,抓包一般是第一步。

例如:

  • App 请求接口失败
  • 某个 API 返回数据异常
  • 需要确认客户端发送的参数

这些问题如果只看代码日志,很难判断网络行为,通过抓包可以直接看到请求与响应。

下面通过一个调试流程,介绍在 Mac 上抓包的几种常见方法。


一、先抓 Mac 本机的网络请求

如果需要查看 Mac 本机程序的网络请求,例如:

  • 浏览器访问 API
  • 桌面应用调用接口

最简单的方法是使用代理抓包工具,例如:

  • Charles
  • Proxyman
  • Sniffmaster

这些工具运行在本机,通过代理方式拦截请求。


配置代理抓包

操作步骤如下:

  1. 在 Mac 上启动 Charles 或 Sniffmaster
  2. 查看代理监听端口,例如 8888
  3. 在 macOS 网络设置中开启系统代理
  4. 将 HTTP 与 HTTPS 代理指向本机地址
  5. 保存设置

完成后,本机网络请求会先经过代理工具。


安装 HTTPS 证书

如果请求使用 HTTPS,需要安装代理证书。

操作步骤:

  1. 在浏览器中访问代理工具提供的证书地址
  2. 下载证书
  3. 在 macOS 钥匙串中安装证书
  4. 将证书设置为 始终信任

完成后,代理工具可以解密 HTTPS 请求。


验证抓包是否成功

打开浏览器访问一个 HTTPS 网站。

如果代理工具中出现请求记录,并且可以查看响应内容,说明抓包环境已经建立。


二、在 Mac 上抓取 iPhone 的网络请求

如果需要调试 iOS App 的网络行为,可以让 iPhone 的流量通过 Mac。

常见方式仍然是代理抓包。


设置 iPhone 代理

操作步骤:

  1. 让 iPhone 与 Mac 连接同一 Wi-Fi
  2. 打开 iPhone 设置 → Wi-Fi
  3. 点击当前网络
  4. 在 HTTP 代理中选择 手动
  5. 输入 Mac 的 IP 地址
  6. 输入代理端口(例如 8888)

    保存后返回桌面。

安装 iOS HTTPS 证书

在 iPhone Safari 中访问代理工具提供的证书地址:

  1. 下载描述文件
  2. 安装证书
  3. 在 iOS 设置中开启证书信任

完成后,代理工具可以解密 iOS HTTPS 请求。


测试 App 网络请求

打开 App 并触发网络操作,例如:

  • 登录
  • 加载列表
  • 提交表单

在代理工具中可以看到:

  • 请求 URL
  • Header
  • 请求体
  • 响应内容

三、当代理抓不到 App 请求时

有时会出现这样一种情况:

  • Safari 请求可以抓到
  • App 请求没有记录

这种情况说明 App 没有使用系统代理。

此时继续调整代理配置不会改变结果。

需要使用设备级抓包。


四、在 Mac 上使用对设备本机直接抓包工具

设备本机抓包可以直接从设备方面读取网络数据。

在这种场景下可以使用 SniffMaster(抓包大师)


使用 SniffMaster 抓取 iOS 流量

操作步骤如下:

  1. 使用 USB 将 iPhone 连接 Mac
  2. 保持设备解锁
  3. 在手机上点击 信任此电脑
  4. 启动 SniffMaster
  5. 在设备列表中选择 iPhone
  6. 按提示安装描述文件
  7. 进入 HTTPS 暴力抓包模式
  8. 点击开始

然后在手机上触发网络请求。

抓包界面会出现对应的 HTTPS 请求。


只查看某个 App 的流量

设备级抓包会包含系统网络流量,例如:

  • DNS 请求
  • Apple 服务连接

为了更容易定位目标请求,可以:

  1. 点击 选择 App
  2. 勾选目标应用
  3. 再触发网络操作

抓包列表只会显示该 App 的请求。


五、分析 TCP 或 UDP 网络问题

如果调试的问题涉及网络连接,例如:

  • 请求延迟
  • 连接断开
  • 数据包丢失

可以使用数据流抓包。

SniffMaster 支持抓取:

  • TCP 数据流
  • UDP 数据流

抓取完成后可以导出数据到 Wireshark 进行分析。

在 Wireshark 中可以查看:

  • TCP 三次握手
  • 数据重传
  • 连接关闭原因

六、不同抓包工具的使用场景

在网络抓包过程中,不同工具有不同作用:

工具 抓包方式 主要用途
Charles 代理抓包 HTTP / HTTPS 调试
Proxyman 代理抓包 HTTPS 调试
SniffMaster 设备级抓包 iOS 网络数据
Wireshark 网络层抓包 TCP / UDP 分析

在 Mac 上进行网络调试时,可以按以下顺序操作:

  1. 使用代理抓包工具查看 HTTP / HTTPS 请求
  2. 如果代理抓不到请求,使用Sniffmaster进行设备本机抓包
  3. 如果需要分析网络连接问题,导出数据到 Wireshark

通过这种方式,可以覆盖大多数抓包场景。

参考链接:https://www.sniffmaster.net/

相关推荐
sunfdf6 小时前
移动硬盘上的文件消失了?以下是Mac电脑解决方法
macos·电脑
m0_462803889 小时前
“趣味运动会记分”功能教学指南
小程序
huwuhang11 小时前
Winkawaks街机游戏模拟器整合ROM版 1.65 汉化修正完整版 2026.03.30
android·游戏·游戏机
yitian_hm11 小时前
MySQL主从复制与读写分离实战指南
android·mysql·adb
NEGl DRYN11 小时前
Plugin ‘mysql_native_password‘ is not loaded`
android·数据库·mysql
Derrick__112 小时前
Android混淆和加密技术
android·jvm·python
sunwenjian88612 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
ictI CABL12 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
网络安全学习库13 小时前
很喜欢Vue,但还是选择了React: AI时代的新考量
vue.js·人工智能·react.js·小程序·aigc·产品经理·ai编程
叱咤少帅(少帅)14 小时前
Uniapp开发pc端,小程序和APK
小程序·uni-app