Além da resposta correta do @DopeGhoti usando o netcat, seu script poderia ser melhorado alterando algumas das suas opções do Nmap e adicionando algumas.
-
-sN
significa "varredura TCP NULL", que é um modo de varredura de soquete bruto incomum que requer privilégios de root. Ele também tem a propriedade estranha de apenas rotular portas como "fechadas" ou "não filtradas", mas nunca "abertas". Você provavelmente deseja uma varredura normal do TCP Connect, usando a opção-sT
. - O Nmap tentará fazer uma pesquisa de nome reversa (
PTR
) por padrão. Evite esse atraso desnecessário com a opção-n
. - O uso da saída de tela normal do Nmap em um script não é recomendado, mesmo para algo simples, porque está sujeito a alterações entre as versões. Para um formato de saída estável e analisável por máquina, use grepable (
-oG
) ou XML (-oX
) . -
-PN
é uma ortografia antiga de (descontinuada em 2010) de-Pn
. Ele pula a fase de descoberta do host, então provavelmente é uma boa ideia para o seu script.
Exemplo com todas essas alterações:
nmap -n -Pn -sT -p 9292 -oG - | grep '/open/'