Назад | Перейти на главную страницу

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

Как я могу оформить Nmap команда, которая показывает мне все живые машины ' IP адреса и соответствующие имя хоста в локальной сети, к которой я подключен? (если это можно сделать другим способом / инструментом, пожалуйста, ответьте)

Версии nmap ниже 5.30BETA1:

nmap -sP 192.168.1.*

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

nmap -sn 192.168.1.*

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

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

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

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

Обратите внимание, что разрешение имен так же хорошо, как и населенность обратных DNS. Также обратите внимание, что это не даст вам систем, защищенных брандмауэром от ping (что практически на каждой рабочей станции Windows по умолчанию).

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

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

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

dig +short -x $IP

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

nmap 192.168.8.*

или

nmap 192.168.8.1/24

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

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

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

Вы можете просто использовать arp команда вроде этой:

$ arp -a

Поскольку для локальной сети нет IP-адреса, мы можем предположить, что это 192.168, но это не всегда так, поэтому первым делом нужно определить наш IP-адрес и нашу маску подсети.

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

Теперь, предполагая, что ваш IP-адрес 192.168.0.100, а ваша маска 255.255.255.0, вы можете сканировать 1-254 вот так

nmap -sn 192.168.0.1-254 
or 
nmap -sn 192.168.0.0/24

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

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

----редактировать

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

nmap -sV target

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

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

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

nmap -sU -p161 --script snmp-interfaces.nse target

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

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.*.*