Es posible que a menudo necesite encontrar los nombres y números de los puertos por algunas razones. Si es así, estás de suerte. Hoy, en este breve tutorial, vamos a ver las formas más fáciles y rápidas de encontrar el número de puerto de un servicio en el sistema operativo Linux. Podría haber muchos métodos para hacerlo, pero solo conozco los siguientes tres métodos en este momento. Sigue leyendo.
Encuentre el número de puerto de un servicio en Linux
Método 1:uso del comando Grep:
Para encontrar el número de puerto predeterminado de un servicio dado en Linux usando el comando grep, simplemente ejecute:
$ grep <port> /etc/services
Por ejemplo, para encontrar el puerto predeterminado de un servicio SSH, simplemente ejecute:
$ grep ssh /etc/services
Es así de simple. Este comando debería funcionar en la mayoría de las distribuciones de Linux. Aquí está el resultado de muestra de mi cuadro de prueba de Arch Linux:
ssh 22/tcp ssh 22/udp ssh 22/sctp sshell 614/tcp sshell 614/udp netconf-ssh 830/tcp netconf-ssh 830/udp sdo-ssh 3897/tcp sdo-ssh 3897/udp netconf-ch-ssh 4334/tcp snmpssh 5161/tcp snmpssh-trap 5162/tcp tl1-ssh 6252/tcp tl1-ssh 6252/udp ssh-mgmt 17235/tcp ssh-mgmt 17235/udp
Como puede ver en el resultado anterior, el número de puerto predeterminado del servicio SSH es 22.
Busquemos el número de puerto del servidor web Apache. Para hacerlo, el comando sería:
$ grep http /etc/services # http://www.iana.org/assignments/port-numbers http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol http 80/sctp # HyperText Transfer Protocol https 443/tcp # http protocol over TLS/SSL https 443/udp # http protocol over TLS/SSL https 443/sctp # http protocol over TLS/SSL gss-http 488/tcp gss-http 488/udp webcache 8080/tcp http-alt # WWW caching service webcache 8080/udp http-alt # WWW caching service [...]
¿Qué tal el número de puerto FTP? ¡Eso es fácil!
$ grep ftp /etc/services 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 tftp 69/tcp [...]
Método 2:usar el comando getent
Como puede ver, los comandos anteriores muestran todos los nombres y números de puerto para el término de búsqueda dado "ssh", "http" y "ftp". Eso significa que obtendrá una salida bastante larga de todos los nombres de puertos que coincidan con el término de búsqueda dado.
Sin embargo, puede reducir el resultado a la salida exacta usando el comando "getent" como se muestra a continuación:
$ getent services ssh ssh 22/tcp
$ getent services http http 80/tcp www www-http
$ getent services ftp ftp 21/tcp
Si no sabe el nombre del puerto pero sí el número del puerto, simplemente reemplace el nombre del puerto con el número como se muestra a continuación:
$ getent services 80 http 80/tcp
Para mostrar todos los nombres y números de puerto, simplemente ejecute:
$ getent services
Lectura sugerida:
- Cómo cambiar el puerto predeterminado de Apache a un puerto personalizado
- Cómo cambiar el puerto FTP predeterminado a un puerto personalizado
- Cómo cambiar el puerto predeterminado de SSH a un puerto personalizado
Método 3:uso de la utilidad Whatportis
El Quéporto es un simple script de python que se usa para encontrar nombres y números de puertos. A diferencia de los comandos anteriores, esta utilidad muestra la salida en un agradable formato de columna tabular.
Asegúrese de haber instalado el administrador de paquetes PIP. Si no, consulte el siguiente enlace.
- Cómo administrar paquetes de Python usando Pip
Una vez instalado PIP, ejecute el siguiente comando para instalar la utilidad Whatportis.
$ pip install whatportis
Ahora, puede encontrar qué puerto está asociado con un servicio como se muestra a continuación.
$ whatportis ssh
$ whatportis ftp
$ whatportis http
Salida de muestra de mi servidor CentOS 7:
Encuentre el número de puerto de un servicio en Linux
Si no sabe el nombre exacto de un servicio, use --like bandera para mostrar los resultados relevantes.
$ whatportis mysql --like
Los comandos anteriores lo ayudaron a encontrar qué puerto está asociado con un servicio. También puede encontrar qué servicio está asociado con un número de puerto como se muestra a continuación.
$ whatportis 993
Incluso puede mostrar los resultados en JSON formato.
$ whatportis 993 --json
Para obtener más detalles, consulte el repositorio de GitHub.
- Repositorio Whatportis GitHub
Lectura relacionada:
- Cómo encontrar qué servicio está escuchando en un puerto en particular
Y, eso es todo por ahora. Ahora sabe cómo encontrar los nombres y números de puerto en Linux usando tres métodos simples. Si conoce otros métodos/comandos, hágamelo saber en la sección de comentarios a continuación. Revisaré y actualizaré esta guía en consecuencia.