GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo comprobar los puertos abiertos en Linux?

Ya sea que esté utilizando Linux como servidor o escritorio, conocer los puertos abiertos o los puertos en uso puede ser útil en una variedad de situaciones.

Por ejemplo, si está ejecutando un servidor web basado en Apache o Ngnix, el puerto en uso debe ser 80 o 443. Verificar los puertos lo confirmará. Del mismo modo, puede verificar qué puerto está utilizando SMTP o SSH u otros servicios. Saber qué puertos están en uso puede ser útil al asignar los puertos a un nuevo servicio.

También puede comprobar si hay puertos abiertos para la detección de intrusos.

Hay varias formas de comprobar los puertos en Linux. Compartiré dos de mis métodos favoritos en este consejo rápido.

Método 1:Comprobación de puertos abiertos en el sistema Linux actualmente conectado usando comando lsof

Si ha iniciado sesión en un sistema, ya sea directamente o a través de SSH, puede usar el comando lsof para verificar sus puertos.

sudo lsof -i -P -n

Este comando lsof se usa para encontrar los archivos y procesos usados ​​por un usuario. Las opciones de usuario aquí son:

  • -i:si no se especifica una dirección IP, esta opción selecciona la lista de todos los archivos de red
  • -P:inhibe la conversión de números de puerto a nombres de puerto para archivos de red
  • -n:inhibe la conversión de números de red a nombres de host para archivos de red

Pero esto también nos muestra muchos puertos adicionales que la computadora en realidad no escucha.

Simplemente puede canalizar esta salida al comando grep y hacer coincidir el patrón "ESCUCHAR", así:

sudo lsof -i -P -n | grep LISTEN

Esto solo mostrará los puertos que nuestra computadora está escuchando activamente y también qué servicio está usando dicho puerto abierto.

Método 2:Comprobación de puertos en cualquier servidor Linux remoto mediante el comando netcat

nc (Netcat) es una utilidad de línea de comandos que lee y escribe datos entre computadoras a través de la red usando los protocolos TCP y UDP.

A continuación se muestra la sintaxis de nc comando:

nc [options] host port

Esta utilidad tiene un ingenioso -z bandera. Cuando se usa, hará nc busque demonios de escucha sin enviar ningún dato al puerto.

Combina esto con -v marca, habilitando la verbosidad, puede obtener una salida detallada.

A continuación se muestra el comando que puede usar para buscar puertos abiertos usando el nc comando:

nc -z -v <IP-ADDRESS> 1-65535 2>&1 | grep -v 'Connection refused'

Reemplace IP-ADDRESS con la dirección IP del sistema Linux para el que está comprobando los puertos.

En cuanto a por qué seleccioné valores 1 a 65535 , eso se debe a que el rango de puertos comienza desde 1 y termina en 65535 .

Finalmente, canalice la salida a grep dominio. Usando el -v opción, excluye cualquier línea que tenga "Conexión rechazada" como patrón coincidente.

Esto mostrará todos los puertos que están abiertos en la computadora a los que puede acceder otra máquina en la red.

Conclusión

De los dos métodos, prefiero el comando lsof. Es más rápido que el comando nc. Sin embargo, debe iniciar sesión en el sistema y tener acceso a Sudo para eso. En otras palabras, lsof es una opción más adecuada si está administrando un sistema.

El comando nc tiene la flexibilidad de escanear puertos sin iniciar sesión.

Ambos comandos se pueden usar para verificar los puertos abiertos en Linux según el escenario en el que se encuentre. Disfrute.


Linux
  1. Cómo usar el comando Su en Linux

  2. Cómo comprobar si un sistema Linux es de 32 o 64 bits

  3. ¿Cómo cerrar puertos en Linux?

  4. Cómo comprobar los puertos de escucha/abiertos con Netstat en Linux

  5. Cómo verificar el puerto abierto en un sistema Linux remoto

Cómo verificar la información de la CPU en Linux

Cómo verificar el historial de comandos de Linux por fechas

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Cómo comprobar la velocidad de Internet en Linux

Cómo verificar todos los puertos abiertos en su sistema Linux

Cómo verificar el tiempo de actividad de su servidor Linux