IP 地理定位与 DNS 查询指南:从域名到服务器位置的完整排查路径

Web/SEO(更新于 2026年6月2日)

IP 地理定位原理

IP 定位不是 GPS——它基于 IP 地址分配数据库,精度取决于数据库质量。

精度级别 范围 数据源
国家级 国家 WHOIS 分配记录
城市级 城市/地区 ISP 报告 + 骨干网路由
区县级 10-50km 商业数据库(MaxMind)
街道级 1-5km WiFi/蜂窝定位辅助

IP 定位无法精确定位到具体地址,只能到大致区域。


使用工具库查询 IP 信息

DNS 查询

  1. 打开 DNS 查询工具
  2. 输入域名(如 example.com
  3. 选择记录类型(A/AAAA/CNAME/MX/TXT/NS)
  4. 点击查询,查看结果

Whois 查询

  1. 打开 Whois 查询工具
  2. 输入域名
  3. 查看注册信息(注册商、注册日期、到期日期、注册人)

DNS 记录类型详解

类型 名称 用途 示例
A 地址记录 域名 → IPv4 example.com → 93.184.216.34
AAAA IPv6 地址 域名 → IPv6 example.com → 2606:2800:220:1:...
CNAME 别名记录 域名 → 另一个域名 www.example.com → example.com
MX 邮件交换 邮件服务器 example.com → mail.example.com (优先级10)
TXT 文本记录 SPF/DKIM/验证 "v=spf1 include:_spf.google.com"
NS 名称服务器 域名服务器 example.com → ns1.example.com
SOA 起始授权 区域管理信息 主NS + 管理员邮箱 + 序列号
SRV 服务记录 服务发现 _http._tcp.example.com → target:port
CAA 证书授权 限制证书签发 0 issue "letsencrypt.org"

常见 DNS 查询场景

查网站 IP

# 命令行
dig example.com A
nslookup example.com

# 结果
example.com.    3600    IN    A    93.184.216.34

查邮件服务器

dig example.com MX

# 结果
example.com.    3600    IN    MX    10 mail.example.com.
example.com.    3600    IN    MX    20 mail2.example.com.

查 SPF 记录(防垃圾邮件)

dig example.com TXT

# 结果
example.com.    3600    IN    TXT    "v=spf1 include:_spf.google.com ~all"

DNS 解析流程

用户输入 example.com
  ↓
1. 浏览器 DNS 缓存 → 命中?返回
  ↓
2. 操作系统 DNS 缓存 → 命中?返回
  ↓
3. 路由器 DNS 缓存 → 命中?返回
  ↓
4. ISP 递归解析器 → 命中?返回
  ↓
5. 根域名服务器(.)→ 返回 .com NS
  ↓
6. .com 顶级域服务器 → 返回 example.com NS
  ↓
7. example.com 权威服务器 → 返回 A 记录
  ↓
结果:93.184.216.34

DNS 缓存时间(TTL)

dig example.com

# ANSWER SECTION:
example.com.    3600    IN    A    93.184.216.34
#               ↑ TTL(秒)= 1小时
TTL 值 适用场景
300(5分钟) 频繁变更(CDN、蓝绿部署)
3600(1小时) 一般网站
86400(1天) 稳定服务(邮件、NS)

Whois 信息解读

查询结果关键字段

Domain Name: EXAMPLE.COM
Registrar: Google Domains LLC
Registrar URL: https://domains.google
Creation Date: 1995-08-14
Expiration Date: 2028-08-13
Name Server: NS1.GOOGLE.COM
Name Server: NS2.GOOGLE.COM
Registrant Organization: Example Inc.
DNSSEC: unsigned
字段 含义 用途
Registrar 注册商 域名管理入口
Creation Date 注册日期 判断域名年龄
Expiration Date 到期日期 防止域名过期
Name Server DNS 服务器 域名解析入口
Registrant 注册人 归属信息(可能隐私保护)
DNSSEC DNS 安全扩展 DNS 响应验证

隐私保护

# 未开启隐私保护
Registrant Name: John Doe
Registrant Email: john@example.com

# 开启隐私保护后
Registrant Name: REDACTED FOR PRIVACY
Registrant Email: Please contact registrar

网络排查实战

场景一:网站打不开

1. DNS 查询 → 域名能否解析?
   ❌ 无法解析 → DNS 配置错误或域名过期
   ✅ 能解析 → 继续

2. Ping IP → 服务器是否可达?
   ❌ 超时 → 服务器宕机或防火墙
   ✅ 可达 → 继续

3. curl -I → HTTP 响应码?
   301/302 → 重定向问题
   403 → 权限问题
   500 → 服务端错误
   200 → 可能是前端问题

场景二:邮件发送失败

1. 查 MX 记录 → 邮件服务器配置是否正确?
2. 查 SPF 记录 → 发送服务器是否在 SPF 白名单?
3. 查 DKIM 记录 → 签名是否正确?
4. 查 DMARC 记录 → 邮件策略是否正确?
# 一键查邮件相关记录
dig example.com MX
dig example.com TXT  # SPF + DKIM + DMARC 都在 TXT 中

场景三:CDN 配置验证

1. 查 CNAME → 域名是否指向 CDN?
   www.example.com → cdn.example.com.cdn77.org

2. 查 A 记录 → CDN 边缘节点 IP
3. 多地 DNS 查询 → 验证 CDN 就近解析

使用 JavaScript 查询 DNS

浏览器端(DoH)

// DNS over HTTPS(Cloudflare)
async function dnsLookup(domain, type = 'A') {
  const url = `https://cloudflare-dns.com/dns-query?name=${domain}&type=${type}`;
  const response = await fetch(url, {
    headers: { 'Accept': 'application/dns-json' },
  });
  const data = await response.json();
  return data.Answer;
}

// 使用
const records = await dnsLookup('example.com', 'A');
// [{ name: "example.com", type: 1, TTL: 3600, data: "93.184.216.34" }]

Node.js 端

import { resolve } from 'node:dns/promises';

// 查 A 记录
const addresses = await resolve('example.com', 'A');
// ["93.184.216.34"]

// 查 MX 记录
const mxRecords = await resolve('example.com', 'MX');
// [{ exchange: "mail.example.com", priority: 10 }]

// 查所有记录
const anyRecords = await resolve('example.com', 'ANY');

常见问题

DNS 修改后多久生效?

取决于 TTL。如果旧 TTL 是 3600 秒,最坏情况需要 1 小时。修改 DNS 前先降低 TTL 到 300 秒,等旧 TTL 过期后再修改。

为什么不同地方 DNS 结果不同?

CDN 和 Anycast 会根据用户位置返回不同的 IP。这是正常行为,不是 DNS 问题。

DNSSEC 有什么用?

DNSSEC 用数字签名验证 DNS 响应的真实性,防止 DNS 劫持攻击。如果 DNSSEC 验证失败,浏览器会拒绝连接。


总结

IP 定位和 DNS 查询是网络排查的基本功。掌握 DNS 记录类型、解析流程和 Whois 信息解读,就能快速定位网站问题。工具库提供 DNS 查询Whois 查询 两个在线工具,无需安装命令行工具,浏览器中即可完成网络排查。

#IP定位#DNS查询#Whois#网络工具#教程