Redes

10 formas de verificar los puertos en Linux para ayudar a solucionar los problemas de su sistema

linux-10-resolución de problemas
Imagen: Julien Tromeur/Adobe Stock

Las redes son la columna vertebral de muchas tecnologías y, si bien los dispositivos independientes tienen un valor significativo debido a su poder de procesamiento local, el sustento detrás de las operaciones comerciales involucra las comunicaciones. Es decir, tener sistemas y dispositivos que se comuniquen entre sí a través de una red para acceder o compartir datos, mantener la seguridad y monitorear las operaciones.

Cuando se usa TCP/IP, el proceso de verificar los puertos para asegurarse de que estén configurados, escuchando y aceptando el tráfico es un gasto estándar para los administradores de redes y sistemas. Los puertos están asociados con procesos que se ejecutan en el sistema de destino, como servidores web, servidores de correo electrónico, controladores de dominio de Active Directory y otros recursos centralizados. La recopilación de información sobre ellos es fundamental para la función de comunicación adecuada.

VER: 30 cumpleaños de Linux: Celebrando el sistema operativo de código abierto (PDF gratuito) (Tecnopedia)

Aquí hay 10 formas en que puede usar Linux para usar puertos para operaciones de solución de problemas y mantenimiento.

Tabla de Contenidos

Cómo ver el protocolo y el puerto asociado con un servicio dado

Este comando puede mostrarte una guía de referencia que te indicará el protocolo y el puerto que utiliza cualquier servicio (en teoría), en caso de que estés buscando más información. No le muestra lo que está escuchando activamente, pero se usa para ayudar a reducir lo que puede o debe usarse para una función determinada (como FTP o SSH).

correr:

cat /etc/services | less

El resultado mostrará una extensa lista de docenas de servicios y los puertos asociados con ellos para ayudarlo como punto de referencia.

Cómo verificar qué puertos están conectados activamente desde o hacia el sistema local

atropellar ss comando y verá una lista de puertos a los que un sistema en particular está conectado de forma local o remota: los detalles dependerán de los sistemas y características involucradas.

Cómo escanear un sistema remoto en busca de puertos abiertos usando nmap

Este utilidad nmap, también conocido como ncat, es una práctica navaja suiza para Linux y Windows que se puede usar para ver qué puertos están abiertos en un sistema remoto. Tenga en cuenta que el escaneo de puertos puede llamar la atención de los equipos de seguridad, así que hágalo solo para fines comerciales autorizados.

Suponga que desea ver qué puertos están abiertos en el sitio web de sistemas remotos de Microsoft.

En Linux, ejecute:

nmap microsoft.com

El resultado mostrará puertos abiertos en ese host, similar a lo siguiente:

Starting Nmap 7.92 ( ) at 2023-05-05 15:32 Eastern Daylight Time

Nmap scan report for microsoft.com (20.81.111.85)

Host is up (0.018s latency).

Other addresses for microsoft.com (not scanned): 20.84.181.62 20.103.85.33 20.53.203.50 20.112.52.29

Not shown: 998 filtered tcp ports (no-response)

PORT    STATE SERVICE

80/tcp  open  http

443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 47.51 seconds

Para verificar un puerto específico (por ejemplo, 443), ejecute nmap -p 443 microsoft.com.

Puede verificar múltiples puertos como 80 y 443 nmap -p 80,443 microsoft.com.

Cómo verificar el sistema local para ver qué aplicación está asociada con el puerto

Suponga que desea ver que una aplicación local está escuchando en el puerto 8443.

correr:

netstat -tulpn | grep 8443

Esto devolverá el ID del proceso (PID) como 8971 (puede haber varios PID) y el nombre de la aplicación (Java en este caso).

Cómo matar una aplicación o servicio asociado con un puerto específico

Esto puede ser útil para aplicaciones o servicios que no reconoce y sospecha que pueden ser maliciosos. Siga el comando anterior para obtener el PID, luego ejecute:

kill -9 (PID)

Repita según sea necesario para cada PID para eliminar el proceso.

Cómo usar telnet para verificar un sistema remoto para ver si un puerto está escuchando y puede conectarse

Suponga que desea ver si un sistema remoto llamado host.company.com está escuchando en el puerto 443 y puede conectarse a él.

correr:

telnet host.company com 443

Si ve una respuesta Conectado, el host está escuchando en ese puerto y puede conectarse a él.

Si obtiene un error de conexión rechazada o una conexión agotada, el host no está escuchando, el acceso a ese host puede estar bloqueado o no puede comunicarse con el host (verifique el acceso del firewall).

Cómo verificar un sistema remoto sin telnet para ver si un puerto está escuchando y puede conectarse

No todos los sistemas tienen instalado telnet y, aunque generalmente puede instalarlo desde el repositorio de yum con yum install telnet, a veces el repositorio no contiene el paquete o el sistema está bloqueado y no puede instalar ningún software. También puede tener prisa por instalar yum. Suponga que desea ver si el host con IP 10.37.39.141 está escuchando en el puerto 636:

echo > /dev/tcp/10.37.39.141/636

Irónicamente, si no obtiene una respuesta, en realidad es algo bueno y significa que la visita funciona.

Si obtiene un error de conexión rechazada o una conexión agotada, el host no está escuchando, el acceso a ese host puede estar bloqueado o no puede comunicarse con el host (verifique el acceso del firewall).

Cómo usar curl para verificar un sistema remoto para ver si un puerto TCP está escuchando

Esto logra el mismo resultado que el paso anterior, pero de una manera conveniente para las aplicaciones de rizos.

Suponga que desea ver si el host con la dirección IP 10.37.34.21 está escuchando en el puerto 16667:

correr:

curl -v telnet://10.37.34.21:16667

Si ve una respuesta Conectado, el host está escuchando en ese puerto y puede conectarse a él.

Si obtiene un error de conexión rechazada o una conexión agotada, el host no está escuchando, el acceso a ese host puede estar bloqueado o no puede comunicarse con el host (verifique el acceso del firewall).

Tenga en cuenta que esto solo se aplica a los puertos TCP.

Cómo verificar qué certificado SSL está escuchando en un puerto

Este es uno de mis favoritos y ha sido mi salvavidas durante los reemplazos de certificados SSL para asegurarme de que todo se haga bien.

Suponga que tiene un servidor llamado splunk.company.com con un certificado SSL adjunto al puerto 8000 que acaba de reemplazar y desea confirmar que existe.

correr:

openssl s_client -connect splunk.company.litle.com:8000 2>/dev/null | openssl x509 -noout

Esto devolverá los detalles completos del certificado SSL, como CN y emisor.

Cómo comprobar la fecha de caducidad de un certificado SSL que escucha en un puerto

Para establecer rápidamente que el servidor en cuestión tiene el certificado correcto adjunto al puerto, ejecute:

openssl s_client -connect splunk.company.litle.com:8000 2>/dev/null | openssl x509 -noout -dates

Esto devolverá una salida similar a la siguiente:

notBefore=May 31 21:46:06 2023 GMT

notAfter=May 31 21:56:06 2023 GMT

Teniendo en cuenta la información anterior, puede estar tranquilo sabiendo que se cuenta con el certificado correcto.

LEER  Cómo agregar un grupo a la solución de almacenamiento conectado a la red TrueNAS SCALE

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba