En este artículo vamos a explicar como chequear los puertos que están abiertos en nuestro linux, sabiendo que los estados de los puertos pueden ser, abierto, filtrado, cerrado o sin filtro, y entendemos por puerto abierto a aquel que una aplicación está usando o escuchando conexiones. Aclaro que voy a correr todo como root, podes usar sudo pero a fines prácticos con permisos root.
1- Comando Netstat
Este comando no esta en Debian 9, pero lo podemos instalar instalar el paquete net-tools que contiene netstat y otras herramientas:
apt install net-tools
Una vez instalado, ya podemos lanzarlo:
netstat -lntup
- -l muestra los puertos de escucha
- -t muestra las conexiones TCP
- -u muestra conexiones UDP
- -p nombre de la aplicación/programa en el puerto
- -n muestra valores numéricos en vez de mostrar nombre en Local Address.
En el caso de querer buscar un servicio en particular hacemos:
netstat -lntup | grep "exim4"
Para muscar por un determinado puerto
netstat -lntup | grep ": 1205"
2- Comando ss
Es similar a netstat, veamos un ejemplo
ss -lntu
3- Comando NMAP
Este comando es muy amplio y debemos instalarlo.
apt install nmap [Debian] yum install nmap [CentOS]
nmap -n -PN -sT -sU -p- localhost
4- Comando lsof
Para mostrar los puertos de red usaremos el parámetro -i.
lsof -i
Para el caso de buscar un puerto en particular le agregamos : puerto
lsof -i: 80