Encontre nomes de computadores em uma rede privada (com nmap?)

10

Em uma LAN, quero descobrir os nomes de todos os computadores conectados usando um programa de plataforma cruzada, de preferência o nmap. Eu sei que posso fazer

nmap -sn xxx.xxx.xxx.xxx/24

(onde xxx.xxx.xxx.xxx é um endereço IP local) para encontrar hosts ativos, mas como localizo os nomes de host dos computadores? Eles transmitem isso de uma maneira que eu possa encontrar usando o nmap?

ATUALIZAÇÃO: Parece que o Angry IP Scanner pode fazer isso. Como isso acontece? Posso replicá-lo com o nmap?

bsamek
fonte
3
quais nomes de host? Nomes DNS? Pergunte ao seu servidor DNS.
Ragnq
@ragnq nslookup não me fornece nomes de host, mas o Angry Port Scanner fornece. Estou tentando descobrir como fazer isso com o nmap e / ou ferramentas de linha de comando.
bsamek

Respostas:

0

Eu usei o nmap e outros scanners IP, como o scanner Angry IP. Minha observação foi que o Nmap usou o DNS reverso para resolver nomes de host, portanto, para que isso funcione, o servidor DNS deve ter registros de ponteiro reverso para os hosts. Descobri que outros scanners seguem uma consulta PTR com uma consulta Netbios.

Se você tiver certeza de que todos os hosts na rede de destino são hosts do Windows e têm o NETBIOS ativado, você pode usar a ferramenta nbtscan para varrê-los.

Benny
fonte
3

Nas Perguntas frequentes do Angry IP Scanner (" Nomes de host não mostrados "):

Angry IP Scanners exibe nomes de host retornados pelo servidor DNS (nome), fazendo uma pesquisa inversa . O servidor recebe o endereço IP e retorna o nome do host, se souber.

Se algum computador souber seu próprio nome, isso não significa que ele forneceu o servidor DNS da rede. Em outras palavras, o nome do host como ele próprio (o nome local) e o nome anexado ao endereço IP (o nome global) como é conhecido pelo servidor DNS nem sempre podem corresponder.

Muitas vezes, as consultas DNS retornam alguns nomes genéricos, por exemplo, dhcp-12-13.superisp.com, especialmente em redes ISP.

Os nomes correspondem em um destes casos:

  • Seu computador enviou o nome ao servidor DHCP a partir do qual obteve o endereço IP e o servidor DHCP o forneceu ao servidor DNS local
  • Você tem um endereço IP estático e o nome do host local é configurado de acordo com as regras que correspondem à convenção de nomenclatura global em sua rede
  • A pilha TCP do seu host retorna o nome local se o endereço IP local for consultado, sem perguntar o nome global

Na documentação do Nmap (" Host Discovery "):

Por padrão, o Nmap ainda faz a resolução de DNS reverso nos hosts para aprender seus nomes.

Leitura / informações adicionais aqui .

Ƭᴇcʜιᴇ007
fonte
Na rede em que estou trabalhando, o Angry IP Scanner me mostra os nomes de host, presumivelmente fazendo uma pesquisa de DNS reverso. O que você está dizendo é que o nmap também faz uma pesquisa inversa. Mas não está exibindo os nomes de host. Como faço para exibir os nomes de host? Ou essa é a ferramenta errada para esse trabalho?
bsamek
1

Acontece que eu tenho que especificar --system-dnspara obter os nomes das máquinas na rede. Não sei por que isso funciona. Talvez haja algo inesperado na forma como o DNS está configurado?

ATUALIZAÇÃO: Na verdade, ele funciona em uma VLAN, mas não em outra, mas o Angry IP Scanner funciona em ambas.

bsamek
fonte
0

Você também pode usá- nmap -A xxx.xxx.xxx.xxx lo deve mostrar os nomes de host na saída. na minha rede, eu o canalizo através do grep para obter apenas as informações que desejo. ~grep -e 'scan report' -e 'Computer name'

linuxfreak003
fonte