Como determinar se dois dispositivos estão conectados na rede?

4

Existe um software Linux gratuito para determinar se dois dispositivos de rede estão conectados? Uma aula de php também pode ser boa ...

Gostaria de desenhar a topologia de rede. Posso determinar os dispositivos na rede com o zenmap (ele salva os resultados no arquivo), mas não sei qual dispositivo está conectado a qual dispositivo ... (O zenmap também pode desenhar topologia, mas não salva no arquivo)

    
por Thomas Dickey 11.03.2011 / 13:19

3 respostas

3

Parece que você está tentando "mapear" uma rede, passando do conhecimento zero do que está "lá para fora" para um conhecimento completo de todos os dispositivos que podem ser alcançados de um determinado ponto.

Os comandos do Linux como ethtool podem dizer se as interfaces estão ou não fisicamente conectadas a outra coisa. Então isso é um bom começo. É claro que, se a coisa à qual você está conectado é um roteador ou um switch, então você tem trabalho adicional a fazer.

Este é realmente um problema profundo e complexo. Não existe um protocolo universalmente reconhecido "hey, I'm here" que não seja o ping, que é frequentemente desativado por razões de segurança.

Continuando, no entanto, a próxima coisa a trabalhar é a sua máscara de sub-rede atual. Isso deve informar o intervalo de endereços IP com os quais é possível se comunicar com essa interface. A varredura de todos os endereços IP possíveis de uma sub-rede geralmente é a maneira mais confiável de fazer isso (usando uma ferramenta como nmap para realizá-lo). É melhor que exista um protocolo para suportar esse propósito, como ping, CDP para dispositivos Cisco ou LLTD para sistemas Windows Vista / XP.

Se você estiver em uma situação em que está lidando com vários roteadores de LAN, poderá usar rotas no FIB (o comando route ou ip route show ) para aprender sobre outras sub-redes que devem ser indiretamente alcançáveis. Você então tem intervalos adicionais de IP acessíveis para digitalizar.

No entanto, se estamos falando de toda a Internet ou de uma grande sub-rede, isso se torna impraticável. Nesse caso, uma solução viável é geralmente confiar em serviços de "descoberta" ou "encontro", como IGMP ou Bonjour. Você está então à mercê de saber apenas sobre os dispositivos que desejam ser conhecidos. Mas isso é melhor do que tentar escanear toda a Internet.

    
por 09.06.2011 / 19:39
1

traceroute pode ser um bom começo: mostra o número de saltos entre o seu próprio host e um controle remoto. Não conheço uma maneira de obter esse tipo de informação para um par de controles remotos, exceto executando traceroute em um deles.

    
por 11.03.2011 / 13:21
0

Se a lista de dispositivos incluir endereços IP e máscaras de rede, você poderá criar um gráfico básico da camada 3 criando um vértice para cada sub-rede, um vértice para cada dispositivo e uma borda entre cada (sub-rede, dispositivo) na sua lista de dispositivos.

Isso resultará em uma topologia de camada 3 pura que provavelmente não é um mau começo. Além disso, se a sua rede for um pouco complexa, isso não funcionará muito bem. Por exemplo, se você tiver sub-redes duplicadas ou sobrepostas (talvez com VPNs NAT ou MPLS), a suposição de que todos os dispositivos dentro de um determinado intervalo de IPs estejam conectados pode não ser verdadeira.

    
por 11.03.2011 / 14:38

Tags