问题:nslookup解析所有域名结果均为同一个IP,但上网一切正常。
 
1、使用nslookup解析“Google”与“新浪”或其他域名,结果始终为同一IP“220.250.64.24”:
 
C:\>nslookup www.google.com
Non-authoritative answer:
Name:    www.google.com.edu.cn
Address:  220.250.64.24
 
C:\>nslookup www.sina.com
Non-authoritative answer:
Name:    www.sina.com.edu.cn
Address:  220.250.64.24
 
2、ping以及其他应用正常:
 
C:\>ping www.google.com
Pinging www.l.google.com [74.125.153.99] with 32 bytes of data:
Reply from 74.125.153.99: bytes=32 time=39ms TTL=243
 
3、注意到域名后面的“edu.cn”,PC应该是设置了DNS后缀,ipconfig查看
 
C:\>ipconfig
Connection-specific DNS Suffix  . : edu.cn
IP Address. . . . . . . . . . . . : 192.168.1.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
 
DNS后缀作用:当所解析的域名不是一个完全合格域名时,系统会自动为该域名添加上DNS后缀。

完全合格域名(FQDN-Full Qualified Domain Name)指以“.”结尾的域名,严格意义上来说,书写域名的时候都应该在最后带上一个“.”
 
4、浏览器输入“220.250.64.24”或一不存在域名,转到ISP纠错页面:DNS劫持

5、本地DNS设置为“1.1.1.1”,借助wireshark:
 
C:\>nslookup www.google.com  wireshark图:
 
 
C:\>ping www.google.com  wireshark图:
 
 
可以看到,nslookup解析器与ping命令所解析域名顺序不同,设置DNS后缀后,当所解析的域名不是一个完全合格域名时,nslookup会在所解析域名后先加上DNS后缀进行解析,若解析失败,再次对原始域名进行解析;而ping则是直接解析原始域名域名,若解析失败,则再加上DNS后缀解析。
 
至此答案明了:PC设置DNS后缀,而nslookup解析器与ping(或其他网络应用程序)解析域名顺序不同,ping是直接解析原始域名域名,nslookup则先在所解析域名后先加上DNS后缀“edu.cn”,该域名不存在,服务商DNS服务器恰好又搞域名劫持(强烈鄙视),所以nslookup解析出所有域名为同一个IP,但上网正常。
 
nslookup解析一个FQDN,正常:
C:\>nslookup www.google.com.
Non-authoritative answer:
Name:    www.google.com
Address:  74.125.153.99