GNU/Linux >> Tutoriales Linux >  >> Linux

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

Un puerto es un número lógico asignado a un proceso que se ejecuta en Linux. El puerto se puede definir como un número entero entre 0 a 65535 . Puertos con números 0–1023 se denominan puertos de sistema o bien conocidos, mientras que los puertos con números 49152-65535 se denominan puertos dinámicos, privados o efímeros. Si es administrador de un sistema Linux, debe tener los conocimientos necesarios para averiguar qué puertos están abiertos y ejecutándose en un sistema remoto. Hay varias formas de encontrar un puerto abierto en Linux.

En esta publicación, mostraremos las formas más confiables de encontrar un puerto abierto en un sistema Linux remoto.

Requisitos

  • Un servidor que ejecuta Linux en Atlantic.Net Cloud Platform
  • Una contraseña de root configurada en su servidor

Crear servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo cualquier sistema operativo Linux con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Buscar puerto abierto mediante el comando Netcat

Netcat es una utilidad de línea de comandos de Linux que se utiliza para leer y escribir datos a través de conexiones de red mediante el protocolo TCP o UDP. También nos permite encontrar puertos abiertos en un sistema Linux remoto.

Para los sistemas operativos basados ​​en Ubuntu y Debian, instale la utilidad Netcat usando el siguiente comando:

apt-get install netcat -y

Para los sistemas operativos RHEL, CentOS, Fedora y Rocky Linux, instale la utilidad Netcat con el siguiente comando:

dnf install nc -y

La sintaxis básica para usar el comando Netcat se muestra a continuación:

nc [-options] [host_name or ip] [port_number]

Por ejemplo, para comprobar si el puerto 80 está abierto en el host remoto 172.20.10.2 , ejecute el siguiente comando:

nc -zv 172.20.10.2 80

Si el puerto 80 está abierto en un host remoto, obtendrá el siguiente resultado:

Connection to 172.20.10.2 80 port [tcp/http] succeeded!

Dónde :

  • -z :Establece nc para simplemente escanear en busca de demonios de escucha.
  • -v :Muestra la salida en modo detallado.

También puede especificar un rango de puertos para escanear:

nc -zv 172.20.10.2 40-80

El comando anterior buscará todos los puertos entre 40 y 80.

Buscar puerto abierto usando el comando Nmap

Nmap es una utilidad de línea de comandos potente y muy popular que se utiliza para realizar tareas relacionadas con la red. De forma predeterminada, la utilidad Nmap no está incluida en el sistema Linux. Deberá instalarlo manualmente usando el administrador de paquetes.

Para los sistemas operativos basados ​​en Ubuntu y Debian, instale la utilidad Nmap usando el siguiente comando:

apt-get install namp -y

Para los sistemas operativos RHEL, CentOS, Fedora y Rocky Linux, instale la utilidad Nmap con el siguiente comando:

dnf install nmap -y

La sintaxis básica para usar el comando Nmap se muestra a continuación:

nmap [-options] [HostName or IP] [-p] [PortNumber]

Por ejemplo, para obtener una lista de todos los puertos abiertos en un host remoto 172.20.10.2 , ejecute el siguiente comando:

nmap 172.20.10.2

Debería ver todos los puertos abiertos en el siguiente resultado:

Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-05 14:05 IST
Nmap scan report for vyompc (172.20.10.2)
Host is up (0.000078s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
23/tcp   open  telnet
80/tcp   open  http
7070/tcp open  realserver

Nmap done: 1 IP address (1 host up) scanned in 0.88 seconds

Si desea verificar si un puerto en particular está abierto en el host remoto, use -p opción:

nmap -Pn -p 80 172.20.10.2

Obtendrá el siguiente resultado:

Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-05 14:08 IST
Nmap scan report for vyompc (172.20.10.2)
Host is up (0.00011s latency).

PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Buscar puerto abierto mediante el comando Telnet

Telnet es otro protocolo de red utilizado para acceder virtualmente a una computadora remota. También le permite encontrar puertos abiertos en sistemas remotos. Puede instalarlo manualmente usando el administrador de paquetes.

Para los sistemas operativos basados ​​en Ubuntu y Debian, instale la utilidad Telnet usando el siguiente comando:

apt-get install telnet -y

Para los sistemas operativos RHEL, CentOS, Fedora y Rocky Linux, instale la utilidad Telnet con el siguiente comando:

dnf install telnet -y

La sintaxis básica para usar el comando Telnet se muestra a continuación:

telnet [HostName or IP] [PortNumber]

Por ejemplo, para comprobar si el puerto 22 está abierto en un host remoto 172.20.10.2 , ejecute el siguiente comando:

telnet 172.20.10.2 22

Si el puerto 22 está abierto, obtendrá el siguiente resultado:

Trying 172.20.10.2...
Connected to 172.20.10.2.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.6

Si el puerto 22 no está abierto, obtendrá el siguiente resultado:

Trying 172.20.10.2...
telnet: Unable to connect to remote host: Connection refused

Conclusión

En esta guía, hemos mostrado cómo encontrar un puerto abierto en una máquina remota usando diferentes comandos. Ahora puede elegir su herramienta preferida para escanear el sistema remoto y encontrar un puerto abierto. ¡Pruébelo en alojamiento VPS de Atlantic.Net!


Linux
  1. Cómo usar el comando Linux Rsync (sincronización remota)

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

  3. Cómo comprobar el tiempo de actividad del sistema en Linux

  4. Cómo verificar la versión del Kernel en Linux

  5. Comprobar el uso del puerto en Linux

Cómo comprobar la velocidad de Internet en Linux

Cómo usar el comando Strace de Linux

Cómo usar el comando fd en el sistema Linux

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

¿Cómo comprobar los puertos abiertos en Linux?

Todas las formas de verificar si un puerto está abierto en Linux