iOS 应用的 HTTPS 连接端口在网络抓包调试中有什么作用

0 阅读4分钟

在网络调试中,经常会看到这样的信息:

https://api.example.com:443
https://api.example.com:8443

很多人看到端口时只知道 443 是 HTTPS,但在实际抓包过程中,端口信息可能比 URL 更重要。

简单的例子:

  • App 请求已经发出
  • 代理工具没有任何记录
  • TCP 连接却已经建立

这个时候,要确认的事情就是请求到底走的是哪个端口。

下面用一次调试过程说明 HTTPS 端口在抓包中的作用。


一、先确认 App 请求的端口

在开始抓包之前,需要先找到 App 的实际连接端口。

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

  • Charles
  • Proxyman
  • Sniffmaster

建立代理环境:

  1. 启动 Charles
  2. 查看代理端口(例如 8888)
  3. iPhone 与电脑连接同一 Wi-Fi
  4. 在 iPhone Wi-Fi 设置中配置 HTTP 代理
  5. 输入电脑 IP 与端口

保存后返回桌面。 端口配置


验证代理是否生效

打开 Safari 访问一个 HTTPS 网站。

如果 Charles 中出现请求,并且可以看到:

  • URL
  • Header
  • Response

说明代理链路已经建立。

此时可以开始观察端口信息。


二、观察 HTTPS 请求的端口

在 Charles 的请求列表中可以看到类似这样的连接:

api.example.com:443

如果服务器使用默认 HTTPS 端口,请求会直接走 443。

但在一些环境中,例如:

  • 内网测试环境
  • 自建 API 网关

可能会使用其他端口,例如8443、9443

当端口发生变化时,抓包工具仍然可以看到连接,但某些代理规则可能需要重新配置。


三、代理抓不到请求时

在一次实际调试中遇到过这样的情况:

  • Safari 请求正常
  • App 请求没有出现在 Charles 中

确认端口之后发现,App 连接使用的是 自定义端口

这种情况下,可以通过底层抓包工具进一步确认。


四、查看 TCP 连接端口

如果需要查看更底层的连接信息,可以使用:

  • Wireshark
  • 数据流抓包工具(Sniffmaster)

在 Wireshark 中可以看到:

  • TCP 三次握手
  • 连接的源端口与目标端口

例如:

192.168.1.10 → 203.0.113.1:8443

这一步可以确认 HTTPS 连接是否建立成功。


五、通过数据线直连 iPhone 抓包观察 HTTPS 端口

当代理抓不到请求时,可以使用设备本机抓包工具,例如 SniffMaster(抓包大师)

这种方式不依赖 Wi-Fi 代理,可以直接从设备中读取网络数据。


使用 SniffMaster 抓取 HTTPS 连接

操作步骤如下:

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

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

抓包界面会出现对应的 HTTPS 连接记录,其中包括:

  • 请求域名
  • 端口号
  • 请求路径

筛选目标 App

设备级抓包会包含系统网络数据,例如:

  • DNS 查询
  • Apple 服务连接

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

  1. 点击 选择 App
  2. 勾选目标应用
  3. 再触发请求

抓包列表会只显示该 App 的网络数据。 选择app


六、端口与 HTTPS 解密的关系

HTTPS 是否可以解密,与端口本身没有直接关系。

关键因素是:

  • TLS 握手是否完成
  • 是否存在证书校验
  • App 是否使用开发证书签名

即使端口是 8443 或其他自定义端口,只要 TLS 握手正常,抓包工具仍然可以解析 HTTPS。


七、分析 HTTPS 端口问题时的常见步骤

在排查 HTTPS 请求时,可以按以下顺序进行:

  1. 使用代理工具确认是否有请求
  2. 查看连接使用的端口
  3. 如果代理抓不到请求,使用设备级抓包
  4. 使用 Wireshark 分析 TCP 连接

通过这几个步骤,可以确认:

  • 请求是否发出
  • 使用了哪个端口
  • TLS 是否建立

参考链接:www.sniffmaster.net/tutorial/zh…