首页/网络/网络排障速查/curl --resolve/--connect-to 绕过 DNS

curl --resolve/--connect-to 绕过 DNS

区分问题在 DNS 还是在服务本身:--resolve 把域名强行指向指定 IP、--connect-to 换连接目标,两者都保持 Host/SNI 不变,可直连后端验证。

网络排障速查网络更新于 2026-10-12

绕过 DNS 验证

绕过 DNS 验证
# 域名仍用于 SNI/Host,但解析到指定 IP:
curl -v --resolve example.com:443:10.0.0.5 https://example.com/ -o /dev/null
# 直连后端(改连接目标):
curl -v --connect-to example.com:443:10.0.0.6:443 https://example.com/
# 对照真实解析:
dig +short example.com
场景区分 DNS 问题与后端问题 / 验证未切流量的新节点
要点--resolve 不改变 SNI 与 Host 头
版本curl ≥ 7.21.3 支持 --resolve
--resolve 后依旧按域名做证书与 Host 校验,适合在新服务器上预热验证证书与服务,不影响线上解析记录。

易错点

  • 用 --resolve 得到 200 就以为 DNS 正常:它只证明直连后端可用
  • 忘写端口:--resolve 的格式必须是 host:port:addr

数据来源与参考

  • curl 手册:--resolve / --connect-to
  • RFC 6066:TLS SNI

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌