我正在尝试解决一些持续性连接问题,并且在使用dig或nslookup时,我经常会收到以下错误消息。
bash$ nslookup > www.google.com ;; Warning: ID mismatch: expected ID 36298, got 0 ;; Warning: ID mismatch: expected ID 36298, got 0 ;; Warning: ID mismatch: expected ID 36298, got 0 bash$ dig www.google.com ;; Warning: ID mismatch: expected ID 34149, got 0 ;; Warning: ID mismatch: expected ID 34149, got 0 ;; Warning: ID mismatch: expected ID 34149, got 0 ; <<>> DiG 9.8.3-P1 <<>> www.capitalone360.com ;; global options: +cmd ;; connection timed out; no servers could be reached
任何人都可以阐明这个错误信息是什么意思,特别是“得到0”部分?
这意味着nslookup或dig收到一个ID为零的回复,而不是它期望的ID。 作为防止伪造DNS答复的一部分,每个DNS查询都包含一个ID,通常是随机select的。 DNS服务器将ID复制到回复中,允许客户端匹配对查询的回复,并防止接受伪造的DNS回复。
这可能是由于DNS服务器损坏或DNS转发或重写scheme损坏造成的。 这也可能是由于欺骗性的DNS回复攻击造成的,尽pipe这不太可能。
出于好奇,我在apple.stackexchange.com以及SF的许multithreading中遇到了这个解决scheme。
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
运行这些命令是否解决了您的问题?