Cargando

Ir a contenido


 


Cómo encontrar y ver puertos abiertos en sistemas Linux

Aquí tienes la forma de comprobar los puertos abiertos o cerrados con comandos en sistemas Linux (Ubuntu, Debian, Fedora y CentOS).


Escrito por el ene 12 2017 11:12 linux ubuntu debian



En la gestión cotidiana de diversos entornos de sistemas operativos debemos siempre estar atentos a los diferentes parámetros de los equipos bajo nuestro cargo o soporte con el fin de monitorear amenazas, encontrar errores e incrementar la seguridad de los mismos con el fin de evitar tareas administrativas y de gestión innecesarias.

 

Uno de los temas que muchas veces pasamos inadvertidos está asociado a los puertos que usan nuestros equipos para la respectiva comunicación en la red y esto puede convertirse en una vulnerabilidad critica en el correcto funcionamiento de los sistemas operativos.

 

Hoy veremos en detalle cómo conocer los puertos abiertos en diversas distros de Linux con el fin de comprender y conocer que puertos están “escuchando” la información.

 

Qué son los puertos abiertos en Linux
En primer lugar debemos comprender que un puerto no es abierto automáticamente por la distro de Linux, es un determinado programa que lo abre para cumplir con una tarea específica.

 

De modo que si deseamos cerrar un puerto deberíamos sencillamente cerrar el programa que usa dicho puerto. O cerrar directamente el puerto a través de Firewall del sistema.

 

Entre los puertos más conocidos tenemos:

  • 21: Puerto de FTP
  • 80: Puerto del HTTP
  • 25: Puerto del SMTP

 

Un puerto es básicamente un numero de 16 bits comprendido entre 0 y 65535 el cual diferencia un programa a otro en el sistema operativo.

 

La categoría de los puertos puede ser clasificada de la siguiente manera:

  • 0-1023: Son los puertos del sistema.
  • 1024-49151: Son puertos registrados o puertos de usuario.
  • 49152-65535: Son puertos dinámicos o puertos privados.

 

Como podemos ver tener un claro conocimiento de los puertos abiertos en las diversas distros de Linux nos permiten tener un control centralizado sobre qué acción está siendo ejecutada por el equipo a nivel interno.

 


1. Verificar puertos abiertos en Ubuntu


En primer lugar para ver el listado completo de las aplicaciones y su respectivo protocolo podemos usar el siguiente comando:
cat /etc/services

 

Podemos ver en detalle la aplicación, el número de puerto y el grupo al cual pertenece. También es posible usar el siguiente comando que nos permite ver de forma más detallada cada protocolo:

cat /etc/services | less

 

Allí basta con pulsar Enter para ir desplazando hacia abajo la lista de los comandos.

 

 

Listar determinados puertos Ubuntu

Es posible que deseemos visualizar un grupo determinado de puertos en Ubuntu, por ejemplo, si deseamos listar únicamente los puertos TCP y UDP usaremos el siguiente comando:
netstat -lntu
Obtendremos el siguiente resultado:

 

 

Gracias a netsat podemos ver las estadísticas de la red en tiempo real y los demás parámetros agregados son:

  • -l: Permite ver exclusivamente los puertos de escucha
  • -n: Permite ver el número de puerto
  • -t: Visualiza los puertos TCP
  • -u: Visualiza los puertos UDP

 

Podemos usar el siguiente comando para visualizar todos los puertos que están “escuchando”, es decir, abiertos.

Netstat -l

 

También podemos usar los siguientes comandos:

 

netstat -lt
Listar todos los puertos TCP abiertos

 

netstat -lu
Listar todos los puertos UDP abiertos

 

netstat -au
Listar todas las conexiones UDP

 

Un último comando útil en Ubuntu 16 es el siguiente:

ss -lntu
El parámetro SS permite ver los respectivos sockets en el sistema, en este caso hemos agregado los valores -lntu para desplegar los sockets de los puertos TCP y UDP.

 


2. Verificar puertos abiertos en CentOS 7


En CentOS 7 una de las formas más prácticas como podemos ver los puertos abiertos es usando nmap, para ello debemos ejecutar el siguiente comando:
Nmap localhost
El resultado obtenido será el siguiente:

 

 

Podemos ver que puertos tenemos abiertos en el momento, el número de puerto y el servicio que lo está abriendo, del mismo modo podemos ver cuantos puertos están cerrados.

 

Nota
En caso de no tener instalado nmap podemos usar el siguiente comando para instalarlo en CentOS 7:
sudo yum install nmap

 

Usando Nmap podemos visualizar los puertos abiertos en un sitio web desde CentOS 7, por ejemplo para ver los puertos abiertos de Solvetic.com usaremos el siguiente comando:

nmap 178.33.118.246

 

Podemos ver número, estado y tipo de servicio del puerto.

 

Adicionalmente podemos usar el comando netstat para ver en detalle el estado de los puertos en CentOS 7, para ver el listado completo de puertos usaremos el siguiente comando:

netstat -l

 

 

Ver el estado de un puerto en especifico CentOS 7

En CentOS 7 podemos usar la siguiente sintaxis para ver el estado de determinados tipos de puertos:
netstat -lt(Iniciales de puerto)
Por ejemplo, para ver exclusivamente los puertos TCP y UDP usaremos el siguiente comando:
netstat -ltup

 

Si deseamos ver solo los puertos TCP usaremos:

netstat -ltp

 

Finalmente en CentOS 7 podemos hacer uso de NetCat para determinar el estado de un puerto, para ello debemos usar la siguiente sintaxis:

nc -vn 1 (Dirección IP) (Numero de puerto)
En este ejemplo validaremos si el puerto 21 de la dirección IP 192.168.0.29 está o no abierto, para ello ingresamos lo siguiente:
nc -vn 1 192.168.0.29 21
El resultado obtenido será el siguiente:

 

 

Si el mensaje retornado es Connection refused indica que el puerto esta cerrado. Si el mensaje desplegado es Connected significa que el puerto está abierto.

 

 

 


3. Verificar puertos abiertos en Debian 8


En Debian 8 el comando básico para verificar los puertos abiertos es el siguiente:
Nmap -sT -O localhost

 

Nota
Este comando debe correrse con privilegios de root.

 

 

Validar un determinado puerto en Debian 8

Podemos usar el comando netcat (nc) para realizar la validación de un puerto en particular del equipo, para esto es importante conocer la dirección IP de la máquina.
Una vez tengamos la IP, en este caso 192.168.0.31, usaremos el siguiente comando:
nc -zv 192.168.0.31 25

 

En este caso hemos recibido el mensaje Connection refused el cual indica que el puerto 25 en la IP indicada se encuentra cerrado, si el mensaje desplegado es Connected indica que el puerto está abierto.

 

 


4. Verificar puertos abiertos de sitio web desde Debian 8


En Debian 8 es posible usar nmap para consultar los puertos abiertos de un determinado sitio web.

 

Para ello usaremos la siguiente sintaxis:

nmap -v -A (Sitio web)
Por ejemplo veremos que puertos abiertos tiene el sitio web Solvetic.com:

 

 

Podemos ver que el resultado nos indica número de puerto, estado y dirección. Otra de las alternativas que nos ofrece Debian 8 para verificar los puertos abiertos de un servicio en exclusivo podemos usar el siguiente comando:

netstat -lt(Inicial protocolo)
Por ejemplo para ver los puertos TCP usaremos el siguiente comando:
netstat -ltp

 

Así mismo podemos usar el comando netstat -l para obtener un listado completo de todos los puertos abiertos en Debian 8.

 


5. Verificar puertos abiertos en Fedora 25


Para verificar los puertos abiertos en Fedora 25 podemos usar alguna de las opciones mencionadas en las distros anteriores con total confianza.

 

Para ver un listado completo de todos los puertos abiertos podemos usar dos opciones:

netstat -l
nmap -sT -O localhost
En ambos casos el resultado nos indicará que puertos están abiertos actualmente en Fedora 25.

 

 

 

Verificar servicios determinados

Para verificar esto podemos usar el comando netstat seguido del respectivo parámetro, por ejemplo, para validar los puertos TCP podemos usar el siguiente comando:
netstat -ltp

 

Del mismo modo podemos agregar el parámetro del puerto requerido para su respectiva consulta.
Si deseamos verificar los sockets que están siendo usados por un puerto en particular podemos usar el siguiente comando:

ss -lnt  (Listar los sockets usados por TCP)

 

De esta manera contamos con diversas formas de verificar todos los puertos o un puerto en específico cuyo estado sea en “escucha” para de este modo determinar si este puerto debe o no estar abierto y en caso de no ser así tomar medidas preventivas.

 

¿Te ha gustado y ayudado este Tutorial?
Puedes premiar al autor pulsando este botón para darle un punto positivo
  • -
  • 0
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado ene 12 2017 11:12
  •   Actualizado ene 12 2017 11:24
  •   Visitas 10.4K
  •   Nivel
    Avanzado



Tutoriales Relacionados


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
Demuestra que eres experto!
  ESCRIBIR TUTORIAL
Suscribirse