Obtenha uma lista de todos os computadores em uma rede sem DNS
-
01-07-2019 - |
Pergunta
Saudações,
Preciso de uma maneira (via C# ou em um arquivo .bat) para obter uma lista de todos os computadores em uma determinada rede. Normalmente, eu uso "visualização net", mas isso tende a funcionar (pelo meu entendimento) apenas dentro do seu domínio. Preciso dos nomes (ou pelo menos os endereços IP) de todos os computadores disponíveis na minha rede.
Ser capaz de colocar todos os computadores em um domínio que não é meu (nesse caso, eu usaria o Grupo de Trabalho, ou qualquer que seja o padrão) também funcionaria.
Solução
NMAP é bom para isso -use a opção -o para impressão digital do sistema operacional e -ox "filename.xml" para resultado Como XML, você pode analisar de C#.
Uma linha de comando adequada seria (onde 192.168.0.0/24 é a sub -rede para digitalizar):
nmap -O -oX "filename.xml" 192.168.0.0/24
Deixe de fora o -o se você não estiver interessado em adivinhar o sistema operacional -se você deseja apenas um uso de varredura de ping -ou leia os documentos para as inúmeras outras opções.
Outras dicas
Para expandir o que a Unkwntech disse -
Você também pode fazer um ping de "transmissão" para evitar o ping em cada endereço IP individualmente.
Imediatamente depois de usar "ARP" para examinar o cache ARP e obter uma lista de quais endereços IP estão no endereço MAC.
Ping tudo na raiva, então você pode obter informações do NetBIOS dos sistemas que respondem para identificar seu nome.
Em um dos meus aplicativos da Web, usei a função NETAPI32 para navegação em rede.
Código:http://gist.github.com/11668