Me gustaría ver qué puertos están abiertos en mi máquina, por ejemplo, qué puertos está escuchando mi máquina. Por ejemplo, el puerto 80 si he instalado un servidor web, y así sucesivamente.
¿Hay algún comando para esto?
networking
server
Jonas
fuente
fuente

nmap localhostfuncionó muy bien.nmap localhostynmap 192.168.0.3(o lo que sea que sea su IP de máquina)netstat -ln. Verá instantáneamente todos los puertos abiertos.nmap localhostno encontró servicios que estuvieran vinculados solo a localhost. Por ejemplo, corroinfluxdconbind-address:localhost:8086. Eso no apareció ensudo nmap localhost, pero sí apareció ensudo netstat -tulpn.Siempre he usado esto:
fuente
sudo netstat -ntlp | grep LISTEN... use losudocontrario ... pid no se imprimirá.-lYa filtros para escuchar.grep LISTENno ayudará más allá de ocultar 2 líneas de información de encabezado.-t: tcp-l,: socket de escucha-p,: show pid y nombre del programa,:-nprint en127.0.0.1:80lugar delocalhost:http. Referencia: linux.die.net/man/8/netstatnetstatconsudo apt-get install net-toolssudo netstat --tcp --listening --programs --numeric. No es necesario usarlo agrepmenos que desee eliminar los encabezados de columna.Otras buenas maneras de averiguar qué puertos están escuchando y cuáles son las reglas de su firewall:
sudo netstat -tulpnsudo ufw statusfuente
nmap, la usabilidad denetstates basura.Para enumerar los puertos abiertos, use el
netstatcomandoPor ejemplo:
En el ejemplo anterior, tres servicios están vinculados a la dirección de bucle invertido.
Los servicios 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 potencialmente a cualquiera de las interfaces de red configuradas localmente en el puerto específico.
Otro método es usar el
lsofcomando:Para más detalles ver
man netstatoman lsof.fuente
-lopción era listarLISTENpuertos. ¿Entonces el grep sería superfluo aquí?Esto es suficiente para mostrar que hay un proceso escuchando en la dirección IP
0.0.0.0(necesaria para que responda 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 weblighttpdSi luego desea asegurarse de que lo único que permite a través de su firewall es el puerto 80, a menudo uso ShieldsUp de www.grc.com para realizar una prueba de firewall.
fuente
sudo iptables -Lenumerará las reglas de puerto para su PC. Tenga en cuenta que si está utilizando los cortafuegos ufw o shorewall, la salida puede ser difícil de leer. En ese caso más bien usesudo ufw statuspor ejemplo.Esto no es muy útil por sí solo, ya que incluso si un puerto es de acceso abierto, aún se denegará si no hay ningún proceso de escucha en ese puerto.
fuente
Si está buscando monitoreo continuo de puertos para máquinas de servidor o locales, creo que también puede usar la versión gráfica de nmap, es decir, Zenmap para una versión más detallada
Zenmap es la interfaz gráfica de usuario (GUI) oficial para Nmap Security Scanner.
Soportes disponibles (Linux, Windows, Mac OS X, BSD, etc.)
Eche un vistazo a esta vista de herramienta:
fuente