Introducción
Este laboratorio se centra en la monitorización de redes en Linux utilizando la herramienta de línea de comandos netstat. La monitorización de redes es esencial para los administradores de sistemas para comprender las conexiones, los servicios y los patrones de tráfico en sus sistemas.
A lo largo de este laboratorio, aprenderá cómo utilizar la utilidad netstat para mostrar las conexiones de red activas, los servicios en escucha y las estadísticas de las interfaces de red. Estas habilidades son fundamentales para solucionar problemas de red, monitorear el rendimiento del sistema y garantizar la seguridad de la red.
Al final de este laboratorio, podrá utilizar eficazmente netstat para obtener información sobre las actividades de red en un sistema Linux, lo cual es una habilidad valiosa para cualquier administrador de sistemas o profesional de TI.
Comprendiendo las Conexiones de Red con netstat
El comando netstat es una poderosa utilidad de red que muestra conexiones de red, tablas de enrutamiento, estadísticas de interfaces y más. En este paso, aprenderá cómo utilizar netstat para ver las conexiones de red activas.
Primero, naveguemos hasta el directorio del proyecto donde trabajaremos:
cd /home/labex/project
¿Qué es netstat?
El comando netstat (estadísticas de red) muestra varios tipos de información relacionada con la red, como conexiones de red, tablas de enrutamiento, estadísticas de interfaces y más. Es una herramienta valiosa para comprender las actividades de red de su sistema.
Ver conexiones activas
Ejecutemos el comando netstat con opciones específicas para mostrar las conexiones TCP activas:
netstat -nat > connections.txt
En este comando:
-nmuestra las direcciones y números de puerto en forma numérica en lugar de resolverlos a nombres de host o nombres de servicio-amuestra todos los sockets (tanto los en escucha como los que no lo están)-tmuestra solo las conexiones TCP> connections.txtredirige la salida a un archivo llamadoconnections.txt
Ahora veamos el contenido del archivo que creamos:
cat connections.txt
La salida debería ser similar a esta:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Comprender la salida
Proto: El protocolo utilizado (TCP en este caso)Recv-Q: La cantidad de bytes no copiados por el programa de usuario conectado a este socketSend-Q: La cantidad de bytes no reconocidos por el host remotoLocal Address: La dirección y el número de puerto del extremo local del socketForeign Address: La dirección y el número de puerto del extremo remoto del socketState: El estado del socket (LISTEN, ESTABLISHED, etc.)
El estado LISTEN indica que el servicio está en ejecución y esperando conexiones entrantes en ese puerto específico.
Monitoreo de Servicios en Escucha
En este paso, aprenderá cómo identificar qué servicios están esperando conexiones en su sistema. Esta información es crucial para la auditoría de seguridad y la resolución de problemas relacionados con la red.
Identificar servicios en escucha
Utilicemos el comando netstat para buscar específicamente servicios que estén en el estado LISTEN:
netstat -natu | grep LISTEN > listening_services.txt
En este comando:
-nmuestra direcciones numéricas-amuestra todos los sockets-tincluye conexiones TCP-uincluye conexiones UDP| grep LISTENfiltra la salida para mostrar solo las líneas que contengan "LISTEN"> listening_services.txtguarda la salida en un archivo
Ahora examinemos el contenido del archivo:
cat listening_services.txt
Debería ver una salida similar a esta:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Comprender los servicios en escucha
Cada línea de la salida representa un servicio que actualmente está aceptando conexiones:
- Los servicios que escuchan en
0.0.0.0están aceptando conexiones desde cualquier interfaz de red - Los servicios que escuchan en
127.0.0.1solo están aceptando conexiones desde la máquina local - Los servicios que escuchan en
:::son direcciones IPv6 que aceptan conexiones desde cualquier interfaz de red
Los números de puerto (como 22 para el servicio SSH o 631 para el servicio de impresión CUPS) identifican qué servicio está escuchando. Por ejemplo:
- Puerto 22: Servicio SSH
- Puerto 80: Servicio HTTP (web)
- Puerto 443: Servicio HTTPS
- Puerto 631: Servicio de impresión CUPS
Esta información le ayuda a entender qué servicios están expuestos en su sistema, lo cual es valioso para las evaluaciones de seguridad y la resolución de problemas.
Análisis de Estadísticas de Interfaces de Red
En este paso, aprenderá cómo ver las estadísticas de sus interfaces de red. Estas estadísticas proporcionan información valiosa sobre el rendimiento y el uso de sus interfaces de red.
Ver estadísticas de interfaces
Utilicemos netstat para mostrar las estadísticas de todas las interfaces de red:
netstat -i > interface_stats.txt
En este comando:
-imuestra una tabla de todas las interfaces de red> interface_stats.txtguarda la salida en un archivo
Ahora examinemos el contenido del archivo:
cat interface_stats.txt
Debería ver una salida similar a esta:
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 123456 0 0 0 98765 0 0 0 BMRU
lo 65536 789 0 0 0 789 0 0 0 LRU
Comprender las estadísticas de interfaces de red
La salida proporciona estadísticas importantes sobre cada interfaz de red:
Iface: El nombre de la interfaz de redeth0: Típicamente, la primera interfaz Ethernetlo: La interfaz de bucle invertido (loopback) utilizada para conexiones locales
MTU: Unidad de Transmisión Máxima (Maximum Transmission Unit) - el tamaño máximo de paquete que se puede transmitir- La Ethernet estándar suele utilizar 1500 bytes
- La interfaz de bucle invertido suele tener un MTU mayor (65536)
RX-OK: Número de paquetes recibidos sin erroresRX-ERR: Número de paquetes recibidos con erroresRX-DRP: Número de paquetes recibidos descartadosRX-OVR: Número de desbordamientos de paquetes recibidosTX-OK: Número de paquetes transmitidos sin erroresTX-ERR: Número de paquetes transmitidos con erroresTX-DRP: Número de paquetes transmitidos descartadosTX-OVR: Número de desbordamientos de paquetes transmitidosFlg: Indicadores que muestran el estado de la interfazB: Dirección de difusión (broadcast) configuradaM: Multidifusión (multicast) habilitadaR: La interfaz está en funcionamientoU: La interfaz está activa
Estas estadísticas le ayudan a monitorear el rendimiento de la red e identificar posibles problemas, como pérdida de paquetes o errores de transmisión.
Comandos adicionales para estadísticas de red
Para obtener una vista más completa de las estadísticas de red, también puede utilizar:
netstat -s | head -20 > protocol_stats.txt
Este comando muestra las estadísticas de protocolos para TCP, UDP, IP, ICMP y otros protocolos. Estamos utilizando head -20 para limitar la salida a las primeras 20 líneas para facilitar la lectura.
Veamos este archivo:
cat protocol_stats.txt
Esto proporciona estadísticas detalladas sobre el rendimiento de cada protocolo, lo que le ayuda a identificar posibles problemas de red a nivel de protocolo.
Resumen
En este laboratorio, has aprendido cómo utilizar el comando netstat para monitorear diversos aspectos de la actividad de red en un sistema Linux. Las habilidades clave que has adquirido incluyen:
Ver conexiones de red activas para entender qué conexiones están establecidas en tu sistema.
Identificar servicios en escucha para determinar qué puertos están abiertos y potencialmente expuestos a la red.
Analizar estadísticas de interfaces de red para monitorear el rendimiento y la salud de tus interfaces de red.
Estas habilidades son esenciales para administradores de sistemas, ingenieros de red y profesionales de seguridad que necesitan entender y solucionar problemas relacionados con la red. El comando netstat proporciona información valiosa sobre las actividades de red de tu sistema, ayudándote a mantener un rendimiento y una seguridad óptimos.
Si bien netstat se considera obsoleto en muchas distribuciones Linux modernas y está siendo reemplazado por herramientas como ss e ip, entender netstat proporciona una base sólida para los conceptos de monitoreo de red que se aplican a todas estas herramientas.



