Sem usar nenhum programa externo, usando apenas a linguagem bash, é possível realizar uma varredura de porta em um host remoto?
Depois de examinar os recursos internos do bash, eu diria: não. Mas talvez haja soluções alternativas ou comandos possíveis adicionais que possam ser executados que não estejam nos builtins do bash.
Você pode usar o suporte de conexão TCP do Bash para verificar se há portas abertas:
irá verificar se uma conexão pode ser aberta para a porta
${PORT}
no${IP}
.O teste em si é realizado tentando o redirecionamento para
/dev/tcp/${IP}/${PORT}
; redirecionar o erro padrão para/dev/null
(2>/dev/null
) oculta a mensagem de erro resultante quando a porta de destino não está acessível.Isso pode ser usado em um loop para varrer todas as portas.