10

В локальной сети я хочу узнать имена всех подключенных компьютеров, используя кроссплатформенную программу, предпочтительно nmap. Я знаю, что могу сделать

nmap -sn xxx.xxx.xxx.xxx/24

(где xxx.xxx.xxx.xxx - это локальный IP-адрес), чтобы найти работающие хосты, но как мне найти имена компьютеров? Они транслируют это так, как я могу найти с помощью nmap?

ОБНОВЛЕНИЕ: похоже, Angry IP Scanner может это сделать. Как оно работает? Могу ли я повторить это с Nmap?

4 ответа4

3

Из часто задаваемых вопросов Angry IP Scanner (« Имена хостов не показаны »):

Angry IP Scanners отображает имена хостов, возвращенные вашим DNS-сервером (имя), выполнив обратный поиск. Сервер получает IP-адрес и возвращает имя хоста, если он его знает.

Если какой-то компьютер знает свое имя, это не значит, что он предоставил ему сетевой DNS-сервер. Другими словами, имя хоста в том виде, в котором оно само себя знает (локальное имя), и имя, связанное с IP-адресом (глобальным именем), которое известно DNS-серверу, может не всегда совпадать.

Очень часто DNS-запросы возвращают некоторые общие имена, например, dhcp-12-13.superisp.com, особенно в сетях ISP.

Имена совпадают в любом из этих случаев:

  • Ваш компьютер отправил имя DHCP-серверу, с которого он получил IP-адрес, а DHCP-сервер предоставил его локальному DNS-серверу.
  • У вас есть статический IP-адрес, и ваше локальное имя хоста настроено в соответствии с правилами, которые соответствуют глобальному соглашению об именах в вашей сети.
  • Стек TCP вашего хоста возвращает локальное имя, если запрашивается локальный IP-адрес, не спрашивая глобального имени

Из документации Nmap (« Обнаружение хоста »):

По умолчанию Nmap все еще выполняет обратное разрешение DNS на хостах, чтобы узнать их имена.

Дополнительное чтение / информация здесь.

1

Оказывается, я должен указать --system-dns чтобы получить имена машин в сети. Я не уверен, почему это работает. Может быть, в настройке DNS есть что-то неожиданное?

ОБНОВЛЕНИЕ: Фактически, это работает на одной VLAN, но не на другой, но Angry IP Scanner работает на обоих.

0

Я использовал nmap и другие IP-сканеры, такие как Angry IP-сканер. Мое наблюдение состояло в том, что Nmap использовал Обратный DNS для разрешения имен хостов, поэтому для работы DNS-сервера должны быть записи обратного указателя для хостов. Я обнаружил, что другие сканеры следуют за запросом PTR с помощью запроса Netbios.

Если вы уверены, что все хосты в целевой сети являются хостами Windows и на них включена поддержка NETBIOS, вы можете использовать инструмент nbtscan для их сканирования.

0

Вы также можете использовать nmap -A xxx.xxx.xxx.xxx он должен показывать имена хостов в выходных данных. в моей сети я передаю данные через grep, чтобы получить только ту информацию, которую я хочу. ~ grep -e 'scan report' -e 'Computer name'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .