Una de las tareas de soporte y gestión que podemos realizar de forma constante es comprobar los puertos TCP abiertos en el sistema ya que de esta forma podemos tener el control preciso sobre cual servicio está haciendo uso de dicho puerto.
Un puerto indica el punto final de cualquier comunicación de red y se asocia a un determinado programa o servicio del sistema operativo.
A continuación veremos cómo podemos conocer los puertos abiertos en sistemas operativos Linux y Windows.
1. Ver puertos abiertos en Linux
Podemos hacer uso de tres aplicaciones prácticas para ello, estas son:
Para su instalación podremos ejecutar los siguientes comandos:
sudo yum install net-tools (RedHat/ CentOS ) sudo apt install net-tools (Debian/ Ubuntu) sudo dnf install net-tools Fedora
Para su ejecución debemos conocer el número de puerto a analizar y usaremos el comando grep para desplegar la información usando la siguiente sintaxis:
netstat -ltnp | grep -w ':# de puerto'El resultado será el siguiente:
Los parámetros usados son:
- l: Indica a netstat que solo despliegue los puertos de escucha (Listening).
- t: Despliega solo las conexiones tcp.
- n: indica que despliegue direcciones numéricas.
- p: Permite visualizar el ID del proceso.
- grep: Despliega la coincidencia exacta.
sudo yum install lsof (RedHat / CentOS) sudo apt install lsof (Debian/ Ubuntu) sudo dnf install lsof (Fedora)Su ejecución comprende la siguiente sintaxis:
lsof -i :puerto
Podemos ver en detalle los datos del proceso, usuario, etc.
sudo yum install psmisc (Redhat / CentOS) sudo apt install psmisc (Debian/Ubuntu) sudo dnf install psmisc (Fedora 22 y superior)La sintaxis para su uso es la siguiente:
fuser # de puerto/tcp
Para encontrar el nombre del proceso usaremos la siguiente sintaxis:
ps -p PID -o comm=
De esta manera podremos conocer los puertos abiertos en Linux.
2. Ver puertos abiertos en Windows 10
Para conocer los puertos abiertos en sistemas operativos Windows debemos acceder al símbolo del sistema como administradores, clic derecho / Ejecutar como administrador, y en la ventana desplegada ejecutar la siguiente línea:
netstat -ab
Podemos ver información detallada como:
- Tipo de protocolo
- Nombre del protocolo
- Dirección local
- Servicio involucrado
- Estado del proceso
De forma alterna, Windows nos permite desplegar los resultados por PID lo cual simplifica la administración, en este caso debemos ejecutar la siguiente línea:
netstat -aon
Este será el resultado desplegado:
Podemos ver de forma mucho más organizada los resultados. Ahora, con este PID, podemos dirigirnos al Administrador de tareas y en la pestaña Detalles conocer cuál es el servicio involucrado:
Allí podremos conocer más acerca del servicio o finalizarlo de ser necesario. Con estos métodos podremos conocer los puertos abiertos en Linux o Windows.