
Existe uma maneira de procurar computadores na rede através da linha de comando e obter seus nomes IP, MAC e DNS sem saber nada sobre eles?
Responder1
nmap -v -sn 192.168.1.0/24 | grep -v down
obs. é claro que você pode alterar as configurações de sub-rede conforme necessário.
pp. dependendo da versão do nmap, o endereço mac é exibido ou não. 5.21+ (teste debian+) é exibido. 5.0 (atualmente em Debian estável) não.
Responder2
arp -a
irá despejar todas essas informações sem precisar instalar o nmap
. Porém, nmap
faz uma varredura ativa, então ficará mais atualizado.
Responder3
Se você realmente não tem a menor ideia, primeiro ouça passivamente a rede. As redes locais são bastante conversadoras e principalmente um pacote é enviado para todos os dispositivos da rede. Ao decompor as camadas dos pacotes, você pode aprender muito sobre a topologia. Cuidado, às vezes isso não é possível, depende da rede.
Por exemplo:
Os quadros Ethernet fornecem endereços Ethernet.
ARP (Protocolo de resolução de endereço) acopla o endereço Ethernet ao endereço de rede e fornece dicas implícitas sobre as relações entre os dispositivos de rede.
IP (protocolo de Internet) fornece uma relação entre dois hosts com endereços IP.
TCP (Protocolo de controle de transmissão) dá uma ideia sobre quais serviços (portas) estão ativos e quais computadores conversam entre si.
O UDP (protocolo de datagrama do usuário) fornece as mesmas informações que o TCP. Na verdade, você pode aprender mais do que apenas fazer uma verificação ativa.
Você pode usar o tcpdump ou a biblioteca pcap se quiser encontrar informações específicas. Eu fiz umpequeno exemploem perl. Ele despeja todos os endereços de hardware, endereços de rede, portas TCP e UDP.