Я пытаюсь найти надежный способ просмотреть все имена хостов / машин в локальной сети, например, «Jim's Ipad» или «Austi's IMac». На данный момент единственный способ сделать это - просмотреть журналы запросов DHCP, которые обычно показывают имена, хотя мне было интересно, есть ли способ просто перечислить все имена в сети сразу? Я пробовал nmap -sP 192.168.1. *, Который, казалось, давал только производителя машин вместо фактического имени машины / домена:
MAC Address: 00:1D:BA:40:14:31 (Sony)
Host 192.168.1.109 is up (0.00073s latency).
MAC Address: 00:50:94:C8:1C:02 (Pace Micro Technology PLC)
Host 192.168.1.111 is up (0.00011s latency).
MAC Address: 00:24:8C:EA:F0:7D (Asustek Computer)
Host 192.168.1.112 is up (0.0054s latency).
MAC Address: 00:18:71:5C:D2:BA (Hewlett Packard)
Host 192.168.1.117 is up (0.0049s latency).
Я также пробовал попробовать nmap -sL 192.168.1. *, Который, похоже, вообще не работает, он просто перечисляет все IP-адреса и говорит, что они не сканируются, никакой дополнительной информации или чего-то подобного. Я запускаю эти команды с сервера debian, который действует как маршрутизатор / шлюз для сети. Любая помощь будет принята с благодарностью, спасибо!
Если вы не используете динамический DNS или если все ваши машины не имеют записи DNS, ваша база данных DHCP, вероятно, будет таким же хорошим списком, как и вы собираетесь получить. NMAP не будет разрешать hosthames без обратного DNS, AFAIK. Другие сканеры, такие как Angry IP Scanner, могут собирать имена хостов windows / cifs с помощью запросов netbios.
Вы можете использовать dnsmasq в качестве кеширующего DNS-сервера вместо привязки. Он также имеет встроенный DHCP-сервер. Когда dnsmasq предоставляет аренду, он сохраняет имя хоста, поэтому вы можете искать с помощью host
или nslookup
. Чтобы получить полный список хостов, просто cat /var/lib/dnsmasq/dnsmasq.leases
. Он показывает все фактические аренды IP-адресов и имена хостов.
Для быстрого сканирования netbios просто используйте nbtscan с nbtscan 192.168.1.0/24
. Это работает, только если у вас есть только устройства с поддержкой netbios (обычно Windows) в вашей сети.
Для параноидального (но несколько более медленного) обнаружения хоста вы можете выполнить расширенное (-A) сканирование nmap для всех портов (-p-) узлов вашей сети с помощью nmap -p- -PN -A 192.168.1.0/24
Если вы управляете маршрутизатором, вы также можете проверить таблицы arp, что является самым надежным способом обнаружения и получения списка активных узлов в вашей сети.