¿Se pregunta cómo comprobar la conectividad entre dos puntos finales de la red?
Una de las tareas comunes para el administrador del sistema es comprobar la conectividad para solucionar problemas de red. Podría ser cualquier cosa como la aplicación no puede conectarse al servicio de backend, incapaz de obtener datos de la URL externa, verificar si el flujo se abre, etc.
Sea lo que sea, la siguiente utilidad / comandos le ayudará. Están probados en CentOS 7.x, y no veo ninguna razón para que no funcionen en otra distro de Linux.
Exploremos…
telnet
Uno de los comandos más utilizados para probar la conectividad esencial entre servidores, servidor a la IP de otro dispositivo de red. La sintaxis para el comando es fácil.
telnet $destinationIP $PORT
Digamos que usted quiere probar si puede conectarse al puerto 8080 en la dirección IP 10.0.0.1; entonces el comando sería.
telnet 10.0.0.1 8080
Si no hay ningún problema en la conexión, entonces usted debe ver el mensaje conectado.
Trying 10.0.0.1...Connected to 10.0.0.1.Escape character is '^]'.
Nota: si obtiene el comando no encontrado al ejecutar telnet, entonces necesita instalar telnet como expliqué aquí.
En la mayoría de los escenarios, telnet debería ayudar. Sin embargo, si necesita alguna otra opción entonces aquí hay algunas alternativas de telnet.
ncat o nc
Ncat (también conocido como nc) es una poderosa utilidad de red con muchas características como enlazar y aceptar una conexión, ejecutar comandos remotamente, escribir y leer datos, etc. Funciona en IPv4 e IPv6, ambos.
Para hacer una prueba simple para comprobar si el puerto está abierto o no, ejecutará lo siguiente.
nc -vz $HOSTNAME $PORT
Tomemos un ejemplo de probar el puerto 443 en geekflare.com.
# nc -vz geekflare.com 443Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 104.25.133.107:443.Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.#
Como se mencionó, también puede utilizar nc
para enlazar la conexión para escuchar en un puerto particular. Esto puede ser útil cuando usted no tiene servicios reales que se ejecutan, pero quiere asegurarse de que la conectividad existe.
Para comenzar a escuchar en un puerto:
nc -l $PORTNUMBER
Se vinculará el puerto en un número determinado.
Si ncat no está instalado, entonces puedes hacerlo con yum install nc
en servidores CentOS/RHEL.
wget
wget es un comando útil para descargar/probar HTTP, HTTPS y FTP. Si usted está trabajando como un ingeniero de la web o que a menudo se ocupan de la cuestión relacionada con la web a continuación, wget
es su amigo. Probar usando wget es sencillo.
wget $URL
Aquí tienes un ejemplo de prueba de tools.geekflare.com
# wget tools.geekflare.com--2019-05-09 20:40:01-- http://tools.geekflare.com/Resolving tools.geekflare.com (tools.geekflare.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ...Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:80... connected.HTTP request sent, awaiting response... 301 Moved PermanentlyLocation: https://tools.geekflare.com/ --2019-05-09 20:40:01-- https://tools.geekflare.com/Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:443... connected.HTTP request sent, awaiting response... 200 OKLength: unspecified Saving to: 'index.html.2' 15,139 --.-K/s in 0.001s 2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved #
Si muestra conectado significa que no hay ningún problema de conectividad.
curl
Un curl es una herramienta multipropósito.
¿Sabes que puedes telnetar un puerto usando curl?
Bueno, ahora ya lo sabes.
curl -v telnet://$IP:$PORT
Lo siguiente es un ejemplo que funciona.
# curl -v telnet://chandan.io:443* About to connect() to chandan.io port 443 (#0)* Trying 104.31.68.106...* Connected to chandan.io (104.31.68.106) port 443 (#0)
Y, cuando no hay puerto de escucha o problema de firewall, entonces verás que lo intentas…
# curl -v telnet://chandan.io:4434* About to connect() to chandan.io port 4434 (#0)* Trying 104.31.68.106...
También puedes usar curl para descargar los datos. Soporta múltiples protocolos – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER, etc.
nmap
Una herramienta popular con cientos de características. A menudo se considera como una herramienta de seguridad. nmap le permite probar una sola IP / puerto o en el rango.
Para probar un solo puerto
nmap -p $PORT $IP
Un ejemplo de la prueba del puerto 443 en siterelic.com
# nmap -p 443 siterelic.comStarting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTCNmap scan report for siterelic.com (104.27.174.50)Host is up (0.0079s latency).Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32PORT STATE SERVICE443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 0.13 seconds#
Mira la columna de estado. Si ves abierto significa que la conexión está bien. Y, si el estado es filtrado significa que la conectividad no existe.
Conclusión
telnet está desapareciendo en la última versión de Linux. Gracias a la alternativa de telnet anterior.
Si eres nuevo en Linux y buscas aprender entonces mira este curso de Udemy.