Netstat es el resultado de unir las palabras «Network Statistics». Es una herramienta basada en Línea de Comandos que nos detalla información sobre las conexiones de red (entrantes y salientes), tablas de enrutamiento, protocolos de red usados a interfaces de cada dispositivo de red.
Esta herramienta se encuentra disponible en muchas plataformas: Mac OS X, Solaris, Linux y , por supuesto, sistemas basados en Windows NT, desde Windows XP a Windows 7/8.
El propósito de este programa es encontrar problemas de red y determinar la cantidad de tráfico que se produce en la red y así comprobar el rendimiento que esta ofrece.
Como usar NetStat de Windows
Para abrir la interfaz de NetStat tenemos 2 opciones:
- Menú Inicio > Ejecutar y escribir CMD. Después botón derecho sobre el icono y «Ejecutar como administrador».
- Otra opción es presionar tecla de Windows+R, lo que abrirá el cuadro de diálogo «Ejecutar como administrador» de forma directa.
Una vez iniciada la Línea de Comandos, pasemos a ver que podemos hacer con NetStat:
NOTA: si introducimos solo «netstat» veremos las Conexiones Activas por defecto.
Comandos disponibles en Netstat
Opción |
Detalles
|
-a |
Muestra las conexiones activas y los puertos TCP and UDP en los que el PC está escuchando (esperando datos) |
-b (Windows) |
Muestra los programas binary (ejecutables)involucrados en cada conexión o puerto |
-b (OS X, NetBSD) |
Consigue que el parámetro -i muestre el tráfico total en bytes. |
-e |
Muestra las estadísticas de ethernet, como número de bytes o paquetes enviados y recibidos. Se puede combinar con el parámetro -s |
-f (Windows) |
Muestra los nombres de dominio totalmente (fully) soportados para direcciones extranjeras (Vista y posterior) |
-f Address Family(FreeBSD) |
Limita las estadísticas a un tipo específico de socket: unix, inet o inet6 |
-g |
Muestra los miembros de grupos multidifusión para estándares IPv4 e IPv6 |
-i |
Muestra interfaces y sus estadísticas (no en Windows) |
-m |
Muestra las estadísticas de memoria para códigos de red |
-n |
Muestra las conexiones TCP activas, aunque las direcciones y números de puerto son representados de forma númerica sin determinar los nombres |
-o (Windows) |
Muestra las conexiones TCP activas incluyendo además el process ID (PID) de cada una. Podemos encontrar la aplicación en la que se basa el PID mirando en la pestaña «procesos» de Administrador de Tareas de Windows. Puede combinarse con -a, -n, y -p. Funciona sobre Windows XP, 2003 Server (y Windows 2000 mediante Hotfix).
|
-p protocolo(Windows y BSD) |
Protocol Muestra las conexiones para el protocolo especificado. En este caso, protocol puede referirse a tcp, udp, tcpv6, o udpv6. Si se combina con el parámetro -s para ver estadísticas en función del protocolo, podría incluír tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6 y por último ipv6. |
-p (Linux) |
Muestra los procesos que son usados por cada Socket (similar a -b bajo Windows) (requiere derechos root) |
-P protocol(Solaris) |
Muestra las conexiones para el protocolo especificado en protocol. En este caso, protocol protocol puede ser ip, ipv6, icmp, icmpv6, igmp, udp, tcp, o rawip. |
-r |
Muestra el contenido de la tabla de Enrutamiento IP. Similar a route print bajo Windows. |
-s |
Muestra estadísticas en función de protocolo. Por defecto incluyen: TCP, UDP, ICMP e IP. Si el sistema lo soporta, puede también incluir: IPv6, UDP sobre IPv6, TCP sobre IPv6 y, por último, ICMPv6. El parámetro -p nos permite filtrar mediante protocolos. |
-t (Linux) |
Muestra únicamente las conexiones TCP |
-w (FreeBSD) |
Muestra la salida total de datos – sin truncar nombres de servidor o direcciones IPv6. |
-v (Windows) |
Si lo usamos junto con -b, mostrará la consecución de componentes envueltos en la conexión o escucha de puertos para todos los ejecutables. |
Interval |
Refresca la información solicitada a intervalos ajustables. Presionaremos CTRL+C para detener el refresco. Si no se usa, la información de NetStat solo se mostrará una vez. |
-h (unix)
/? (windows) |
Muestra la ayuda. |
Estadísticas proporcionadas por Netstat
- Proto – nombre de protocolo (tcp o udp)
- Local Address – La dirección IP del ordenador local y el número de puerto en uso. El nombre del PC local que corresponde a cada dirección IP y el nombre del puerto es mostrado, salvo que se especifique el parámetro -n. Si el puerto aún no se ha establecido, aparecerá marcado con un asterisco (*)
- Foreign Address – La dirección IP y el número de puerto del ordenador remoto al que el socket está conectado.
- State – Indica el estado de la conexión TCP. Estados posibles: CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND, y TIME_WAIT. Más información en RFC 793.
Ejemplo en Windows
Para mostrar las conexiones TCP activas para cada process ID a intervalos de 5 segundos, escribiremos lo siguiente (Windows XP/2003):
Otro post sobre conexiones tcp y netstat:
http://www.sysadmit.com/2015/01/windows-eliminar-conexiones-activas-tcp.html
Con una herramienta de sourceforge se puede eliminar la conexión sin necesidad de saber el proceso que la establece.