Как узнать имя узла в сети?

Помогите решить следующую задачу. <br/> Дано: <br/> DHCP, не интегрированный в Active Directory, раздает сеть с маской 20. Половина компьютеров находится в домене, а другая половина — это разнообразные устройства, не входящие в домен. DNS установлен на контроллере домена (AD). При сканировании сети мы видим имена только тех компьютеров, которые в домене, а для устройств вне домена доступны лишь IP-адреса и MAC-адреса, а также список открытых портов. Как можно получить имена хостов, которые не находятся в домене? <br/> Мы пытаемся построить карту сети со всеми хостами и используем для сканирования nmap.
  • 23 января 2025 г. 9:54
Ответы на вопрос 2
Для получения имен узлов в сети, которые не принадлежат домену, вы можете применить несколько методик и инструментов. Вот несколько подходов, которые могут помочь вам в этой задаче:

1. **DNS-запросы**: Если у вас есть возможность проверить, возможно, некоторые из устройств вне домена имеют свои имена, зарегистрированные в DNS. Попробуйте выполнить запросы, используя инструменты, такие как `nslookup` или `dig`, чтобы узнать, есть ли записи в DNS для IP-адресов устройств.

2. **NetBIOS**: Устройства в сети могут использовать NetBIOS для обмена именами. Попробуйте использовать утилиты, такие как `nbtstat` или `nblookup`, чтобы запросить имена из NetBIOS. Это может помочь выявить имена хостов Windows, даже если они не находятся в домене.

3. **mDNS/Avahi**: Если ваши устройства используют mDNS (например, устройства Apple или другие устройства с поддержкой Bonjour), вы можете использовать сканирование mDNS для получения имен устройств. Для этого вы можете использовать инструменты, такие как `avahi-browse` или `dns-sd`.

4. **Список ARP**: Выполните запрос ARP для получения списка IP и соответствующих MAC-адресов. Иногда можно совпадение MAC-адреса с производителем (используя OUI) для идентификации устройства.

5. **Сканирование портов с указанием сервиса**: Используйте `nmap` для выполнения более детального сканирования с определением версии. Например:
   ```bash
   nmap -sV 192.168.0.0/20
   ```
   Это может помочь выявить больше информации о запущенных службах, привязанных к определенным портам.

6. **SNMP**: Если устройства поддерживают SNMP и если у вас есть необходимые права для доступа к ним, вы можете использовать SNMP для получения системной информации, включая имя устройства.

7. **Скрипты nmap**: Есть также возможности использовать скрипты nmap для получения дополнительной информации. Например, можно использовать скрипт `dns-service-discovery` для поиска служб, которые могут удостоверять имена хостов.

Применив вышеперечисленные подходы, вы сможете собрать больше информации о устройствах в вашей сети и, вероятно, получить их имена. Выбор конкретного метода будет зависеть от конфигурации вашей сети и типов устройств, которые вы пытаетесь идентифицировать.
вывод netbios имени 

C:\Windows\System32\nbtstat.exe

Отображение статистики протокола и текущих подключений TCP/IP
с помощью NBT (NetBIOS через TCP/IP).

NBTSTAT [-a Узел] [-A IP-адрес] [-c] [-n]
[-r] [-R] [-RR] [-s] [-S] [интервал] ]

-a (adapter status) Вывод таблицы имен узла, указанного по имени.
-A (Adapter status) Вывод таблицы имен узла, указанного по IP-адресу.
------------------
C:\Windows\System32>nbtstat.exe -A 10.0.0.78

base:
Адрес IP узла: [10.0.0.78] Код области: []

Таблица NetBIOS-имен удаленных компьютеров

Имя Тип Состояние
----------------------------------------------------
J******2 <00> Уникальный Зарегистрирован
J******2 <20> Уникальный Зарегистрирован
WORKGROUP <00> Группа Зарегистрирован
WORKGROUP <1E> Группа Зарегистрирован

Адрес платы (MAC) = 00-**-**-**-**-34
Похожие вопросы