В локальной сети я хочу узнать имена всех подключенных компьютеров, используя кроссплатформенную программу, предпочтительно nmap. Я знаю, что могу сделать
nmap -sn xxx.xxx.xxx.xxx/24
(где xxx.xxx.xxx.xxx - это локальный IP-адрес), чтобы найти работающие хосты, но как мне найти имена компьютеров? Они транслируют это так, как я могу найти с помощью nmap?
ОБНОВЛЕНИЕ: похоже, Angry IP Scanner может это сделать. Как оно работает? Могу ли я повторить это с Nmap?
networking
nmap
bsamek
источник
источник
Ответы:
Я использовал nmap и другие IP-сканеры, такие как Angry IP-сканер. Мое наблюдение состояло в том, что Nmap использовал Обратный DNS для разрешения имен хостов, поэтому для работы DNS-сервера должны иметь записи обратного указателя для хостов. Я обнаружил, что другие сканеры выполняют запрос PTR с помощью запроса Netbios.
Если вы уверены, что все хосты в целевой сети являются хостами Windows и на них включена поддержка NETBIOS, вы можете использовать инструмент nbtscan для их сканирования.
источник
Из часто задаваемых вопросов Angry IP Scanner (« Имена хостов не показаны »):
Из документации Nmap (« Обнаружение хоста »):
Дополнительное чтение / информация здесь .
источник
Оказывается, я должен указать,
--system-dns
чтобы получить имена машин в сети. Я не уверен, почему это работает. Может быть, в настройке DNS есть что-то неожиданное?ОБНОВЛЕНИЕ: Фактически, это работает на одной VLAN, но не на другой, но Angry IP Scanner работает на обеих.
источник
Вы также можете использовать
nmap -A xxx.xxx.xxx.xxx
его, чтобы показать имена хостов в выводе. в моей сети я передаю его через grep, чтобы получить только ту информацию, которую я хочу. ~grep -e 'scan report' -e 'Computer name'
источник