nslookup 是 Windows/Linux 內建的 DNS 查詢工具,可驗證正向/反向解析、指定查詢類型、指定 DNS 伺服器、模擬遞迴解析流程,是網管排查網域解析問題的必備指令。
nslookup [選項] [網域名|IP] [DNS伺服器]
nslookup www.example.com
# 顯示使用的 DNS 伺服器、網域 IP、CNAME 別名資訊
nslookup 192.168.1.100
# 由 IP 解析對應主機名
nslookup -qt=mx example.com # 郵件伺服器記錄
nslookup -qt=ns example.com # 名稱伺服器記錄
nslookup -qt=txt example.com # 文字記錄 (SPF/DMARC 等)
nslookup -qt=soa example.com # 授權起始記錄
nslookup -qt=any example.com # 所有記錄類型
常見記錄類型: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SRV, CAA, DS, DNSKEY。
nslookup www.example.com 8.8.8.8 # 使用 Google DNS
nslookup -qt=mx example.com ns1.example.com # 直接查詢授權伺服器
nslookup -d www.example.com
# 顯示完整 DNS 封包:Header, Question, Answer, Authority, Additional、TTL 值
nslookup -norecurse www.example.com a.root-servers.net
# 模擬根伺服器 → 頂級域伺服器 → 授權伺服器的逐層解析流程
| 現象 | 可能原因 | 排查指令 |
|---|---|---|
| 解析失敗:Non-existent domain | 區域檔缺少記錄、序號未增、同步延遲 | nslookup -qt=any domain.com @auth-ns |
| 找不到 DNS 伺服器:No response from server | 網路不通、DNS 服務掛掉、防火牆封鎖 53 埠 | ping DNS_IP; telnet DNS_IP 53 |
| 解析結果不一致 | 快取未失效、分割視圖、劫持 | nslookup domain.com @不同DNS; 比對 TTL |
| 郵件收發異常 | MX 記錄錯誤、優先級設定、SPF/DKIM 缺失 | nslookup -qt=mx domain.com; nslookup -qt=txt domain.com |
| 驗證 DNSSEC | 需支援 DNSSEC 的解析器 | nslookup -qt=dnskey domain.com; dig +dnssec |
nslookup
> set type=mx
> example.com
> server 8.8.8.8
> example.com
> exit
熟練 nslookup 各類查詢模式,能快速定位 DNS 解析故障、驗證記錄部署、排查快取與劫持問題。建議網管建立常用查詢腳本,納入日常巡檢流程。