netstat es una herramienta de red que todo el mundo debería de conocer más o menos en profundidad. Aunque es simple de entender y de usar, la verdad es que nos puede dar una cantidad importante de información sobre el estado de la red en nuestro equipo.
Gracias a netstat se pueden imprimir desde estadísticas de red a tablas de rutas, pasando por todas aquellas conexiones de red activas que tiene el equipos. Aunque, por ejemplo, en sistemas GNU/Linux hay comandos específicos que hacen dichas tareas de forma aislada, netstat es multiplataforma (Windows, Linux y MAC) y permite, variando las opciones, también extraer dicha información.
- Estadísticas e interfaces
shell> netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP... eth0 1500 0 10262 0 0 0 79922 0 0... lo 5536 0 1392 0 0 0 10392 0 0...
El significado de cada una de estas columnas es el siguiente: - Iface: Representa el interfaz de red conocido por el sistema para el que se presentan las estadísticas.
- MTU: Unidad Máxima de Transmisión que el interfaz puede enviar de una sola vez.
- RX: Representan las estadísticas sobre los paquetes recibidos en el interfaz.
- TX: Representan las estadísticas sobre los paquetes recibidos en el interfaz.
- OK: Recibido/enviado correctamente
- ERR: Recibido/enviado con error
- DRP: Eliminado por que el buffer estaba lleno.
Esto sucede si se envían/reciben muchos paquetes en muy poco tiempo. - OVR: Eliminado por que el paquete no pudo ser manejado por el kernel.Si hay paquetes aquí significa que la máquina tuvo mucha carga.
- FLG: Flags activos en el interfaz. Pueden ser:
- B: Presenta capacidad de broadcast
- M: Presenta capacidad de multicast
- L: Interfaz de loopback
- U: UP/Activa
- R: Running/Ejecutándose
- Tabla de rutas
shell> netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 10.0.0.15 * 255.255.255.0 U 0 0 0 eth0 192.168.1.32 * 255.255.255.0 U 0 0 0 eth1
Y a continuación una breve explicación de qué significa cada una de las columnas que componen la salida. - Destination: Indica el destino, o la ruta que cogerá este paquete. Cada vez que se envía un paquete se examina esta tabla y se decide por donde enviar el paquete con aquella ruta que cumpla la condición. En caso de que no haya una más específica, se envía por la 'ruta por defecto'.
- Gateway: Indica a dónde mandar el paquete, o lo que es lo mismo, el siguiente salto del paquete.Un '*' significa que queda dentro de la misma red.
- Genmask: Máscara de red.
- Flags: Los flags que se van a aplicar.
- U: UP
- G: Gateway
- H: Dirección de host completa.
- MSS: Maximum Segment Size.Parámetro TCP usado para dividir los paquetes en partes más pequeñas, en caso de que el destino no sea capaz de trabajar con tamaños estándar.En la actualidad casi no se emplea y está prefijado a 0.
- Window: Al igual que MSS, permite alterar un parámetro TCP Default Windows Size, que indica el número de paquete máximo a enviar antes de que uno de ellos sea de ACK.
- irtt: Initial Round Trip Time.
Lo puede usar el kernel para adivinar la mejor configuración de parámetros TCP. - Iface: Indica el interfaz por el que se envían los paquetes