HER · Herramienta Herramientas y comandos (Transversal)

45.netstat / ss

Herramientas que muestran las conexiones de red y los puertos abiertos de un equipo, y qué programa usa cada uno.

¿Qué es?

netstat y ss son comandos que muestran con quién está conectado un equipo y qué puertos tiene abiertos esperando conexiones, junto con el programa responsable de cada uno.

Son como la lista de llamadas activas de un conmutador telefónico: qué líneas están en uso, con qué número habla cada una y qué extensiones esperan llamadas.

En términos técnicos

  • netstat existe en Windows, macOS y Linux. En Linux viene del paquete net-tools, que ya se considera obsoleto.
  • ss (socket statistics) es su reemplazo en Linux: más rápido y con más detalle (parte de iproute2).
  • En PowerShell, los equivalentes son Get-NetTCPConnection y Get-NetUDPEndpoint.
  • Muestran cada socket con: protocolo, dirección y puerto local, dirección y puerto remoto, estado (en TCP) y, con la opción adecuada, el proceso.

¿Dónde lo vas a encontrar?

Al comprobar que un servicio realmente arrancó y escucha en su puerto, al buscar qué programa ocupa un puerto, al revisar si un equipo tiene conexiones extrañas hacia Internet y al diagnosticar servidores con muchas conexiones.

¿Cómo funciona?

Opciones equivalentes

Para ver… Windows (netstat) Linux (ss)
Puertos en escucha TCP y UDP, con proceso netstat -ano (luego busca LISTENING) ss -tulpn
Conexiones TCP activas netstat -an -p tcp ss -tan state established
Con el nombre del programa netstat -b (como administrador) ss -tp (con sudo)
Un puerto concreto netstat -ano | findstr :443 ss -tan '( sport = :443 or dport = :443 )'
Resumen de sockets netstat -s ss -s
Tabla de rutas netstat -r (o route print) ip r

Significado de las letras de ss -tulpn: t TCP, u UDP, l solo en escucha, p proceso, n números (sin resolver nombres).

Leer la salida

C:\> netstat -ano
  Proto  Dirección local      Dirección remota      Estado        PID
  TCP    0.0.0.0:135          0.0.0.0:0             LISTENING     1032
  TCP    0.0.0.0:445          0.0.0.0:0             LISTENING     4
  TCP    192.168.10.25:51544  203.0.113.10:443      ESTABLISHED   8240
  UDP    0.0.0.0:5353         *:*                                 2716
$ sudo ss -tulpn
Netid State  Local Address:Port  Peer Address:Port Process
tcp   LISTEN 0.0.0.0:22          0.0.0.0:*         users:(("sshd",pid=812,fd=3))
tcp   LISTEN 127.0.0.1:3306      0.0.0.0:*         users:(("mysqld",pid=944,fd=21))
udp   UNCONN 0.0.0.0:68          0.0.0.0:*         users:(("dhclient",pid=601,fd=7))
Dirección local Significa
0.0.0.0:22 o [::]:22 Escucha en todas las interfaces: alcanzable desde la red
127.0.0.1:3306 Solo escucha en el propio equipo: no se puede conectar desde otro
192.168.10.25:51544 Puerto efímero de una conexión que inició este equipo

Del PID al programa (Windows)

C:\> tasklist /fi "PID eq 8240"
PS> Get-Process -Id 8240

Verificación y diagnóstico

Situación Qué buscar
El servicio arrancó pero no responde desde otro equipo Que aparezca en LISTEN y en 0.0.0.0, no solo en 127.0.0.1
«Address already in use» Qué proceso tiene ese puerto (ss -tlpn | grep :8080, netstat -ano | findstr :8080)
Un servidor web lento Cuántas conexiones hay y en qué estado (ss -s, ss -tan state time-wait | wc -l)
Sospecha de un programa no deseado Conexiones ESTABLISHED hacia IP desconocidas y el proceso que las abrió

Para tomar en cuenta

  • Usa -n (o la n de ss -tulpn): sin resolver nombres, la salida es inmediata.
  • Muchos TIME_WAIT son normales en servidores web con mucho tráfico.
  • Revisa los puertos en escucha de un servidor nuevo y cierra lo que no deba estar expuesto.
  • netstat en Linux puede no estar instalado; ss siempre viene.
  • En Cisco el equivalente aproximado es show tcp brief y show control-plane host open-ports.
  • Docker: los puertos publicados por contenedores aparecen con el proceso docker-proxy o no aparecen si se usan reglas del firewall; revisa también docker ps.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias (RFC / estándar)

Antes conviene ver…

© solutions_ · Redes informáticas · 45 netstat / ss