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 localhost
funcionó muy bien.nmap localhost
ynmap 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 localhost
no encontró servicios que estuvieran vinculados solo a localhost. Por ejemplo, corroinfluxd
conbind-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 losudo
contrario ... pid no se imprimirá.-l
Ya filtros para escuchar.grep LISTEN
no 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,:-n
print en127.0.0.1:80
lugar delocalhost:http
. Referencia: linux.die.net/man/8/netstatnetstat
consudo apt-get install net-tools
sudo netstat --tcp --listening --programs --numeric
. No es necesario usarlo agrep
menos 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 -tulpn
sudo ufw status
fuente
nmap
, la usabilidad denetstat
es basura.Para enumerar los puertos abiertos, use el
netstat
comandoPor 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
lsof
comando:Para más detalles ver
man netstat
oman lsof
.fuente
-l
opción era listarLISTEN
puertos. ¿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 weblighttpd
Si 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 -L
enumerará 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 status
por 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