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


83

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

Ответы:


90

Версии 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
  • -Нет обнаружения хоста
  • не сканировать порт

6
+1 с оговоркой, что это возвращает только машины, которые отвечают на ICMP. Любая машина, специально блокирующая ICMP, не будет отображаться
Мэтт Симмонс

10
@MattSimmons Если nmap запущен как rootи IP-адреса из локальной сети (сервер является членом подсети), то запросы ARP отправляются. Так будет обнаруживать любые живые машины , потому что на самом деле никто не блокирует ARP - пакетов. Да, и с новыми nmapверсиями это -sn(хотя -sPтоже будет работать).
Хьюберт Карио

4
Я не получаю никаких имен хостов с этой командой. Предложения?
daviesgeek

@daviesgeek Пробовал запускать его как root?
Чизбарон

3
@ Cheesebaron Ах. Вот и все. Я бы предложил добавить, что без него не будут отображаться имена хостов.
daviesgeek

9
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

Решение ARP медленное, но работает нормально, решение
Nmap

5

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

nmap 192.168.8.*

или же

nmap 192.168.8.1/24

4

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


2
какой инструмент я буду использовать тогда?
Шалома

Я не знаю ничего, что делает это.
sysadmin1138

2

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

1
как узнать имя машины? я получаю имена хостов следующим образом: dhcp-186-241.abc.dk dhcp-186-250.abc.dk .... например, когда я выпускаю hostnameна терминале Ubuntu, я получаю: infestor-pcно nmap показывает мое имя хоста как dhcp-186-250.abc.dk. есть ли способ увидеть «дружественное» имя хоста?
Шалома

Нет, единственным способом было бы зарегистрировать имя компьютера в DNS
радиус


0

Лучший и быстрый способ пропинговать все Ips в локальной сети - отключить обратное разрешение 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


0

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

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

$ arp -a

-1

Я думаю, что вы должны запустить это:

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

Это не добавляет ничего к существующим ответам, и, кроме того, найдет только хосты Windows с включенным общим доступом. Конечно, более конкретный, чем хотел ОП.
Скотт Пак

Будет по-прежнему работать с отключенным общим доступом к сети. Требуется только обнаружение сети, что по умолчанию для частных сетей.
Джон Гомер

-1

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

nmap -sV -T4 -O 10.1.*.*
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.