Temos um produto de rede baseado em Linux (chame-o de "Z") e tendemos a vendê-los em lotes para que todos rodem na mesma sub-rede, fazendo os mesmos tipos de coisas e reportando dados para um único servidor (também no sub-rede) que coordena todos eles.
As unidades estão executando uma versão homebrew personalizada do Linux baseada em um kernel 2.6.
Pediram-me para analisar a possibilidade de adicionar o seguinte recurso:
"Qualquer unidade Z deve ser capaz de encontrar outras unidades Z na sub-rede local e listar seus endereços IPv4. A lista devenãoincluem outros computadores não relacionados presentes na sub-rede local."
Um exemplo:
- O usuário pode
ssh
entrar em qualquer unidade Z arbitrária e emitir um comando (pode ser um novo script bash) chamado "listLocalSiblings". - A unidade Z investigará a vizinhança da rede local e produzirá uma lista textual simples dos endereços IP APENAS das outras unidades Z...
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.30
192.168.1.37
192.168.1.71
Pode haver vários dispositivos não relacionados na sub-rede executando vários sistemas operacionais. Eu gostaria que isso fosse o mais passivo possível (por exemplo, evite a varredura de portas ou tenha um ouvinte aguardando e respondendo a "pings" especiais).
Tem algumagenéricomaneira no Linux para categorizar dispositivos em rede?
Tenho o luxo de adicionar novo software ao produto, mas se houver uma maneira de fazer isso com base em algum tipo de assinatura intrínseca que cada máquina possa ter, isso seria preferível. Nunca tentamos fazer com que essas máquinas "se vissem" antes sem realmente codificar caminhos para que elas se encontrassem.
Editar: por vários motivos, não podemos obter essas informações do servidor. Por enquanto, suponha que o servidor travou ou que o cabo Ethernet foi retirado da parte traseira dele.
A lista é então mostrada ao usuário para que ele faça o que quiser.
Os dispositivos Z têm praticamente o mesmo hardware, embora os mais antigos tenham versões mais antigas do sistema Linux e placas-mãe e NICs mais antigas, como seria de esperar.
Idealmente, seria bom simplesmente colocar um script bash em cada unidade e executá-lo, mas não sei o suficiente sobre ferramentas de rede para saber se essa é uma perspectiva realista.
Responder1
digitalizar com nmap, ou enviar um pacote de transmissão com nc, ou usar NetBIOS, ou abusar da tabela de roteamento ou de pacotes ARP.
Existem muitos tipos de tráfego de rede existentes que podem ser usados sem acionar um IDS.