GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo averiguar la lista de todos los puertos abiertos en Linux

En este artículo, hablaremos brevemente sobre los puertos en las redes informáticas y pasaremos a cómo puede enumerar todos los puertos abiertos en Linux.

En redes informáticas, y más definitivamente en términos de software, un puerto es una entidad lógica que actúa como un punto final de comunicación para identificar una aplicación o proceso determinado en un sistema operativo Linux. Es un número de 16 bits (0 a 65535 ) que diferencia una aplicación de otra en los sistemas finales.

Los dos protocolos de transporte de Internet más populares, Protocolo de control de transmisión (TCP ) y el Protocolo de datagramas de usuario (UDP ) y otros protocolos menos conocidos usan números de puerto para las sesiones de comunicación (números de puerto de origen y destino junto con las direcciones IP de origen y destino).

Además, una combinación de dirección IP, puerto y protocolo como TCP/UDP se conoce como socket, y cada servicio debe tener un socket único.

A continuación se muestran las diferentes categorías de puertos:

  1. 0-1023 – los Puertos Bien Conocidos, también denominados Puertos del Sistema.
  2. 1024-49151 – los Puertos Registrados, también conocidos como Puertos de Usuario.
  3. 49152-65535 – los Puertos Dinámicos, también conocidos como Puertos Privados.

Puede ver una lista de diferentes aplicaciones y combinación de puerto/protocolo en /etc/services archivo en Linux usando el comando cat:

$ cat /etc/services 
OR
$ cat /etc/services | less
Servicios de red y puertos
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2009-11-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
# are included, only the more common ones.
#
# The latest IANA port assignments can be gotten from
#       http://www.iana.org/assignments/port-numbers
# The Well Known Ports are those from 0 through 1023.
# The Registered Ports are those from 1024 through 49151
# The Dynamic and/or Private Ports are those from 49152 through 65535
#
# Each line describes one service, and is of the form:
#
# service-name  port/protocol  [aliases ...]   [# comment]

tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
systat          11/udp          users
daytime         13/tcp
daytime         13/udp
qotd            17/tcp          quote
qotd            17/udp          quote
msp             18/tcp                          # message send protocol
msp             18/udp                          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp
ftp-data        20/udp
# 21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
telnet          23/tcp
telnet          23/udp

Para enumerar todos los puertos abiertos o los puertos que se están ejecutando actualmente, incluido TCP y UDP en Linux, usaremos netstat, es una poderosa herramienta para monitorear conexiones de red y estadísticas.

Listar todos los puertos de red usando el comando Netstat
$ netstat -lntu

Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::25                       :::*                        LISTEN      
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               

donde,

  1. -l – imprime solo enchufes de escucha
  2. -n – muestra el número de puerto
  3. -t – habilita la lista de puertos tcp
  4. -u – habilita la lista de puertos UDP

También puede usar ss comando, una utilidad muy conocida para examinar sockets en un sistema Linux. Ejecute el siguiente comando para enumerar todos sus puertos TCP y UCP abiertos:

Listar todos los puertos de red usando el comando ss
$ ss -lntu

Netid State      Recv-Q Send-Q               Local Address:Port       Peer Address:Port 
udp   UNCONN     0      0                    *:68                     *:*     
tcp   LISTEN     0      128                  :::22                    :::*     
tcp   LISTEN     0      128                  *:22                     *:*     
tcp   LISTEN     0      50                   *:3306                   *:*     
tcp   LISTEN     0      128                  :::80                    ::*     
tcp   LISTEN     0      100                  :::25                    :::*     
tcp   LISTEN     0      100                  *:25  

Asegúrese de leer las páginas man de los comandos anteriores para obtener más información de uso.

En resumen, comprender el concepto de puertos en las redes informáticas es muy importante para los administradores de sistemas y redes. También puede consultar esta guía de netstat con ejemplos simples, precisos y bien explicados.

Por último, pero no menos importante, comuníquese con nosotros compartiendo otros métodos para enumerar puertos abiertos en Linux o haciendo una pregunta a través del formulario de respuesta a continuación.


Linux
  1. Cómo encontrar todos los usuarios de Sudo en Linux

  2. Cómo enumerar todos los paquetes instalados en Linux

  3. Cómo enumerar los puertos abiertos en el servidor Linux/Unix

  4. Cómo encontrar todos los archivos dispersos en Linux

  5. ¿Cómo enumerar todos los archivos de una partición en Linux?

Cómo encontrar todas las fuentes instaladas en Linux

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

Cómo enumerar todos los usuarios de un grupo en Linux

¿Cómo comprobar los puertos abiertos en Linux?

¿Cómo enumerar todos los grupos en Linux?

¿Cómo enumerar todos los archivos ordenados por tamaño en Linux?