netstat es un comando disponible en la mayoría de los sistemas operativos que permite visualizar las conexiones activas, entrantes y salientes, de nuestro host.

Entre la información que suministra se puede ver:

  • ip:puerto cliente de una conexión
  • ip:puerto servidor de una conexión
  • estado de la conexión
  • pid y nombre del ejecutable que intervine e la creación de la conexión
  • tablas de ruteo
  • estadísticas de bytes, paquetes y errores (recibidos y enviados)
  • etc

El comando resulta muy util para saber que conexiones tiene abierto nuestro equipo, a cuales puertos está escuchando y cuales son los procesos, servicios o aplicaciones que abren o tienen establecidas conexiones remotas. Además es muy util para todos aquellos programadores que trabajen con sockets.

Los parámetros del proceso pueden variar de acuerdo al sistema operativo, para ello consulte el help del netstat del SO en el cual se encuentre (netstat -h, netstat –help, netstat /?)

Como ejemplo veremos un netstat ejecutado en Windows con parametros:

  • -a: muestra todas las conexiones y los puertos que se encuentran “escuchando”
  • -b: muestra el ejecutable que intervine en la creación de la conexión
  • -n: muestra ips y puertos en forma numerica, en caso contrario muestra los nombres de los hosts y el nombre de los puertos (si los conoce).
netstat -abn
Active Connections
TCP  201.17.21.30:3408  210.10.23.110:2320  ESTABLISHED  2652
[OUTLOOK.EXE]
TCP  201.17.21.30:4351  210.10.23.163:2321  ESTABLISHED  2652
[OUTLOOK.EXE]
TCP  201.17.21.30:4540  91.21.10.185:80     ESTABLISHED  540
[firefox.exe]
TCP  201.17.21.30:4541  172.21.10.185:80    ESTABLISHED  540
[firefox.exe]
TCP  192.168.0.101:3951 192.168.0.1:3306    ESTABLISHED  600
[SQLyog.exe]