Skip to content

iPhone 查看 DNS 请求记录:App 都解析了哪些域名

在 HTTPS Capture 里开启 DNS 抓包,记录 iPhone 发出的每一条 DNS 查询,包括解析结果、响应码和耗时,还能自选 DNS 服务器。

2 分钟阅读HTTPS Capture

App 连接服务器之前,通常要先通过 DNS 查询地址。所以看 DNS 查询记录,能很快知道一个 App 联系了哪些服务,包括统计和广告域名;也能找出返回 NXDOMAIN 或响应很慢的解析。iOS 本身没有 DNS 日志。HTTPS Capture 可以在 iPhone 上记录 DNS 查询,和 HTTP 请求放在一起看。

开启 DNS 抓包

  1. 打开 HTTPS Capture 的 设置。
  2. 在 抓包 分组里打开 DNS 抓包。
  3. 可选:点 DNS 服务器 选择用哪些 DNS 服务器解析。
  4. 重新开始抓包(先停止再开始),新设置才会生效。

开启后,iPhone 的 DNS 查询会经过 HTTPS Capture 的隧道发往你选的服务器,每一条查询和应答都会被记录下来。

查看 DNS 记录

DNS 查询和 HTTP 请求显示在同一条时间线里,带绿色的 DNS 标记。每一行显示:

  • 域名和记录类型,比如 A、AAAA、HTTPS
  • 结果:NOERROR、NXDOMAIN(域名不存在)、SERVFAIL 或 TIMEOUT
  • 返回应答的 DNS 服务器

点开可以看到完整信息:查询内容、标志位、响应耗时、每条应答及其 TTL、EDNS 信息,以及原始报文的十六进制。点某条应答可以复制,也可以用 Copy Query Name / Copy Summary。

用搜索框可以找某个域名;用 规则 → URL 筛选器 的白名单或黑名单,可以控制哪些域名需要记录。

选择 DNS 服务器

在 DNS 服务器 里可以选预设:Google(8.8.8.8)、Cloudflare(1.1.1.1)、阿里 DNS、DNSPod、114 DNS、百度,也可以手动填写最多 3 个 IPv4 地址。对比不同服务商的解析耗时,可以快速看出在你的网络下哪个 DNS 最快。

抓不到的情况

DNS 抓包记录的是 UDP 53 端口上传统的明文 DNS。以下查询 看不到:

  • 通过 DNS 描述文件配置的加密 DNS,它的优先级可能更高
  • iCloud 专用代理 的查询
  • App 自己用 DNS-over-HTTPS 解析的情况。这类请求通常仍会以 HTTPS 请求的形式出现在 HTTP 列表里。
  • 局域网设备的组播查询(mDNS / Bonjour)

隐私

和 HTTPS Capture 的其他数据一样,DNS 记录只保存在你的 iPhone 上。导出 HAR 文件 时不会包含 DNS 记录,因为 HAR 只描述 HTTP 流量。

HTTPS Capture

Capture and decrypt HTTPS traffic on iPhone

App Store

准备好试试了吗?

HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone

App Store 免费下载