如何调试DNS名称解析?(nslookup有效,但telnet无效)


10

我正在尝试连接到一个网站:

http://superuser.com.sixxs.org

我可以ping地址:

C:\Users\Ian>ping /6 superuser.com.sixxs.org

Pinging ipv6.nginx.sixxs.net [2001:838:2:1::30:67] with 32 bytes of data:
Reply from 2001:838:2:1::30:67: time=257ms
Reply from 2001:838:2:1::30:67: time=176ms
Reply from 2001:838:2:1::30:67: time=161ms
Reply from 2001:838:2:1::30:67: time=164ms

Ping statistics for 2001:838:2:1::30:67:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 161ms, Maximum = 257ms, Average = 189ms

但都不能ping

C:\Users\Ian>ping supersuer.com.sixxs.org
Ping request could not find host supersuer.com.sixxs.org.
  Please check the name and try again.

但是我无法浏览到它(在ChromeIE中):

在此处输入图片说明

我也不能远程登录到它

C:\Users\Ian>telnet superuser.com.sixxs.org 80
Connecting To superuser.com.sixxs.org...Could not open connection to the host,
  on port 80: Connect failed

但是nslookup可以很好地解析名称,并具有权限记录和所有内容!

首先,我们刷新dns,以防万一有人想说这是由于dns缓存引起的:

C:\Users\Ian>ipconfig /flushdns

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

现在回到查找:

C:\Users\Ian>nslookup superuser.com.sixxs.org
Server:  solo.avatopia.com
Address:  10.0.0.98

Non-authoritative answer:
Name:    ipv6.nginx.sixxs.net
Addresses:  2001:838:2:1:2a0:24ff:feab:3b53
          2001:960:800::2
          2001:1af8:4050::2
          2620:0:6b0:a:250:56ff:fe99:78f7
          2001:838:2:1::30:67
Aliases:  superuser.com.sixxs.org

所有这些地址均有效:

  • 我可以ping他们
  • 我可以telnet在它们上端口80
  • 我可以在Chrome浏览(例如http://[2001:838:2:1::30:67])到他们

我手动调用Windows API函数GetAddrInfo时,名称甚至会解析。

为什么我怎么能诊断一下pingtelnetChromeInternet Explorer做错了?

注意:由于dns服务器(solo.avatopia.com)位于加密的vpn链接的另一侧,因此Wireshark现在很有帮助。WireShark拒绝解密加密的VPN流量。


您的ping示例有一个错字。
哈里·约翰斯顿

如果您尝试ping,telnet或浏览到规范名称ipv6.nginx.sixxs.net,会发生什么?
哈里·约翰斯顿

@HarryJohnston ping错字在哪里?我看不到...
伊恩·博伊德

1
@HarryJohnston Ohhhh,ping需要/6参数;它不了解,如果只能解析ipv6地址,就需要发送IPv6 ICMP数据包。
伊恩·博伊德

愚蠢的问题,但是Web服务器本身是否可以在ipv6上运行?在ipv4或其他已知的ipv6功能的系统上可以工作吗?您是否尝试连接到本地主机的ipv6?
Journeyman Geek

Answers:


2

DNS解析并不自动意味着HTTP可达性。就您而言,这实际上是问题的一部分。

sixxs.org回答所有与DNS查询CNAMEipv6.nginx.sixxs.net。举个例子,iamugly显然没有一个真实的站点,因为没有顶级域。

[mpenning@Bucksnort ~]$ dig +short iamugly.sixxs.org
ipv6.nginx.sixxs.net.
[mpenning@Bucksnort ~]$ dig +short google.com.sixxs.org
ipv6.nginx.sixxs.net.
[mpenning@Bucksnort ~]$ dig google.com.sixxs.org

; <<>> DiG 9.7.3 <<>> google.com.sixxs.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22229
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.sixxs.org.          IN      A

;; ANSWER SECTION:
google.com.sixxs.org.   3553    IN      CNAME   ipv6.nginx.sixxs.net.

;; AUTHORITY SECTION:
sixxs.net.              3316    IN      SOA     ns.paphosting.net. hostmaster.sixxs.net. 2012010601 86400 7200 1209600 86400

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon May 28 15:39:58 2012
;; MSG SIZE  rcvd: 133

[mpenning@Bucksnort ~]$

ipv6.nginx.sixxs.net只是一个转发流量的HTTP代理,因此只要它们的代理处于启动状态,它就可以ping通,并且您可以telnet...

[mpenning@Bucksnort ~]$ telnet superuser.com.sixxs.org 80
Trying 2620:0:6b0:a:250:56ff:fe99:78f7...
Connected to ipv6.nginx.sixxs.net.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
[mpenning@Bucksnort ~]$

转到后superuser.com.sixxs.orgsixxs.net将您重定向到ipv6gate.sixxs.net,他们会重写超级用户的html内容,从而通过将该页面上的所有链接发送出去foo.sixxs.org

在此处输入图片说明

某种情况使您无法通过sixxs.org,它可能来自您路径中其他位置的VPN服务器,防火墙或透明的HTTP代理。


1

这是我对事情的猜测

(本来我打算将其发布为评论,但是它太长了,因此我会将其发布为答案,然后由您自己和/或其他人决定它是否正确。)

我认为此isp已将其名称服务器配置为答复每个子域。

我尝试了一个随机GUID,是0937c1fa-15dc-4a3a-837c-b9ada0953a7e.sixxs.org可以解析(并且与superuser.com.sixxs.org具有相同的IP地址)

这意味着到0937c1fa-15dc-4a3a-837c-b9ada0953a7e.sixxs.org的所有流量都将发送给他们。当涉及到它们时,他们可能正在检查http主机标头以确定如何处理它。对于0937c1fa-15dc-4a3a-837c-b9ada0953a7e.sixxs.org,我怀疑他们只是忽略了该请求,因为他们不太可能知道如何处理该请求。

对于superuser.com.sixxs.org,您会认为他们应该将此重定向到superuser.com,但这似乎不起作用。

我认为设置之外的任何人都不可能确定为什么这行不通,但这可能是因为他们的内部映射错误并且发送到了错误的目的地。

另一种可能性是,他们可能未向所有人提供此服务,并且如果非订户尝试使用此地址,则可能会忽略该请求。

最重要的是,我不太确定telnet,Chrome和Internet Explorer是否确实做错了什么,我建议您在假设您的设置有任何问题之前先通过sixxs.net检查一下。


0

我遇到了类似的问题,这是我尝试过的。

  1. 它可能与Winsock的LSP有关,请尝试LSP修复以找出导致错误的原因。
  2. 重置Internet协议(TCP / IP)
  3. 运行sfc /scannow以修复由于文件损坏而引起的任何问题。
  4. 重置WinSock netsh winsock reset
    5.尽管完全不相关,请尝试重置分支缓存netsh branchcache reset
    6. 重置IPv6配置netsh int ipv6 reset
    7. 尝试从设备管理器中删除并重新安装网络适配器

0

我不确定您是只遇到一个网站问题,还是所有网站都无法连接(并且正在使用另一台PC发布此问题),但是如果您在浏览器中遇到DNS错误,每个站点,您仍然可以连接,可以ping通这些东西,尝试以下几个命令。它并不总是其中之一,但我几乎从未见过它们都不适合您的问题。

netsh winsock reset catalog

netsh int ipv4 reset reset.log

netsh int ipv6 reset reset.log

ipconfig /release

ipconfig /flushdns

ipconfig /renew

ipconfig /registerdns
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.