cledsonmedeiros
(usa Kali)
Enviado em 23/01/2018 - 23:10h
Olá, estou iniciando nesse mundo do shell script e estou empacado em uma parte... Estou criando um script que faz um scan de hosts ativos na rede em que estou conectado. A princípio, estou querendo listar apenas os endereços de ip. Segue o script abaixo:
echo
echo "Escaneando escopo da rede..."
echo
IP=$(ip route | awk '/default/ { print $3 }')
MASK=$(ip route | sed -n "2p" | cut -f2 -d"/" | head -c 2)
echo -e "Escopo da rede: $red $IP$blue/$MASK $transparent"
POT=$((32 - $MASK))
IP_NUMBER=$(((2 ** $POT) - 1 ))
echo -e "Número de IP's possíveis: $red$IP_NUMBER$transparent"
echo
echo "Procurando hosts ativos... Aguarde o término do scan."
echo
SCAN=$(nmap -sP $IP-$IP_NUMBER | grep "Nmap scan report" | awk -F " " '{print $5}' | tee /root/.temp.txt)
echo -n "$SCAN"
echo
echo
HOSTS_UP=$(cat /root/.temp.txt | wc -l)
echo "Hosts ativos: $HOSTS_UP"
*FIM*
O script detecta o ip do gateway e máscara de rede, o número de ip's possíveis em relação a máscara de rede, os ip's que estão online e o número de ip's detectados.
Como vocês podem ver, eu armazenei um um arquivo chamado ".temp.txt" onde os ip's ficam armazenados. por exemplo:
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
Eu gostaria de alguma ideia pra criar uma lista de seleção que ficasse da seguinte maneira:
Selecione o IP:
[1] 192.168.0.1
[2] 192.168.0.2
[3] 192.168.0.3
[4] 192.168.0.4
e que eu selecionasse o IP apertando o número da lista e armazenasse o mesmo em uma variável, por exemplo: apertando 1 o IP escolhido seria 192.168.0.1
Pesquisei bastante mas não consegui fazer como queria. Alguém poderia me ajudar?
PS: este é meu primeiro post, desculpe se fiz algo errado.