我正在试验在 minwinpc.local 上运行 Web 界面的 Win10 IoT 板。这在浏览器中工作得很好,当我使用 ping 时也是如此。
但是,当我使用 dig 或 nslookup 时,我无法解析工作。
如果更基本的工具无法解决问题,那么 ping 和浏览器如何获得 IP?
安装程序只是一个带有 Win10 IoT Core 的 DragonBoard,连接到 iPhone 热点。尝试连接的客户端正在运行 macOS Sierra。没有调整任何特殊主机或解析文件。
平
$ping minwinpc.local
PING minwinpc.local (172.20.10.3): 56 data bytes
64 bytes from 172.20.10.3: icmp_seq=0 ttl=128 time=6.539 ms
挖
$ dig minwinpc.local any @172.20.10.1
; <<>> DiG 9.8.3-P1 <<>> minwinpc.local any @172.20.10.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61796
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;minwinpc.local. IN ANY
;; Query time: 51 msec
;; SERVER: 172.20.10.1#53(172.20.10.1)
;; WHEN: ...
;; MSG SIZE rcvd: 35
查找
$ nslookup minwinpc.local
Server: 172.20.10.1
Address: 172.20.10.1#53
** server can't find minwinpc.local: NXDOMAIN
相关问题:
答案1
这并不是一个更基本的协议不起作用的问题,而是使用了多种名称服务解析协议;ping
这里理解多播 DNS (mDNS),并能够minwinpc.local
通过该协议将名称解析为 IP 地址。dig
相比之下,nslookup
可能只理解或使用传统的 DNS 协议,对 mDNS 一无所知,从而失败。
该.local
域名是 mDNS 的明确指标(通过网络搜索“.local 域名”);更多内容可以阅读[RFC 6762]。调试此类情况的另一个选项是运行tcpdump
WireShark 并查找包含以下内容的数据包minwinpc.local
:这可能会泄露 mDNS 流量。
还有一个选择是nmap
设备的 IP minwinpc.local
;这很可能表明该设备正在侦听 UDP/5353,然后可以研究该端口用于哪些服务(然后可以sudo tcpdump udp port 5353
检查涉及该端口的流量)。
答案2
dig 和 nslookup 将忽略主机文件,它们希望通过询问主 DNS 服务器来解析。另一方面,Ping 和您的浏览器将使用主机文件,因此看起来这就是 dig 和 nslookup 无法解析的原因。
以下是在我的 win10 笔记本电脑上完成的: C:\Users\Me>hostname DESKTOP-UJTKQ4C
C:\Users\Me>nslookup DESKTOP-UJTKQ4C 服务器:未知地址:192.168.231.1
*** 未知无法找到 DESKTOP-UJTKQ4C:不存在的域