Podemos usar lo siguiente para probar el puerto VIA de telnet; en el siguiente ejemplo probamos el puerto 6667:
[root@kafka03 ~]# telnet kafka02 6667
Trying 103.64.35.86...
Connected to kafka02.
Escape character is '^]'.
^CConnection closed by foreign host
Dado que en algunas máquinas no podemos usar telnet (por razones internas), ¿cuáles son las alternativas para verificar puertos, como telnet?
linux
networking
curl
telnet
yael
fuente
fuente
telnet
utilidad desactiva el comportamiento del protocolo si se proporciona un puerto en la línea de comando. Luego se comporta de manera similarnetcat
, solo con la detección de final de línea.Respuestas:
Si usa Bash Shell, puede usar su función para verificar si un puerto está abierto o cerrado:
Tenga en cuenta que si el servidor no responde después de 1 segundo, se alcanza el tiempo de espera, los comandos se
'
interrumpen y, por lo tanto, no se imprime nada.fuente
127.0.0.1
, lo que hace que parezca que solo funciona con el bucle invertido.(timeout 1 bash -c '</dev/tcp/www.google.com/444 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
No imprime nada para mí.(timeout 1 bash -c '</dev/tcp/www.google.com/444' && echo PORT OPEN || echo PORT CLOSED) 2>/dev/null
funcionó como se esperaba (impresiones CERRADO PUERTO). Tenga en cuenta la ubicación de la'
.netcat es una opción.
-z
= establece nc para simplemente escanear en busca de demonios, sin enviarles ningún dato-v
= habilita el modo detalladofuente
nc
comporta mucho comotelnet
.El estándar de oro es, sin duda,
nmap
( nmap.org ), pero generalmente requiere root para "mejores resultados". Sin embargo, hay binarios independientes disponibles y es posible ejecutarlo como un usuario sin privilegios, solo con capacidades degradadas. Por ejemplo, en lugar de unasyn
exploración oculta (-sS
), recurre a una exploración de conexión TCP estándar (-sT
). Esto es funcionalmente equivalente a netcat, pero con las buenas capacidades aceleradas de múltiples hosts que tiene.Un ejemplo:
fuente
Si Perl es una opción, puede usar su
IO::Socket
módulo para probar una conexión a un host y puerto en particular; la secuencia de comandos a continuación codifica TCP como protocolo (que es lo que usaría telnet):Salida de muestra desde un puerto cerrado:
Salida de muestra de un puerto abierto:
fuente
Se puede usar el archivo de dispositivo / dev / tcp y / dev / udp en lugar de telnet. Ejemplo: echo 0> /dev/tcp/103.64.35.86/6667. Luego verifique el estado de salida usando #echo $? . Si el estado de salida es 0, el puerto está abierto. Si el estado de salida no es cero, el puerto está cerrado. Para verificar los paquetes udp, use echo 0> /dev/udp/103.64.35.86/6667.
fuente
Este es otro comando que puedes usar.
fuente