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

10

Em uma LAN, eu quero descobrir os nomes de todos os computadores conectados usando um programa multi-plataforma, de preferência 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 que estão ativos, mas como posso encontrar os nomes de host dos computadores? Eles transmitem isso de uma maneira que eu posso encontrar usando o nmap?

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

    
por bsamek 16.11.2011 / 18:08

4 respostas

0

Eu usei o nmap e outros scanners IP, como o scanner Angry IP. Minha observação foi que o Nmap usava o DNS reverso para resolver nomes de host, então, para que isso funcionasse, o servidor DNS deveria ter registros de ponteiro reverso para os hosts. Eu descobri que outros scanners seguem uma consulta PTR com uma consulta NetBIOS.

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

    
por 28.02.2012 / 14:13
3

Da FAQ do Angry IP Scanner (" Nomes de host não mostrados "):

Angry IP Scanners displays hostnames returned by your DNS (name) server, by doing a reverse lookup. The server is provided the IP address and returns the hostname if it knows it.

If some computer knows its own name, it doesn't mean that it has provided it the the network's DNS server. In other words, the name of the host as it knows it itself (the local name) and the name attached to the IP address (the global name) as it known by the DNS server may not always match.

Very often, DNS queries will return some generic names, e.g. dhcp-12-13.superisp.com, especially in ISP networks.

The names match in either of these cases:

  • Your computer has sent the name to the DHCP server from which it obtained the IP address and DHCP server has provided it to the local DNS server
  • You have a static IP address and your local hostname is configured according to the rules that match global naming convention in your network
  • Your host's TCP stack returns the local name if the local IP address is queried, not asking the global name

Da documentação do Nmap (" Descoberta de Host "):

By default, Nmap still does reverse-DNS resolution on the hosts to learn their names.

Leitura adicional / info aqui .

    
por 16.11.2011 / 18:30
1

Acontece que tenho que especificar --system-dns para obter os nomes das máquinas na rede. Não sei por que isso funciona. Talvez haja algo inesperado na maneira como o DNS é configurado?

UPDATE: Na verdade, funciona em uma VLAN, mas não em outra, mas o Angry IP Scanner funciona em ambos.

    
por 16.11.2011 / 20:56
0

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

    
por 22.12.2013 / 18:21