Melhor maneira de determinar se os IPs em uma sub-rede estão ativos ou inativos no Linux

4

Eu tenho um método simples que estou usando em quatro sub-redes para determinar quais IPs registrados estão ativos e ativos e quais podem ser removidos.

Inicialmente, faço uma iteração na lista de nomes de domínio com este comando:

sudo nmap -sS -O -v oN $filename $name

$filename é o meu arquivo de saída para esse IP e $name é o nome de domínio que foi lido.

A partir desse comando, para todos os IPs que relataram 'host down', eu corro este comando:

sudo nmap -Pn -sS -O -v -oN $filename $name

Note que a única diferença aqui é que agora estou assumindo que o host está funcionando, só para ver o que volta.

Em todos os casos que vi até agora, no entanto, todas as portas que são verificadas são filtradas, e como o host é assumido como ativo, não tenho como verifique se ele está ativo depois que a segunda varredura for executada.

Alguma outra ideia?

    
por UnworthyToast 22.09.2016 / 21:01

2 respostas

3

1) Espero que você não precise coletar passivamente essas informações.

Você pode ouvir o tráfego com algo como tcpdump, wireshark, logging de firewall, etc ... ao longo do tempo, reunindo informações conforme os sistemas transmitem dados ou fazem suas coisas.

2) Comutadores

Se você tiver interruptores legais, eles podem lhe dizer um monte.

3) ARP

Os sistemas com firewall ainda podem responder a solicitações de ARP, para que você possa fazer com que eles se mostrem. Você realmente só precisa saber o IP está sendo usado certo? Não se responder a qualquer coisa.

Talvez isso funcione ...

# arping -I enp0s31f6 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.122 enp0s31f6
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E]  2.143ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E]  2.011ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E]  2.006ms
Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E]  2.090ms
^CSent 4 probes (1 broadcast(s))
Received 4 response(s)

Ou mais em combinação usando nmap ou algo para tentar uma conexão, então registrando a resposta ARP ao mesmo tempo com wireshark, etc ....

Melhor por último, o nmap tem o modo Arp. Eu nunca tentei isso.

link

4) DHCP

Se algum endereço for DHCP, as concessões DHCP serão exibidas quando forem renovadas pela última vez.

    
por 22.09.2016 / 21:30
0

Se o Nmap estiver reportando "host down" então você pode assumir com uma alta probabilidade que não há host usando esse endereço IP. Os testes que foram escolhidos para o descoberta de host padrão receberá uma resposta da grande maioria dos sistemas em rede e é ainda melhor para sistemas conectados diretamente (mesmo link de rede) devido ao uso de probes ARP, que são um pré-requisito para a comunicação IP em links no estilo Ethernet. Ou seja, se não responder a uma solicitação ARP, não poderá ter um endereço IP.

Você diz: "já que o host é considerado como ativo, não tenho como verificar se ele realmente está funcionando", mas a verdade é que provavelmente ele não está ativo. Na verdade, se todas as portas são filtradas, é quase conclusivamente para baixo. Para todos os efeitos, nada está disposto a se comunicar usando esse endereço IP, que é tudo o que "baixo" significa.

Por fim, suas varreduras serão muito mais rápidas se você permitir que o Nmap varra hosts em paralelo, fornecendo várias especificações de destino na linha de comando ou através da opção -iL input file em vez de usar um loop de shell para varrer cada um individualmente. Mesmo se você estiver usando o backgrounding ( & ) para lançar processos nmap paralelos, você não poderá superar a velocidade do próprio paralelismo adaptativo do Nmap.

    
por 23.09.2016 / 19:05