Как netstat получает имя хоста от IP, в то время как nslookup и nblookup перестали работать каждый раз?

В Windows Server 2003, когда я выполняю netstat без флагов, он берет намного дольше, чем netstat-n для возврата результатов. Я понимаю, что это вызвано тем, что это должно выполнить обратные поиски IP-адресом для получения соответствующего имени хоста.

Существуют некоторые строки в результатах, что netstat, кажется, икает на и занимает больше времени чем обычно. Насколько я могу сказать, это все адреса, где нет никакого IP к имени хоста, отображающемуся в наших локальных серверах DNS.Ничего страшного. nslookup и nblookup оба сбоя для нахождения имен хостов для рассматриваемого дюйм/с также, соглашаясь, что это было бы частью замедления, связанного с этими записями.

Однако в результатах netstat, эти записи показывают корректное имя хоста. Как это возможно? То, как netstat в состоянии различить имя хоста для соединений без обратного DNS или инвертировать WINS (является там такой вещью), записи?

Я попытался сбросить локальный кэш DNS и все еще получаю те же результаты.Править: Существуют вперед записи DNS для рассматриваемых имен хостов. Действительно ли возможно, что базовое соединение так или иначе может "держаться" к настоящему имени, используемому для создания соединений?

0
задан 2 April 2014 в 04:38
2 ответа

Видимо, nblookup не работает с обратным IP -> поиском имен хостов. Я начал перехватывать пакеты с помощью MS Network Monitor, чтобы посмотреть, как netstat разрешает имя, и узнал кое-что новое. Очевидно, что он вернется к просмотру NetBIOS в случае сбоя DNS.

Еще одна важная вещь, на которую следует обратить внимание, это то, что я столкнулся с проблемой при диагностике, потому что моя локальная машина - это Windows 7. Другой метод, используемый Windows 7, называется LLMNR. Поэтому если DNS дает сбой, он попытается выполнить LLMNR поиск. LLMNR недоступна в Windows Server 2003.

Порядок разрешения:

  1. DNS
    a. Кэш резольвера (Файл хозяев + кэшированные DNS-запросы) (ipconfig /displaydns)
    . b. DNS Server Query (ipconfig /all, чтобы увидеть DNS Servers, которые будут опрашиваться, nslookup, чтобы попытаться сделать запрос)
  2. LLMNR (Windows Vista/7/8, Server 2008)
    . a. LLMNR Cache
    b. LLMNR Multicast Query
  3. NetBIOS (Порядок и методы зависят от типа узла NetBIOS -- найти тип по: ipconfig /all | findstr "Node Type"
    a. WINS-серверы (h узел, m узел, p узел)
    . b. Файл LMHosts
    c. Трансляция (h узел, m узел, b узел)

Вот фантастическое видео на youtube с различными методами разрешения: https://www.youtube.com/watch?v=gzqjeds8gDg и есть отличная статья MSDN TechNet о разрешении имен, поиск "Link-Local Multicast Name Resolution: Кабельный парень"

.
1
ответ дан 24 November 2019 в 09:50

Для обратного просмотра NetBIOS: nbtstat -A [IP-адрес]

-1
ответ дан 24 November 2019 в 09:50

Теги

Похожие вопросы