Skip to content
Natuurondernemer
    marzo 23, 2021 by admin

    ¿Cómo listar los puertos abiertos en Linux?

    ¿Cómo listar los puertos abiertos en Linux?
    marzo 23, 2021 by admin

    En las redes, un puerto es una característica interesante. Es una forma de que el tráfico de red identifique la aplicación o servicio de destino. Cada proceso/servicio tiene su puerto único. Un puerto siempre estará asociado a la dirección IP del host junto con el protocolo.

    Esta es una de mis metáforas favoritas para describir lo que es un puerto. Imaginemos un barco cargado con un cargamento, que va a viajar a una tierra lejana. Qué información se necesita para llegar bien al destino? Para simplificar, digamos que necesita el país (la dirección IP) y el puerto en el que atracará el barco.

    En esta guía, echa un vistazo a cómo listar los puertos abiertos en Linux.

    Puertos en Linux

    Los puertos actúan como un punto final de comunicación. Es un número de 16 bits (0 a 65535 en decimal). Aunque el rango es grande, para facilitar su uso, los puertos se clasifican en tres categorías. Cada categoría está etiquetada como el rango de valor del puerto:

    • 0 a 1023: Estos son los puertos «Well-known», también conocidos como los puertos «System», que están reservados para los procesos del sistema que ofrecen una amplia variedad de servicios de red. Para enlazar con un puerto «Well-known», un proceso debe tener privilegios de superusuario.
    • 1024 a 49151: Estos son los puertos «Registrados», también conocidos como los puertos de «Usuario», que son designados por IANA para servicios específicos. Bajo petición, un proceso puede tener acceso a ellos. En el caso de la mayoría de los sistemas, no se requiere ningún privilegio de superusuario para utilizar estos puertos.
    • 49152 a 65535: Son los puertos «Dinámicos», también conocidos como puertos «Privados». Estos puertos no pueden ser registrados con IANA. Estos puertos están abiertos a ser utilizados para servicios privados o personalizados y también pueden ser asignados automáticamente como puertos efímeros (puertos de corta duración utilizados por IP).
      • En Linux, hay múltiples formas de comprobar los puertos abiertos. Por defecto, cualquier puerto permanecerá cerrado a menos que una aplicación lo esté utilizando. Si un puerto está abierto, entonces debe estar asignado a un servicio/proceso.

        Lista de puertos abiertos

        Es más fácil identificar qué puertos están en uso que qué puertos están abiertos. Es por ello que en la siguiente sección se presentarán métodos para listar todos los puertos que están actualmente en uso. En Linux, hay múltiples herramientas disponibles para esta tarea. La mayoría de ellas vienen incorporadas en cualquier distro de Linux.

        Aprender qué puertos están actualmente abiertos puede ser útil en varios escenarios. Es posible configurar un puerto dedicado para una determinada aplicación. Un puerto abierto también puede ser un fuerte indicio de intrusión en la red.

        Los siguientes métodos se demuestran en Ubuntu 20.04.1 LTS.

        Lista de protocolos y puertos abiertos desde /etc/services

        El archivo /etc/services contiene información sobre los servicios que se están ejecutando actualmente. Es un archivo grande, así que prepárate para agobiarte.

        $ cat /etc/services | less

        Lista de puertos abiertos usando netstat

        La herramienta netstat es una utilidad para mostrar las conexiones de red para TCP, tablas de enrutamiento, y varias interfaces de red. También ofrece estadísticas de protocolos de red. Utilizando netstat, podemos listar todos los puertos abiertos del sistema.

        Ejecuta el siguiente comando netstat:

        $ netstat -atu

        Vamos a hacer un rápido desglose de todas las banderas que hemos utilizado en este comando.

        • a: Le dice a netstat que muestre todos los sockets
        • t: Le dice a netstat que liste los puertos TCP
        • u: Le dice a netstat que liste los puertos UDP
        • Aquí hay otra variación del comando netstat:

          $ netstat -lntu

          Hay dos nuevas banderas utilizadas en el comando. ¿Qué significan?

          • l: Le dice a netstat que imprima sólo los sockets de escucha
          • n: Le dice a netstat que muestre el número de puerto
          • Para mostrar el PID del proceso que está usando un puerto, usa la bandera «-p»:

            $ netstat -lntup

            Lista de puertos abiertos usando ss

            La herramienta ss es una utilidad para investigar socket. Su uso es similar al de netstat.

            Para listar los puertos abiertos, ejecuta el siguiente comando ss:

            $ ss -lntu

            Las banderas son similares a las de netstat. Las funciones que describen también son bastante similares.

            • l: Le dice a ss que muestre los sockets de escucha
            • n: Le dice a ss que no intente resolver los nombres de los servicios
            • t: Le dice a ss que muestre los sockets TCP
            • u: Le dice a ss que muestre los sockets UDP

            Lista de puertos abiertos usando lsof

            El comando lsof es para listar archivos abiertos. Sin embargo, también se puede utilizar para mostrar los puertos abiertos.

            Ejecuta el siguiente comando lsof:

            $ lsof -i

            Para obtener los puertos abiertos de un protocolo específico (TCP, UDP, etc.) entonces defínalo después de la bandera «-i», utilice:

            $ lsof -i <protocolo>

            Lista de puertos abiertos usando nmap

            La herramienta nmap es una potente herramienta para la exploración de la red y el escaneo de seguridad/puertos. Puede informar de todos los puertos abiertos en el sistema.

            Para listar los puertos TCP abiertos, ejecute el siguiente comando nmap. Aquí, la dirección IP es del equipo anfitrión:

            $ sudo nmap -sT -p- localhost

            Aquí, hay dos partes del argumento del comando.

            • -sT: Esta sección le dice a nmap que escanee los puertos TCP.
            • -p- : Esto le dice a nmap que escanee los 65535 puertos. Si no se utiliza, entonces nmap escaneará sólo 1000 puertos por defecto.
              • Si necesita listar los puertos UDP abiertos, entonces ejecute el siguiente comando nmap:

                $ sudo nmap -sU -p- localhost

                Para obtener tanto los puertos TCP como UDP abiertos, utilice el siguiente comando:

                $ sudo nmap -n -PN -sT -sU -p- localhost

                Listado de puertos abiertos usando netcat

                La herramienta netcat es una utilidad de línea de comandos para leer y escribir datos a través de conexiones de red sobre los protocolos TCP y UDP. Esta herramienta también se puede utilizar para listar los puertos abiertos. Puede realizar pruebas en un puerto específico o en un rango de puertos.

                El siguiente comando netcat escaneará el puerto del 1 al 1000. El comando netcat realizará el escaneo en el protocolo TCP por defecto:

                $ nc -z -v localhost 1-1000

                También se puede ampliar a toda la lista de puertos posibles:

                $ nc -z -v localhost 1-65535

                Vamos a hacer un rápido desglose de las banderas.

                • z: Le dice a netcat que escanee sólo los puertos abiertos sin enviar ningún dato
                • v: Le dice a netcat que se ejecute en modo verbose

                Para obtener sólo los puertos abiertos de esta lista, filtre la salida con grep para el término «succeeded».

                $ nc -z -v localhost 0-65535 2>&1 | grep succeeded

                Si quieres realizar el escaneo en el protocolo UDP, entonces añade la bandera «-u».

                $ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded

                Pensamientos finales

                Como se ha demostrado, hay toneladas de formas de escanear puertos abiertos en Linux. Sugiero probar todos los métodos antes de decidir cuál dominar. Si usted está usando una determinada herramienta como netcat o nmap regularmente, entonces el dominio de los métodos asociados será el más beneficioso.

                ¡Feliz computación!

    Previous articleTifus: tratamiento y manejoNext article Sarahs story

    Deja una respuesta Cancelar la respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Entradas recientes

    • Encontrarte a ti mismo (y a los demás…) en los anuarios online
    • Cómo configurar un minero ASIC de bitcoin
    • Chris Martin cumple años en Disneylandia con Dakota Johnson
    • ¿Qué es un sitio del Superfondo?
    • Los gusanos de la sangre con cebo de pesca tienen picaduras de abeja
    • 42 recetas de sopa de olla de cocción lenta saludables
    • 3 sorprendentes riesgos de una mala postura
    • Peces Betta hembra
    • ¿Qué son las corrientes oceánicas?
    • Nike se gastó 15.000 dólares en una máquina especial sólo para fabricar las zapatillas del pívot de Florida State Michael Ojo

    Archivos

    • abril 2021
    • marzo 2021
    • febrero 2021
    • enero 2021
    • diciembre 2020
    • noviembre 2020
    • octubre 2020
    • septiembre 2020
    • agosto 2020
    • julio 2020
    • junio 2020
    • mayo 2020
    • abril 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Acceder
    • Feed de entradas
    • Feed de comentarios
    • WordPress.org
    Posterity WordPress Theme