nmap найти все активные имена хостов и IP-адреса в локальной сети

Вопрос или проблема

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

версии nmap ниже, чем 5.30BETA1:

nmap -sP 192.168.1.*

новые версии nmap:

nmap -sn 192.168.1.*

Это дает мне хостнеймы вместе с IP-адресами и пингует только хосты для их обнаружения. Это даст вам хостнеймы если вы выполните это как root.

РЕДАКТИРОВАНО: Начиная с Nmap 5.30BETA1 [2010-03-29] -sP был заменен на -sn как предпочтительный способ выполнения пинг-сканов, пропуская сканирование портов, как указывают комментарии:

Ранее рекомендовали использовать -PN и -sP. Это устанавливает более регулярный синтаксис для некоторых опций, которые отключают фазы сканирования:

  • -n без обратного DNS
  • -Pn без обнаружения хостов
  • -sn без сканирования портов
nmap -sP 192.168.1.0/24

Обратите внимание, что разрешение имен зависит от заполнения обратного DNS. Также обратите внимание, что это не выявит системы, которые защищены от пинга (почти каждая windows-рабочая станция по умолчанию).

Если вы находитесь в одной подсети с системами, вы можете сделать что-то вроде

for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done

…но случается, что у меня возникают странности, когда я оборачиваю arping в цикл. Также вам придется выполнить обратный поиск самостоятельно, используя что-то вроде

dig +short -x $IP

Вы можете отсканировать всю подсеть, можно использовать также символы подстановки.

nmap 192.168.8.*

или

nmap 192.168.8.1/24

NMAP вернет ‘обратный поиск’ IP-адреса, не может вернуть прямой адрес. Или адреса в случае виртуального хостинга на веб-серверах. Nmap не предназначен для этого.

если это можно сделать другим способом/инструментом, вы можете об этом упомянуть

Вы можете просто использовать команду arp следующим образом:

$ arp -a

nmap -sP 192.168.0.0/24 будет выводить что-то вроде:

> nmap -sP 192.168.0.0/24

Starting Nmap 4.00 ( http://www.insecure.org/nmap/ ) at 2010-06-22 22:27 CEST
Host 192.168.0.0 appears to be up.
Host 192.168.0.1 appears to be up.
Host abcd.domain.tld (192.168.0.2) appears to be up.
Host def.domain.tld (192.168.0.3) appears to be up.
Host fdsf.domain.tld (192.168.0.4) appears to be up.
Host reht.domain.tld (192.168.0.5) appears to be up.
Host vcxbfd.domain.tld (192.168.0.6) appears to be up.
Host ezqs.domain.tld (192.168.0.7) appears to be up.
Host 192.168.0.8 appears to be up.
Host ilolio.domain.tld (192.168.0.9) appears to be up.
Host ipbd.domain.tld (192.168.0.10) appears to be up.
Host cdekf.domain.tld (192.168.0.11) appears to be up.
Host 192.168.0.12 appears to be up.
Host 192.168.0.13 appears to be up.
Host 192.168.0.14 appears to be up.
Host 192.168.0.15 appears to be up.
Host ainv.domain.tld (192.168.0.16) appears to be up.
Host 192.168.0.17 appears to be up.
Host 192.168.0.18 appears to be up.
Host wzdkz.domain.tld (192.168.0.19) appears to be up.
[…]
Nmap finished: 256 IP addresses (256 hosts up) scanned in 7.491 seconds

Вы можете использовать следующую команду:

nmap -v -A $IP

Лучший и самый быстрый способ опросить все IP в локальной сети — отключить обратное разрешение DNS

Используйте:
NMAP -sn 192.168.1.1-255

это отсканирует все 255 хостов в диапазоне IP 192.168.1.1 – 192.168.1.255

Если вам нужен файл, который легко разбирать

Используйте:
NMAP -sn -oG Name.txt 192.168.1.1-255

Так как нет заданного IP для ЛВС, можем предположить, что это 192.168, но это не всегда так, поэтому первое, что нужно сделать, это определить наш IP-адрес и маску подсети.

используйте ifconfig для этого и используйте regexp, чтобы очистить результаты

Теперь, предполагая, что ваш IP — это 192.168.0.100, а маска – 255.255.255.0, вы можете отсканировать 1-254 следующим образом:

nmap -sn 192.168.0.1-254 
или 
nmap -sn 192.168.0.0/24

чтобы также видеть хостнеймы и MAC-адреса, запускайте это от root, иначе все сканы будут выполняться как непривилегированный пользователь, и все сканы будут выполнять TCP-подключение (полное 3-стороннее рукопожатие), чтобы получить информацию. Как root, вы запускаете Syn и не завершаете 3-стороннее рукопожатие.

Это, в основном, все, что вам нужно, чтобы ответить на ваш вопрос и получить то, что вы хотели. Есть множество параметров, но каждый служит специальной цели.

—-редактировано

Я только что заметил hostname. Вы можете использовать сканирование поиска сервиса, так как оно выполнит несколько скриптов (один из которых – nbstat.nse) и вернет хостнеймы. Не ожидайте получить хостнеймы всех машин, которые вы сканируете.

nmap -sV target

или вы можете просто запустить специфический скрипт nbstat.nse, что сэкономит время и усилия.

nmap -sU -p137 --script nbstat.nse target

nbstat.nse использует UDP-порт 137. В некоторых случаях вы можете также получить имя хоста через SNMP, используя скрипт snmp-interfaces, но для этого потребуется, чтобы UDP-порт 161 был открыт.

nmap -sU -p161 --script snmp-interfaces.nse target
  1. Есть небольшое различие в выводе, как для обычного пользователя, так и для пользователя root
  2. Станьте пользователем root
  3. И используйте ниже приведенный код

nmap -sn ip/битов

ip -o -f inet addr show | \
awk '/scope global/ {split($4, a, "/"); \
   print a[1] "/" a[2]}' | \
while read subnet; do \
   sudo nmap -sn "$subnet"; \
done | \
awk '/Nmap scan report/{ip=$NF}/MAC Address:/{print ip, $3}'
  1. получает локальный IP и маску
  2. получает хосты по IP и MAC

кто-то еще попробует получить хостнейм.

Думаю, вам стоит запустить это:

sudo nmap -sU --script nbstat.nse -p137 10.10.10.*

Попробуйте это: Пример IP-диапазона: 10.1.0.0 – 10.1.255.255

nmap -sV -T4 -O 10.1.*.*

Ответ или решение

Чтобы ответить на ваш вопрос о том, как с помощью Nmap найти все активные IP-адреса и соответствующие имена хостов в локальной сети (LAN), нужно понимать, что Nmap – это мощный инструмент для сканирования сети и проведения различных видов анализа.

Теория:

Nmap (Network Mapper) – это инструмент с открытым исходным кодом, который используется для сетевого исследования и аудита безопасности. Он позволяет определять активные устройства в сети, открытые порты и запущенные на них службы, а также выполнять другие задачи сетевого анализа. Nmap может выполнять сканирования, используя различные методы: от простых пинг-сканов до более сложных сканирований с определением версий служб и операционных систем.

Пример:

Например, для поиска всех активных хостов в локальной сети, можно использовать следующие команды:

  1. Для более старых версий Nmap (до версии 5.30BETA1):

    nmap -sP 192.168.1.*

    В этой команде -sP указывает на выполнение ping-сканирования без дальнейшего сканирования портов.

  2. Для более новых версий Nmap:

    nmap -sn 192.168.1.*

    Здесь -sn заменяет -sP и выполняет ту же функцию – обнаруживает активные хосты, пропуская сканирование портов.

  3. Сканирование всего подсети:

    nmap -sn 192.168.1.0/24

    Это позволяет сканировать все IP-адреса в диапазоне от 192.168.1.1 до 192.168.1.254. Команда подойдет для обнаружения доступных хостов в вашей подсети.

  4. Если нужны имена хостов и MAC-адреса, запускайте Nmap от имени root:

    sudo nmap -sn 192.168.1.0/24

    Для получения имен хостов и деталей такие, как MAC-адреса, необходимо запустить Nmap с повышенными привилегиями. Кроме того, заметим, что разрешение имен хостов зависит от настройки обратного DNS на вашей сети.

  5. Использование скриптов для получения дополнительных данных:

    Чтобы попытаться получить больше информации (например, имена хостов через NetBIOS):

    sudo nmap -sU --script nbstat.nse -p137 192.168.1.0/24

    Скрипт nbstat.nse помогает извлечь имена хостов через NetBIOS через UDP порт 137.

Применение:

На практике вышеописанные команды позволяют получить список всех активных устройств в вашей локальной сети, включая их IP-адреса и, при некоторых условиях, имена хостов. Имена хостов могут не появляться в случае, если обратная DNS-запись не настроена, что часто бывает в локальных сетях, особенно если DNS-сервер недоступен или устройство блокирует ICMP.

Кроме Nmap, вы можете использовать утилиты, такие как arp для получения списка узлов в локальной сети:

arp -a

Эта команда вернет MAC-адреса и IP-адреса устройств в вашей локальной ARP-таблице.

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

Оцените материал
Добавить комментарий

Капча загружается...