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-ncat
versió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 -z
opció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 ncat
que no tiene la -z
opción en un sistema donde no puedo instalar nmap
?
-z
ingresar 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
-w
opción.EDITAR: Ncat 7.25BETA2 introdujo la
-z
opció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