Skip to content

iPhone 查看 App 流量的 JA3、JA4、JA4H 指纹

用 HTTPS Capture 在 iPhone 上查看每个 HTTPS 连接的 JA3/JA4 TLS 指纹和每条请求的 JA4H HTTP 指纹,并逐段解读。

2 分钟阅读HTTPS Capture

反爬虫系统、CDN 和风控服务识别客户端时,常常不只看它发了什么,还看它 怎么连接。最常见的是 JA3、JA4 TLS 指纹,以及针对 HTTP 请求的 JA4H。HTTPS Capture 会为 iPhone 上的流量计算这三种指纹,你可以看到 Safari、App 内置浏览器或某个 SDK 在服务器眼里是什么样子,也能把不同客户端放在一起对比。

这些指纹是什么

  • JA3:TLS ClientHello 的哈希,由 TLS 版本、加密套件、扩展、支持的曲线组和点格式组成。用得很广,但浏览器打乱扩展顺序后它就会变化。
  • JA4:更新、可读的 TLS 指纹,形如 t13d1516h2_8daaf6152771_e5627efa2ab1。它包含传输层和 TLS 版本、是否带 SNI、加密套件和扩展的数量、ALPN,以及排序后的套件和扩展哈希,不受扩展顺序影响。
  • JA4H:每条 HTTP 请求的指纹,由方法、HTTP 版本、是否带 Cookie 和 Referer、Header 数量、语言,以及 Header 名和 Cookie 的哈希组成。

查看指纹

  1. 对目标 App 或网站 抓包。
  2. 打开一条 HTTPS 请求,切到 概览 标签页。
  3. 在 Client Fingerprints 区域可以看到:
    • JA4:TLS 连接的指纹(HTTPS、WSS)
    • JA4H:这条请求本身的指纹(HTTP、HTTPS、WS、WSS)

点指纹可以进入详情页。

读懂详情

TLS Fingerprint 页面逐段解释 JA4:传输层、客户端提供的 TLS 版本、SNI、ALPN,以及套件和扩展的哈希。Observed ClientHello 列出实际的加密套件、扩展、曲线组和签名算法。可以复制 JA4、JA3 或 JA3 原始串。

HTTP Fingerprint 页面把 JA4H 拆成前缀和各段哈希,还列出实际观察到的 Header 顺序和 Cookie 名,方便看出两条请求的指纹为什么不同。

实际用途

  • 排查“被识别为机器人”:对比 App 所用 HTTP 库和 Safari 的指纹。
  • 检查 SDK 或 WebView:看内置浏览器和系统浏览器的连接方式是否不同。
  • 验证 TLS 库升级:更换网络库后,确认 ClientHello 仍然符合预期。
  • 学习 TLS:看看真实的 iOS App 都提供了哪些加密套件和扩展。

说明

  • 指纹描述的是 App 连接 HTTPS Capture 本地代理时发出的 ClientHello,也就是 App 自己的握手特征,这正是你要研究的部分。代理再连服务器时使用的是它自己的 TLS 设置。
  • 不解密、直接放行的主机(比如做了证书固定的 App 和 Apple 系统域名)流量照常通过,但没有 HTTP 层面的 JA4H。

HTTPS Capture

Capture and decrypt HTTPS traffic on iPhone

App Store

准备好试试了吗?

HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone

App Store 免费下载