Los ordenadores se conectan a otros ordenadores, ya sea porque  estemos navegando por Internet, chateando, descargando o simplemente  porque algún proceso necesite conexión con otro equipo para llevar a  cabo su finalidad.
Las conexiones que realizamos conscientemente (navegar, messenger, etc)  no implican mayor riesgo, pero ¿y las que realiza el sistema? ¿Que  proceso se esta conectando a Internet? ¿a que servidores? muchas  preguntas que tienen fácil respuesta netstat
Este comando que viene en Windows nos permite saber a que maquinas, que  procesos y por cuales puertos se esta conectando un equipo a otro.
 Para los que no sepáis de que va esto de puertos os  contare (en lenguaje sencillo para no extenderme mucho) que cada vez que  un equipo se conecta a otro abre un puerto  local (aleatorio) y conecta a un puerto remoto (Http puerto 80,Https  puerto 443, correo Smtp 25,  correo Pop3 110, etcétera), esto seria como una puerta en el equipo (que  no se asuste nadie) por el que hablar con el otro. Así los 2 equipos  siempre se comunican por una relación direccioniplocal

uertolocal  >>>>> direccionipremota

uertoremoto y un mismo  equipo puede establecer muchas conexiones a un mismo equipo con: direccioniplocal

uertolocalUNO  >>>>> direccionipremota

uertoremoto,  direccioniplocal

uertolocalDOS >>>>>  direccionipremota

uertoremoto ……………………
 Entendido, ¿que puertos usa mi equipo?
Muy fácil en un Símbolo  de sistema escribimos netstat
 

 y los dará un listado de las conexiones establecidas contra otros  equipos.
 El comandoproceso  tardara en mostrarnos todos los datos, ya que resolverá las direcciones ip a las que  nos conectamos para mostrarnos su nombre.
 Siempre nos mostrara las columnas 
Protocolo  (TCP o UDP) Nuestra 
dirección ip local seguida de  

uertolocal la 
direccion remota (algunas con ip otras con  nombre de maquina, las que pueda resolver) y 
Estado: una  conexion puede estar establecida ESTABLISHED, enviando paquetes que no  llegan SYN_SENT, a la espera que que termine TIME_WAIT o cerrandose  CLOSE_WAIT.
 netstat ? nos muestra toda la ayuda de este comando.
 Tener muy en cuenta los parámetros:
-a  Muestra todas las conexiones y puertos de  escucha.
No enseñara TODOS los puertos en los que algun programa de nuestro  equipo esta escuchando para recibir conexiones. Podremos ver que puertos  están abiertos en nuestro equipo.
-b  Muestra el archivo ejecutable involucrado en  la creación de cada conexión o puerto de escucha. En algunos casos, los  archivos ejecutables reconocidos hospedan múltiples componentes  individuales, y en esos casos, se mostrará la secuencia de componentes  involucrados en la creación de la conexión o puerto de escucha; el  nombre del ejecutable se mostrará entre [] en la parte inferior; en la  parte superior estará el componente que llamó, y así sucesivamente hasta  que se llegue a TCP/IP. Tenga en cuenta que esta opción puede tardar  bastante tiempo y no se ejecutará correctamente si no cuenta con  permisos suficientes.
 Requiere un Símbolo de sistema con  elevación de privilegios en Vista. Este  parámetro no esta disponible en versiones anteriores de Windows.
 Vamos que nos dice el nombre del ejecutable que esta escuchando en  ese puerto.
 
-n  Muestra números de puertos y direcciones  en formato numérico.
Así no tardara tanto ya que no resolverá los nombres de maquina.
 
-o  Muestra el Id. del proceso asociado con  cada conexión.
Nos muestra el identificador en el Administrador  de Tareas del proceso.
 Lo mejor es la combinación de ellos
netstat -noba
 

 Como el resultado es extenso podemos enviarlo a un  fichero de texto netstat -noba > FicheroPuertos.txt para  luego editarlo con el Bloc de Notas escribiendo notepad  FicheroPuertos.txt
 Así tendremos todos los nombres de los programas que están abriendo  algún puerto en el equipo, y sus conexiones.
 Una breve explicación con ejemplos:
 netstat
 TCP    10.10.10.10:59356      77.242.193.145:80       ESTABLISHED
Mi direccion (10.10.10.10) ha abierto el puerto 59356  para establecer una conexión (ESTABLISHED) a la dirección 77.242.193.145  por el puerto 80 (http, navegación)
TCP    10.10.10.10:60780      apollo:ftp              ESTABLISHED
Mi equipo (10.10.10.10:60780) esta conectado por ftp  (puerto 23) al servidor apollo
 netstat -noa
 Proto  Dirección local          Dirección remota        Estado            PID
TCP    10.10.10.10:63612      75.101.239.222:80      CLOSE_WAIT       5600
Mi equipo esta cerrando la conexion CLOSE_WAIT del proceso  id 5600 contra la direccion 75.101.239.222:80
 TCP    10.10.10.10:139        0.0.0.0:0              LISTENING        4
TCP    10.10.10.10:59354      0.0.0.0:0              LISTENING        2952
Los procesos id 4 y 2952 estan escuchando en los puertos 139 y 2952  respectivamente sin que exista nadie conectado.
 netstat -noba con elevacion en Vista
 [svchost.exe]
UDP    0.0.0.0:123            *

                                     1448   W32Time
[svchost.exe]
UDP    0.0.0.0:500            *

                                     1196  IKEEXT
El proceso [svchost.exe] ha levantado 2 procesos 1448  W32Time y 1196 IKEEXT que estan eschuchando en UDP  en los puertos 123 y 500.
 
Mas gráfico
 Todo esto esta muy bien y la ventaja es que funcionara en todos los  Windows, pero se puede hacer mas facil usando el programa TcpView que  nos podemos descargar de la web de Microsoft. El concepto es el mismo  que netstat pero en entorno grafico
 

 y con posibilidad de terminar procesos o averiguar datos de la  dirección a la que nos conectamos (o se nos conecta).
 
 TCPView for  Windows v2.53
Descarga directa de 
TcpView
 Otro programa grafico que podemos usar es
 Moo0  ConnectionWatcher con estadísticas de trafico enviado y recibido y  tiempo de uso.
 

 Ahora controlaremos un poco mas nuestras conexiones.
Fuente:
http://www.teayudo.es/quien-se-conecta-a-mi-equipo-donde-se-conecta-mi-equipo-comando-netstat/