Appearance
查询域名真实 IP 的方法
当本地 DNS 被 Clash Verge 等代理软件劫持时,需要通过其他渠道获取域名的真实 IP。
方法 1:通过代理查询 Google DNS API(推荐)
Clash 代理会拦截本地 DNS 请求,但可以通过代理本身访问 Google DNS API 获取真实结果。
基本命令
bash
curl -s -x "http://127.0.0.1:7897" "https://dns.google/resolve?name=域名&type=A"示例
bash
# 查询 smith.langchain.com
curl -s -x "http://127.0.0.1:7897" "https://dns.google/resolve?name=smith.langchain.com&type=A"只提取 IP 地址
bash
curl -s -x "http://127.0.0.1:7897" "https://dns.google/resolve?name=smith.langchain.com&type=A" | python3 -c "import sys,json; [print(a['data']) for a in json.load(sys.stdin).get('Answer',[]) if a.get('type')==1]"输出说明
返回结果中 Answer 数组的 data 字段就是 IP 地址:
json
{
"Status": 0,
"Answer": [
{
"name": "smith.langchain.com.",
"type": 1,
"TTL": 3600,
"data": "34.8.121.39"
}
]
}注意:
type: 1表示 A 记录(IPv4 地址)type: 5表示 CNAME 记录(别名),需要继续查找对应的 A 记录
方法 2:在线 DNS 查询工具
通过浏览器访问以下网站查询:
方法 3:手机流量网络
如果电脑上所有 DNS 都被代理拦截:
- 手机关闭 WiFi,使用 4G/5G 流量
- 访问在线 DNS 工具查询
- 或用手机终端执行
nslookup 域名
常见问题
为什么本地 nslookup 返回 127.0.0.1?
Clash Verge 等代理软件使用 fake-ip 模式,会把域名解析为本地回环地址。需要通过不被代理拦截的渠道查询真实 DNS。
获取 IP 后如何解决访问问题?
在 Clash Verge 的配置中添加 hosts 映射:
yaml
hosts:
"example.com": 1.2.3.4
"api.example.com": 5.6.7.8保存后重载配置即可。