En este breve entrada, mostraremos cómo listar y monitorear o ver la ejecución de los puertos TCP y UDP en tiempo real con un resumen de sockets en un sistema GNU/Linux.
Usaremos dos órdenes de terminal, netstat y ss. El primero está casi obsoleto pero los que estamos acostumbrados desde hace años seguiremos usándolo mientras nos acostumbremos a ss. Lo que ocurre es que ss ofrece información más detallada.
En términos de software, especialmente a nivel de sistema operativo, un puerto es una unidad que identifica un proceso/aplicación específico o un tipo de servicio de red y cada servicio de red que se ejecuta en un sistema GNU/Linux utiliza un protocolo particular.
Los más comunes son TCP (Transmission Control Protocol) y UDP (User Datagram Protocol)) y un número de puerto para comunicarse con otros procesos o servicios.
Para listar los puertos abiertos y la aplicación o servicio que lo está utilizado, usa una de estas dos órdenes de terminal.
sudo netstat -tulpn
O bien:
sudo ss -tulpn
A la izquierda observamos el protocolo del puerto, que como hemos indicado, puede ser TCP o UDP. En el centro se observa diversas direcciones IP, el estado del puerto y a la derecha el nº de puerto y la aplicación o servicio que lo está usando.
Fíjate ahora en el indicador -tulpn después de netstat y ss. Esto significa:
-t – Imprime el listado de los puertos TCP.
-u – Imprime el listado de puertos UDP.
-l – Imprime sólo los sockets de escucha.
-n – Muestra el número de puerto.
-p – Muestra el nombre del proceso/programa.
Sin embargo, para ver los puertos TCP y UDP en tiempo real, puedes ejecutar la herramienta netstat o ss con la utilidad watch como se muestra con la siguiente orden:
sudo watch netstat -tulpn
O bien:
sudo watch ss -tulpn
Para salir, presiona Ctrl + C.
Fuente: masgnulinux