Почему nslookup и dig выдают ошибку "Предупреждение: несоответствие идентификатора... получено 0"?

Я пытаюсь устранить некоторые постоянные проблемы с подключением и часто получаю следующее сообщение об ошибке при использовании 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"?

2 ответа

Решение

Это означает, что nslookup или же dig получил ответ с нулевым идентификатором, а не с ожидаемым. В рамках защиты от поддельных ответов DNS каждый запрос DNS содержит идентификатор, обычно выбираемый случайным образом. DNS-сервер копирует идентификатор в ответ, позволяя клиенту сопоставлять ответы на запросы и предотвращать принятие поддельного ответа DNS.

Это может быть вызвано поломкой DNS-сервера или нарушением схемы пересылки или перезаписи DNS. Это также может быть вызвано атакой поддельных ответов DNS, хотя это маловероятно.

Просто из любопытства я наткнулся на это решение в нескольких темах на apple.stackexchange.com, а также на SF.

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Устраняет ли проблема выполнение этих команд?

Ресурсы

Другие вопросы по тегам