Cómo comprobar los puertos abiertos en Debian 10
Comprobar los puertos es muy importante para verificar qué puertos están abiertos y a la escucha en su sistema. Los servicios en escucha pueden ser un punto de entrada para los hackers que pueden aprovechar las vulnerabilidades de los sistemas para acceder o comprometer un sistema. No es recomendable mantener un servicio en funcionamiento si no lo estás utilizando. Además, consume recursos adicionales. Por lo tanto, es necesario mantener un control continuo de los puertos abiertos en su sistema.
En este artículo, vamos a explicar cómo comprobar los puertos abiertos en el sistema Debian 10 utilizando cuatro formas diferentes.
Nota: Los comandos y procedimientos discutidos en este artículo han sido probados en un sistema Debian 10 Buster.
Comprobar los puertos abiertos usando el comando ss
El comando ss (socket statistics) en Linux proporciona información significativa sobre las conexiones de red, incluyendo los puertos abiertos y los sockets a la escucha. Obtiene esta información del kernel de Linux. Cuando el comando ss se utiliza sin ningún argumento en la línea de comandos, muestra información detallada sobre todas las conexiones actuales, independientemente del estado en que se encuentren. El comando ss es el sustituto del comando netstat. La orden ss está incluida en el paquete iproute2 y está disponible en el sistema Debian. Sin embargo, en cualquier caso, si no lo encuentra en su sistema, puede instalarlo fácilmente.
Abra el Terminal en su sistema Debian 10, y emita el siguiente comando en él:
$ sudo apt install iproute2
Para comprobar los puertos abiertos en su sistema Debian, emita el siguiente comando en el Terminal:
$ sudo ss -tulpn
Donde:
- -t, -tcp: Para ver todos los sockets TCP
- -u, -udp: Para ver todos los sockets UDP
- -l, -listening: Para ver todos los sockets de escucha
- -p, processes: Para ver qué procesos están usando sockets
- -n, -numérico: Utilice esta opción si desea ver un número de puerto en lugar de los nombres de los servicios
En la salida, verá una lista de todas las conexiones TCP y UDP en escucha.
La salida anterior muestra que sólo el puerto 22 está abierto en el sistema.
Nota: Si está usando la opción -p o -processes con el comando ss, debe ser el usuario root o el usuario con privilegios sudo. De lo contrario, no podrá ver el número de identificación del proceso (PID) del proceso que se ejecuta en los puertos.
Comprobar los puertos abiertos utilizando el comando netstat
El comando netstat en Linux proporciona información sobre las conexiones de red actuales y las estadísticas. Netstat tiene casi las mismas opciones de comando que el comando ss. Para utilizar el comando netstat, deberá instalar las herramientas de red. Emita el siguiente comando en Terminal para hacerlo:
$ sudo apt-get install net-tools
Una vez instalado, puede utilizar el comando netstat en su Terminal de Debian.
Para comprobar los puertos abiertos en su sistema Debian, emita el siguiente comando en él:
$ sudo netstat –tulnp
Donde:
- -t, -tcp: Para ver todos los sockets TCP
- -u, -udp: Para ver todos los sockets UDP
- -l, -listening: Para ver todos los sockets de escucha
- -p, processes: Para ver qué procesos están usando sockets
- -n, -numérico: Utilice esta opción si desea ver un número de puerto en lugar de los nombres de los servicios
La salida anterior muestra que sólo el puerto 22 está abierto en el sistema.
Nota: Si está utilizando la opción -p o -procesos con el comando netstat, debe ser usuario root o el usuario con privilegios sudo. De lo contrario, no podrá ver el número de identificación del proceso (PID) del proceso que se ejecuta en los puertos.
Comprobar los puertos abiertos utilizando el comando lsof
El comando lsof en Linux significa lista de archivos abiertos (ya que todo en Linux es un archivo incluyendo dispositivos, directorios, puertos, etc). Usando el comando lsof, puede buscar la información sobre los archivos que son abiertos por diferentes procesos.
El comando lsof está disponible en el sistema Debian. Sin embargo, en cualquier caso, si no lo encuentra en su sistema, puede instalarlo fácilmente utilizando el siguiente comando en Terminal:
$ apt-get install lsof
Para utilizar lsof para ver todos los puertos TCP a la escucha, emita el siguiente comando en Terminal:
$ sudo lsof -nP -iTCP -sTCP:LISTEN
La salida anterior muestra que sólo el puerto 22 está abierto en el sistema.
Comprobar los puertos abiertos utilizando la utilidad Nmap
Nmap es una utilidad de línea de comandos de Linux que se utiliza para realizar escaneos de sistemas y redes. Se utiliza sobre todo para la auditoría de la red y los escaneos de seguridad. No viene instalada por defecto en los sistemas Linux, sin embargo, puedes instalarla usando el siguiente comando en Terminal:
$ sudo apt install nmap
Después de ejecutar el comando anterior, el sistema podría pedirte confirmación de si quieres continuar la instalación o no. Pulsa y para continuar, después de eso, la instalación se iniciará en tu sistema.
Una vez instalado, puedes utilizar el Nmap para buscar puertos abiertos en tu sistema. Para ello, emite el siguiente comando en Terminal:
$ sudo nmap –sT –p-65535 ip-address
Como la dirección IP de nuestro sistema es 192.168.72.158, por tanto el comando sería: