Este sitio usa cookies, propias y de terceros.
Si se continúa con nosotros entendemos que se acepta nuestro uso de cookies.

  • Este sitio usa cookies. Para continuar usando este sitio, se debe aceptar nuestro uso de cookies. Más información.

Linux Cómo comprobar los puertos en uso en Linux

La primer comunidad de usuarios inclusiva de Linux en español. Todo lo que linux tiene para vos encontralo acá.

Pato

Lic. Desarrolo de Software
Miembro del equipo
Administrador
Moderador
9 May 2018
142
30
Argentina, Buenos Aires
www.latinlinux.com
Distro
Manjaro, Mint, Kubuntu
Correo
joaquin.decima@gmail.com
Telegram
@PatoJAD
#1
Es importante en algunos casos saber si tenemos algún puerto ocupado y hoy te traemos la forma de chequearlos para poder saber si tenes alguna app interfiriendo con otra!

Conocer qué puertos están en uso en un sistema es una tarea básica para cualquier administrador. Desde la configuración de interfaces a la protección contra intrusiones y pasando por cualquier resolución de problemas que podamos imaginar, debemos ser capaces de comprobar si un puerto está prestando algún tipo de servicio en nuestro entorno.

Imaginad la situación en que habéis instalado en vuestro sistema el servicio CUPS de impresión y desconocéis si se ha iniciado correctamente el servicio y levantado su puerto correspondiente 631 o su opcional 515. En esta guía os mostraremos tres comandos básicos para detectar los puertos que emplea un sistema y cuál es su estado.

A continuación haremos un repaso de 3 comandos básicos que resultan especialmente útiles en la administración de cualquier sistema. Se trata de lsof, netstat y nmap, utilidades que ejecutaremos desde la consola de terminal y con privilegios de root.


Comando lsof

El comando lsof es el más básico de cuantos os prestamos y, siendo nativo de Linux, la base que todo usuario debería conocer. Para conocer los puertos abiertos en el sistema mediante este comando, deberéis introducir una secuencia como la siguiente, que os mostrará diversa información donde destacaremos: el nombre de la aplicación (por ejemplo, sshd), el socket del programa (en este caso la dirección IP 10.86.128.138 asociada al puerto 22 que está a la ESCUCHA) y el identificador del proceso (que sería 85379).

sudo lsof -i -P -n
sudo lsof -i -P -n | grep LISTEN






Comando netstat

El comando netstat varía ligeramente en su sintaxis respecto al anterior pero presenta unos parámetros mucho más sencillos de memorizar gracias a una sencilla palabra mnemotécnica. A partir de ahora no os olvidéis de la palabra putona, que hace referencia a las siguientes características:

  • p: Muestra las conexiones para el protocolo especificado que puede ser TCP o UDP.
  • u: Lista todos los puertos UDP.
  • t: Lista todos los puertos TCP.
  • o: Muestra los timers.
  • n: Muestra el numero de puerto.
  • a: Visualiza todas las conexiones activas del sistema.
De este modo, introduciendo el comando y filtrándolo con un pipe podemos obtener información sobre un determinado puerto.


netstat -putona | grep numero-de-puerto





Comando nmap

Nmap es una utilidad que nos permite realizar multitud de escaneos en nuestro sistema y uno de ellos, el de puertos abiertos en el equipo. Para ejecutarlo debemos introducir una secuencia del tipo nmap -sX -O Y, tomando X el valor T o U para conexión TCP o UDP respectivamente y el valor Y la dirección IP de nuestra máquina (o localhost para abreviar). Echad un vistazo al siguiente ejemplo.


sudo nmap -sU -O localhost
sudo nmap -sT -O 192.168.0.1




Fuente: Ubunlog