Certamente na internet existem milhares e milhares de ferramentas que fazem esse tipo de serviço (de forma mais rápida, até), buscando vários protocolos, etc. Mas ainda assim, quis fazer isso. Para mostrar como Shell Script pode ser útil e abrangente, desde que usada da forma adequada.
O que é um port scanner?
Um port scanner (scanner de porta) é uma ferramenta com o objetivo de mapear as portas TCP e UDP. Neste teste ele identifica o status das portas, se estão fechadas, escutando ou abertas.
Wikipédia
Existem programas desse tipo para os mais diversos sistemas operacionais. Um dos mais conhecidos é o nmap.
Mas o que o seu projeto tem de diferente?
Ele utiliza funções do próprio Bash. O teste das porta é feito utilizando o seguinte comando:
echo >/dev/tcp/IP/PORTA
Caso o comando seja executado, significa que a porta do determinado IP está aberta. Se o comando demorar a responder, isso significa duas coisas:
- O IP pode estar fora do ar
- A porta pode estar fechada (código de retorno 1) ou filtrada (código de retorno 143).
Através dos códigos de retorno, dá para saber se a porta está fechada ou filtrada.
O projeto está hospedado no GitHub. Lá você poderá visualizar o código-fonte, baixá-lo e até melhorar o que já está lá.
🙂