O nmap encontra todos os nomes de host e IPs ativos na LAN

83

Como posso emitir um comando nmap que me mostre todos os endereços IP das máquinas ativas e os nomes de host correspondentes na LAN à qual estou conectado? (se isso puder ser feito de outra maneira / ferramenta, você certamente poderá responder)

şaloma
fonte

Respostas:

90

versões do nmap inferiores a 5.30BETA1:

nmap -sP 192.168.1.*

versões mais recentes do nmap:

nmap -sn 192.168.1.*

Isso me dá nomes de host junto com endereços IP e apenas faz ping nos hosts para descobri-los. Isso só fornecerá os nomes de host se você o executar como root.

EDIT: A partir do Nmap 5.30BETA1 [29-03-2010] -sP foi substituída -snpela forma preferida de executar varreduras de ping, ignorando a varredura de portas, assim como os comentários indicam:

Anteriormente, as opções -PN e -sP eram recomendadas. Isso estabelece uma sintaxe mais regular para algumas opções que desabilitam as fases de uma verificação:

  • -n sem DNS reverso
  • -Pn nenhuma descoberta de host
  • -sn sem varredura de porta
Cheesebaron
fonte
6
+1 com a ressalva de que isso retorna apenas máquinas que respondem ao ICMP. Qualquer máquina especificamente bloqueando ICMP não vai aparecer
Matt Simmons
10
@MattSimmons Se o nmap for executado como roote os IPs forem da rede local (o servidor é membro da sub-rede), as solicitações de ARP são enviadas. Por isso, vai detectar quaisquer máquinas vivas porque ninguém realmente blocos ARP pacotes. Ah, e com novas nmapversões é -sn(embora -sPtambém funcione).
Hubert Kario
4
Não estou recebendo nenhum nome de host com este comando. Sugestões?
Daviesgeek 15/08
@daviesgeek Tentou executá-lo como root?
Cheesebaron
3
@Cheesebaron Ah. É isso aí. Eu sugeriria acrescentar que, como sem ele, ele não mostrará os nomes de host.
daviesgeek
9
nmap -sP 192.168.1.0/24

Observe que a resolução de nomes é tão boa quanto a população de DNS reverso. Observe também que isso não permitirá que você tenha sistemas com firewall contra ping (que praticamente todas as estações de trabalho com Windows são por padrão).

Se você é local nos sistemas (ou seja, na mesma sub-rede), pode fazer algo como

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

... mas coisas estranhas acontecem comigo às vezes quando eu enrolo em arco. Você também deve fazer a pesquisa, com algo como

dig +short -x $IP
David Mackintosh
fonte
solução arp é lento, mas funciona bem, a solução nmap não pode encontrar todas ip on-line
elbarna
5

Você pode digitalizar uma sub-rede inteira, também pode usar curingas.

nmap 192.168.8.*

ou

nmap 192.168.8.1/24
Jubal
fonte
4

O NMAP retornará a 'pesquisa inversa' do endereço IP em questão; não poderá retornar o endereço de pesquisa direta. Ou endereços no caso de servidores da Web que hospedam hospedagem virtual baseada em nome. O Nmap não é a ferramenta para isso.

sysadmin1138
fonte
2
qual ferramenta devo usar então?
saloma
Não sei de nada que faça isso.
sysadmin1138
2

O nmap -sP 192.168.0.0/24 produzirá algo como:

> 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
raio
fonte
1
como posso aprender o nome da máquina? eu recebo os nomes de host da seguinte forma: dhcp-186-241.abc.dk dhcp-186-250.abc.dk .... por exemplo, quando eu emito hostnameno terminal ubuntu, recebo: infestor-pcmas o nmap mostra meu nome de host como dhcp-186-250.abc.dk. existe uma maneira de ver o nome do host 'amigável'?
saloma
Não é a única maneira de registrar o nome dos computadores no DNS
raio
2

Você pode usar o seguinte comando:

nmap -v -A $IP
EviLiNsiDe
fonte
0

A maneira melhor e mais rápida de executar ping em todos os Ips na rede local é desabilitando a resolução reversa do DNS

Usar :
NMAP -sn 192.168.1.1-255

isso varrerá todos os 255 hosts no intervalo de IP 192.168.1.1 - 192.168.1.255

Se você deseja um arquivo facilmente analisável

Usar :
NMAP -sn -oG Name.txt 192.168.1.1-255

spetzz
fonte
0

se isso puder ser feito de outra maneira / ferramenta, você certamente será bem-vindo a responder

Você pode simplesmente usar o arpcomando como este:

$ arp -a
RousseauAlexandre
fonte
-1

Eu acho que você deve executar isso:

sudo nmap -sU --script nbstat.nse -p137 10.10.10.*
sipcents
fonte
Isso não adiciona nada sobre as respostas existentes e, além disso, só encontrará hosts do Windows com o compartilhamento ativado. Certamente mais específico do que o OP queria.
Scott Pacote
Ainda funcionará com o compartilhamento de rede desativado. Requer apenas a descoberta de rede ativada, que é o padrão para redes privadas.
John Homer
-1

Tente isto: Exemplo de intervalo de IPs: 10.1.0.0 - 10.1.255.255

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