netstat -lntu
como respondió @askmish le dará una lista de los servicios que se ejecutan en su sistema en los puertos tcp y udp donde
-l = solo servicios que escuchan en algún puerto
-n = muestra el número de puerto, no intentes resolver el nombre del servicio
-t = puertos tcp
-u = puertos udp
-p = nombre del programa
No necesita el parámetro 'p', ya que solo está interesado en obtener qué puertos están libres y no qué programa se ejecuta en él.
Sin embargo, esto solo muestra qué puertos de su sistema están agotados. Esto no le indica el estado de su red, por ejemplo, si está detrás de NAT y desea que algunos servicios sean accesibles desde el exterior. O si el firewall está bloqueando el puerto para visitantes externos. En ese caso, nmap viene al rescate. ADVERTENCIA: Use nmap solo en redes que están bajo su control. Además, hay reglas de firewall que pueden bloquear los pings de nmap, tendrás que jugar con las opciones para obtener resultados correctos.
netstatestá en desuso en muchos sistemas yssdebe usarse en su lugar.ssno está incluidoComo
net-toolsestá en desuso , puede usar elsscomando en lugar denetstatsinetstatno está presente en su máquina:debería funcionar de manera similar a
De acuerdo con la ayuda incorporada:
fuente
Este comando enumerará los puertos de red abiertos y los procesos que los poseen:
netstat -lnptuluego puede filtrar los resultados a sus especificaciones exactas.
También puede usar
nmappara obtener resultados más granulares sobre los puertos.fuente
sudo netstat -lnptuTodos los puertos abiertos, incluido el tráfico de respuesta:
fuente
netstat -tuwanp4 | awk '{print $4}' | grep ':' | cut -d ":" -f 2 | sort | uniqMi opinión sobre la pregunta original era que estaba preguntando sobre los puertos no utilizados, no sobre los puertos actualmente conectados a los servicios. Si este es el caso, no hay una forma específica de enumerarlos, aparte de enumerar los puertos utilizados y asumir que los demás no están en uso.
Un punto adicional a tener en cuenta: como usuario, no podrá abrir un puerto inferior a 1024 (necesitará permisos de root para eso).
fuente
El siguiente comando funcionará en cualquier Unix que salga en el mismo formato que Ubuntu / Debian, donde la dirección local está en la columna 4 y la salida incluye un encabezado de 2 líneas en la parte superior. Si alguno de esos números es diferente, modifique el comando awk a continuación.
Si solo quiere IPv4:
Si solo quiere IPv6:
Si quieres los dos juntos:
El comando genera una lista de números de puerto que están escuchando en todas las interfaces. Si desea enumerar todos los puertos que están escuchando en la interfaz localhost, use algo como esto:
fuente
Tratar
y mira esto.
fuente