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.

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top