¿Cómo puedo ver qué puertos están abiertos en mi máquina?

113

Me gustaría ver qué puertos están abiertos en mi máquina, p. en qué puertos está escuchando mi máquina. P.ej. el puerto 80 si tengo instalado un servidor web, y así sucesivamente.

¿Hay algún comando para esto?

    
pregunta Jonas 25.10.2010 - 14:49

7 respuestas

92

nmap

Nmap ("Network Mapper") es una utilidad de código abierto y gratuito para exploración de red o auditoría de seguridad

nmap 192.168.1.33 Pc interna o nmap external ip address

más información man nmap

    
respondido por el hhlp 25.10.2010 - 14:55
219

Siempre he usado esto:

sudo netstat -ntlp | grep LISTEN
    
respondido por el SiLeNCeD 03.08.2013 - 20:06
53

Otras buenas formas de averiguar qué puertos están existiendo y cuáles son sus reglas de firewall:

  • sudo netstat -tulpn

  • sudo ufw status

respondido por el nathwill 25.10.2010 - 16:38
22

Esto es suficiente para mostrar que hay un proceso de escucha en la dirección IP 0.0.0.0 (necesario para responder a cualquier solicitud) en el puerto 80 (número de puerto del servidor web estándar). En mi caso, esto muestra que es el servidor web lighttpd

$ sudo netstat -ntlp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          2495/lighttpd

Si luego quiere asegurarse de que lo único que permite a través de su firewall es el puerto 80, a menudo uso ShieldsUp desde www.grc.com para realizar una prueba de firewall.

    
respondido por el rstonehouse 05.11.2011 - 21:03
22

Para mostrar los puertos abiertos, use el comando netstat .

Por ejemplo:

    $ sudo netstat -tulpn | grep LISTEN
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      5452/dnsmasq    
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1037/cupsd      
    tcp6       0      0 ::1:631                 :::*                    LISTEN      1037/cupsd

En el ejemplo anterior, tres servicios están vinculados a la dirección de bucle invertido.

Los servicios de IPv4 vinculados a la dirección de bucle invertido "127.0.0.1" solo están disponibles en la máquina local. La dirección de bucle invertido equivalente para IPv6 es ":: 1". La dirección IPv4 "0.0.0.0" significa "cualquier dirección IP", lo que significaría que otras máquinas podrían conectarse a cualquiera de las interfaces de red configuradas localmente en el puerto específico.

Otro método es usar el comando lsof :

    $ sudo lsof -nP -i | grep LISTEN
    cupsd     1037   root    9u  IPv6  11276      0t0  TCP [::1]:631 (LISTEN)
    cupsd     1037   root   10u  IPv4  11277      0t0  TCP 127.0.0.1:631 (LISTEN)
    dnsmasq   5452 nobody    5u  IPv4 212707      0t0  TCP 127.0.0.1:53 (LISTEN)

Para más detalles, ver man netstat o man lsof .

    
respondido por el inetpro 29.08.2013 - 23:42
11

sudo iptables -L mostrará una lista de las reglas del puerto para tu pc. Tenga en cuenta que si está usando ufw o shorewall firewalls, la salida puede ser difícil de leer. En ese caso, mejor use sudo ufw status por ejemplo.

Esto no es muy útil por sí solo, ya que incluso si un puerto es de acceso abierto, seguirá denegándose si no hay ningún proceso de escucha en ese puerto.

    
respondido por el Ciaran Liedeman 05.11.2011 - 20:37
3

Si está buscando un monitoreo continuo de puertos para máquinas servidor o locales, creo que también puede usar la versión gráfica de nmap, es decir, Zenmap para obtener una versión más detallada

Zenmap es la interfaz gráfica de usuario oficial (GUI) para el escáner de seguridad Nmap.

Admite disponible (Linux, Windows, Mac OS X, BSD, etc.)

Eche un vistazo a esta vista de herramienta:

    
respondido por el Vishal G 06.12.2016 - 06:57

Lea otras preguntas en las etiquetas