У меня есть машина с Windows под названием abcd
например, и он использует DHCP для получения IP-адреса (172.28.45.5
например)
Когда я выполняю ping -a 172.28.45.5
иногда я получаю abcd
как имя хоста. Иногда я получаю полное доменное имя, например abcd.xxx.yyy.com
, что является предпочтительным и точным способом.
Почему я иногда получаю имя хоста, а в других случаях - полное доменное имя? Является ли это признаком того, что DNS каким-то образом поврежден?
ping
не инструмент разрешения имен. Это инструмент ICMP, в который добавлены некоторые особенности DNS. Когда используешь ping
в качестве инструмента для устранения неполадок с разрешением имен на компьютере с Windows вы будете сталкиваться между ответами от NetBIOS, потенциально WINS, файла хостов, кеш-памяти преобразователя и (если вам повезет) DNS-сервером. Ваш пробег может отличаться, содержимое может оседать во время доставки, товар продается по весу, а не по объему, а фото увеличено для отображения текстуры.
Предпочтительным методом и действительно авторитетным методом устранения неполадок для разрешения DNS в Windows было бы использование nslookup
для выполнения обратного поиска. Например, nslookup 172.28.45.5
. Вы можете явно указать сервер, к которому вы запрашиваете, а также ограничить типы возвращаемых записей только записями PTR.
Если вы используете nslookup
для выполнения обратных запросов с того же сервера, и вы получаете смешанные ответы, значит, что-то не так с DNS. Если по какой-то причине ты действительно действительно хотеть ping -a
чтобы быть последовательным, вы захотите очистить кеш резолвера (ipconfig /flushdns
), полностью отключите NetBIOS (чувствует себя хорошо, чувак), убедитесь, что в вашем файле hosts ничего нет, а затем совершайте мрачную молитву перед каждым ping -a
потому что я бы все равно не доверял ему на 100%.
nslookup
хороший и хочет быть твоим другом.