En el trabajo, el equipo de infraestructura está implementando nuevas máquinas virtuales con RHEL7 instalado como sistema operativo base. Esta imagen en particular viene con la nmap-ncatversión de Netcat y no tiene instalado NMap. No podemos instalar nada en las máquinas.
Anteriormente, estábamos usando GNU Netcat, que tiene la -zopción de escanear un host / puerto remoto para verificar si estaba abierto. Algo como esto:
nc -z -v -w 3 remote.host.name 1234
¿Cómo puedo lograr la misma verificación con el nuevo ncatque no tiene la -zopción en un sistema donde no puedo instalar nmap?

-zingresar a Ncat, pero no estará en Red Hat por un tiempo, estoy seguro: github.com/nmap/nmap/pull/444Respuestas:
Bash le permite conectarse a puertos TCP y / o UDP redirigiendo a archivos especiales:
Entonces, para probar si puede conectarse al puerto 80 en www.example.com, lo siguiente debería funcionar:
Si el puerto está bloqueado, recibirá un mensaje de "conexión rechazada" o un tiempo de espera.
fuente
Aunque Ncat aún no es compatible
-z, puede obtener el mismo comportamiento con la redirección de shell:El tiempo de espera de conexión se puede ajustar con la
-wopción.EDITAR: Ncat 7.25BETA2 introdujo la
-zopción que funciona como lo hace con GNU netcat, pero solo en puertos únicos. Si necesita escanear rangos de puertos, debe usar Nmap.fuente
Ni netcat, telnet ni nmap son necesarios. Bash es más simple, portátil y más eficiente.
Cheque abierto
Cheque Abierto / Cerrado
Comprobación del rango de puertos
fuente