在网络调试中经常会看到这样的信息https://api.example.com:443 https://api.example.com:8443很多人看到端口时只知道443 是 HTTPS但在实际抓包过程中端口信息可能比 URL 更重要。简单的例子App 请求已经发出代理工具没有任何记录TCP 连接却已经建立这个时候要确认的事情就是请求到底走的是哪个端口。下面用一次调试过程说明 HTTPS 端口在抓包中的作用。一、先确认 App 请求的端口在开始抓包之前需要先找到 App 的实际连接端口。一种简单的方法是使用代理抓包工具例如CharlesProxymanSniffmaster建立代理环境启动 Charles查看代理端口例如 8888iPhone 与电脑连接同一 Wi-Fi在 iPhone Wi-Fi 设置中配置 HTTP 代理输入电脑 IP 与端口保存后返回桌面。验证代理是否生效打开 Safari 访问一个 HTTPS 网站。如果 Charles 中出现请求并且可以看到URLHeaderResponse说明代理链路已经建立。此时可以开始观察端口信息。二、观察 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 连接操作步骤如下使用 USB 将 iPhone 连接电脑保持设备解锁在手机上点击“信任此电脑”启动 SniffMaster在设备列表中选择 iPhone按提示安装 iOS 驱动安装描述文件进入HTTPS 暴力抓包模式点击开始然后在手机上触发网络请求。抓包界面会出现对应的 HTTPS 连接记录其中包括请求域名端口号请求路径筛选目标 App设备级抓包会包含系统网络数据例如DNS 查询Apple 服务连接为了更容易定位目标请求可以在 SniffMaster 中点击选择 App勾选目标应用再触发请求抓包列表会只显示该 App 的网络数据。六、端口与 HTTPS 解密的关系HTTPS 是否可以解密与端口本身没有直接关系。关键因素是TLS 握手是否完成是否存在证书校验App 是否使用开发证书签名即使端口是 8443 或其他自定义端口只要 TLS 握手正常抓包工具仍然可以解析 HTTPS。七、分析 HTTPS 端口问题时的常见步骤在排查 HTTPS 请求时可以按以下顺序进行使用代理工具确认是否有请求查看连接使用的端口如果代理抓不到请求使用设备级抓包使用 Wireshark 分析 TCP 连接通过这几个步骤可以确认请求是否发出使用了哪个端口TLS 是否建立参考链接https://www.sniffmaster.net/tutorial/zh/2/2.html