Cargando



Cómo saber y ver puertos abiertos en Linux

Tutorial para aprender cómo saber y ver puertos abiertos en Linux y cómo validar puertos con diferentes comandos.


nov 26 2018 15:00
Avanzado
Total de Apartados : 4
oct 16 2019 13:01

Dentro de las tareas de administración existe una a nivel de seguridad que es fundamental para la seguridad de toda la infraestructura y son los puertos del sistema. Para ello debemos tener en cuenta que cada aplicación que requiere conectarse al equipo, ya sea a través de Internet o a través de la red local, necesitará de algunos puertos de conexión para tal fin, estos puertos se denominan puertos de escucha, y este tipo de conexiones pueden tener dos sentidos que son entrantes y salientes.

 

El estado de un puerto puede ser abierto, filtrado, cerrado o sin filtro, pero debemos prestar suma atención a los puertos abiertos ya que a través de estos puertos se pueden vulnerar ciertas políticas de seguridad de la organización.

 

Cómo poder comprobar los puertos abiertos TCPIP de servicios Linux o Windows 10, 8 , 7.

 

Solvetic explicará algunas formas sobre como podemos ver los puertos abiertos actualmente en Linux y así determinar si se toman o no acciones de administración.

 


1. Cómo validar puertos en Linux usando netstat


El comando netstat (network statistics) se ha desarrollado con el fin de desplegar un listado de todas las conexiones activas de un equipo incluyendo tanto las entrantes como las salientes.

 

La forma básica para ejecutar netstat en Linux es con la siguiente línea:

sudo netstat -ltup
Los parámetros usados son:
  • El valor -l le indica a netstat que imprima todos los conectores de escucha.
  • El valor -t despliega todas las conexiones TCP.
  • Con el valor -u veremos todas las conexiones UDP.
  • Con -p se habilita la impresión de la escucha del nombre de la aplicación o programa en el puerto.

 

El resultado será el siguiente:

 

 

Si deseamos imprimir alores numéricos en lugar de nombres de servicio, será necesario añadir el parámetro n:

sudo netstat -lntup
Veremos lo siguiente:

 

 

 

Con netstat será posible usar el comando grep para determinar qué aplicación está escuchando a través de un puerto en particular, por ejemplo, si deseamos ver que puertos usa Apache:

sudo netstat -lntup | grep "apache2"
Pero también será posible especificar el puerto a validar:
sudo netstat -lntup | grep ":80"
Algunos de los parámetros adicionales a usar con netstat son:

 

Despliega todas las conexiones y puertos en modo escucha
-a

Despliega las aplicaciones y archivos ejecutables que se encargan de crear conexiones en los puertos a la escucha
-b

Genera las estadísticas de Ethernet
-e

Despliega los puertos y las direcciones en formato numérico
-n

Permite ver la identidad de cada proceso (PID) involucrado
-o

Muestra las conexiones a través de protocolos como TCP, UDP, TCPv6, o UDPv6
-p

Despliega la tabla de rutas
-r

Genera las estadísticas por protocolos
-s

Se usa con -b, y de este modo poder ver secuencias de componentes involucrados en crear una conexión
-v

 


2. Cómo validar puertos usando el comando ss Linux


El comando SS esta integrado en el paquete IPROUTE2 y es usado para desplegar las estadísticas de los sockets, este tipo de sockets pueden ser de tipo TCP, UDP, PACKET, DCCP, RAW, UNIX y más.

 

La información que podemos obtener con el comando SS es:

  • Información sobre los sockets TCP y UDP con detalles mucho más completos.
  • Las conexiones establecidas por SSH, FTP, HTTP, HTTP y más.
  • Conexiones al equipo X server.
  • Filtrar por estado como SYN-RECV, SYN-SENT, TIME-WAIT usando direcciones y puertos.
  • Determinar qué tipo de sockets TCP están en estado FIN-WAIT-1.

 

Con el siguiente comando vamos a desplegar todos los puertos de escucha para las conexiones TCP y UDP en valor numérico:

sudo ss -lntu

 


3. Cómo validar puertos usando el comando Nmap Linux


El comando Nmap (Network Mapper) es una de las soluciones más completas no solo para validar los puertos de escucha sino para llevar a cabo muchas más tareas de administración a nivel de red ya que con ella es posible ejecutar barridos de ping, hacer escaneo de puertos, identificar de servicios, realizar la detección de direcciones IP y detección del sistema operativo y más tareas.

 

Es una de las utilidades más prácticas para los administradores ya que gracias a Nmap podemos para explorar redes locales o externas, realizar escaneos de seguridad, auditoría de redes, buscar hosts en vivo, sistemas operativos, filtros de paquetes y más.

 

Para instalar Nmap debemos ejecutar alguno de los siguientes comandos:

sudo apt install nmap (Debian/Ubuntu)sudo yum install nmap (CentOS/RHEL)sudo dnf install nmap (Fedora)
Luego de esto, para escanear todos los puertos abiertos o de escucha en Linux, vamos a ejecutar el siguiente comando:
sudo nmap -n -PN -sT -sU -p- localhost

 

Algunos de los parámetros a usar con Nmap son:

 

Escaneo de protocolos
s0

Escaneo ACK
-sA

Escaneo Windows
-sW

Escaneo RPC
-sR

Escaneo Lista/DNS
-sL

Escaneo Idle
-sI

Sin Ping
-Po

Ping TCP
-PT

Ping SYN
-PS

Ping ICMP
-PI

Ping TCP e ICMP
-PB

Fecha y hora ICMP
-PB

Máscara de red ICMP
-PM

Salida normal
-oN

Salida XML
-oX

Salida greppable
-oG

Todas las salidas
-oA

Ejecuta un escaneo seria con un lapso de 300 segundos entre escaneos
-T Paranoid

Ejecuta un escaneo serial con un lapso de 15 segundos entre escaneos
-T Sneaky

Realiza un escaneo serial con un lapso de 4 segundos entre escaneos
-T Polite

Escaneo Paralelo
-T Normal

 


4. Cómo validar puertos usando el comando Lsof Linux


El comando lsof es una herramienta mediante la cual será posible listar los ficheros abiertos en el sistema con detalles como que ficheros mantiene abiertos un determinado proceso (PID) o usuario y con detalles como el puerto usado por esos servicios.

 

Para listar todos los archivos de Internet y de red, debemos usar la opción -i, con este comando se despliega una combinación de nombres de servicio y puertos numéricos:

sudo lsof -i

 

Si deseamos ver que aplicación usa un puerto especifico podemos ejecutar lo siguiente:

sudo lsof -i :80
Con alguna de estas opciones será posible visualizar los puertos abiertos en Linux y llevar un mejor control sobre ellos.

 

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


¿Te ayudó este Tutorial?


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!

X