Saltar al contenido principal

Capítulo 7.4 - Herramientas de Red

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Utilizar herramientas de diagnóstico de red
  • Monitorear las conexiones de red
  • Analizar el tráfico de red
  • Comprender los puertos y servicios
  • Solucionar problemas de red

Herramientas de Diagnóstico​

ping - Prueba de Conectividad​

# Ping simple
ping google.com
ping 8.8.8.8

# Número limitado
ping -c 4 google.com

# Intervalo
ping -i 2 google.com # Cada 2 segundos

# Tamaño de paquete
ping -s 1000 google.com # 1000 bytes

# Timeout
ping -W 5 google.com # 5 segundos

traceroute - Rastrear la Ruta​

# Rastrear ruta
traceroute google.com

# Con tracepath (iputils)
tracepath google.com

# Número máximo de saltos
traceroute -m 15 google.com

# Con mtr (tiempo real)
sudo apt install mtr
mtr google.com

Conexiones y Puertos​

ss - Estadísticas de Socket (Moderno)​

# Todas las conexiones
ss -tuln

# Opciones:
# -t: TCP
# -u: UDP
# -l: Escuchando (listening)
# -n: Numérico (sin resolución)
# -p: Proceso
# -a: Todas

# Conexiones TCP
ss -tn

# Conexiones UDP
ss -un

# Puertos en escucha
ss -tuln | grep LISTEN

# Conexiones establecidas
ss -tn | grep ESTAB

# Por proceso
ss -tulnp

# Por puerto
ss -tuln sport = :80
ss -tuln dport = :443

netstat - Estadísticas de Red (Clásico)​

# Instalar si es necesario
sudo apt install net-tools

# Todas las conexiones
netstat -tuln

# Con proceso
netstat -tulnp

# Conexiones establecidas
netstat -tn

# Estadísticas
netstat -s

lsof - Listar Archivos Abiertos​

# Puertos abiertos por proceso
sudo lsof -i

# Puerto específico
sudo lsof -i :80
sudo lsof -i :443

# Solo TCP
sudo lsof -iTCP

# Por proceso
sudo lsof -i -p 1234

Análisis de Tráfico​

tcpdump - Captura de Paquetes​

# Instalar
sudo apt install tcpdump

# Capturar todo
sudo tcpdump -i eth0

# Número limitado
sudo tcpdump -c 10 -i eth0

# Filtros
sudo tcpdump -i eth0 host 8.8.8.8
sudo tcpdump -i eth0 port 80
sudo tcpdump -i eth0 tcp port 443

# Guardar
sudo tcpdump -i eth0 -w capture.pcap

# Leer archivo
tcpdump -r capture.pcap

wireshark - Analizador Gráfico​

# Instalar
sudo apt install wireshark

# Iniciar (GUI)
wireshark

# O en línea de comandos
tshark -i eth0

Información de Red​

iftop - Monitor de Ancho de Banda​

# Instalar
sudo apt install iftop

# Monitorear interfaz
sudo iftop -i eth0

# Muestra: conexiones, ancho de banda utilizado

nethogs - Por Proceso​

# Instalar
sudo apt install nethogs

# Monitorear
sudo nethogs

# Interfaz específica
sudo nethogs eth0

bmon - Monitor de Ancho de Banda​

# Instalar
sudo apt install bmon

# Monitorear
bmon

# Interfaz específica
bmon -p eth0

Firewall e iptables​

Ver las Reglas​

# iptables
sudo iptables -L -n -v

# Con números de línea
sudo iptables -L -n -v --line-numbers

# Por tabla
sudo iptables -t nat -L -n -v
sudo iptables -t mangle -L -n -v

ufw (Ubuntu Firewall)​

# Estado
sudo ufw status

# Activar
sudo ufw enable

# Reglas
sudo ufw allow 22/tcp
sudo ufw deny 80/tcp
sudo ufw delete allow 80/tcp

Información del Sistema​

Estadísticas de Red​

# Estadísticas de interfaces
ip -s link show

# Estadísticas detalladas
cat /proc/net/dev

# Estadísticas por protocolo
cat /proc/net/snmp

Información de la Interfaz​

# Con ethtool
ethtool eth0
ethtool -S eth0 # Estadísticas
ethtool -i eth0 # Información del driver

# Con ip
ip -d link show eth0

Scripts Útiles​

Verificación Completa​

#!/bin/bash
# Diagnóstico de red completo

echo "=== Interfaces ==="
ip addr show

echo "=== Rutas ==="
ip route show

echo "=== DNS ==="
cat /etc/resolv.conf

echo "=== Conexiones ==="
ss -tuln

echo "=== Prueba de conectividad ==="
ping -c 2 8.8.8.8

echo "=== Puertos en escucha ==="
ss -tuln | grep LISTEN

Monitoreo de Ancho de Banda​

#!/bin/bash
# Monitorear ancho de banda

INTERFACE="eth0"

while true; do
RX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

sleep 1

RX_BYTES_NEW=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_BYTES_NEW=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

RX_RATE=$(( (RX_BYTES_NEW - RX_BYTES) / 1024 ))
TX_RATE=$(( (TX_BYTES_NEW - TX_BYTES) / 1024 ))

echo "RX: ${RX_RATE} KB/s TX: ${TX_RATE} KB/s"
done

Resumen​

En este capítulo, usted ha aprendido:

Diagnóstico: ping, traceroute, mtr
Conexiones: ss (moderno), netstat (clásico), lsof
Análisis: tcpdump, wireshark para captura
Monitoreo: iftop, nethogs, bmon para ancho de banda
Firewall: iptables, ufw para reglas
Estadísticas: /proc/net/, ip -s, ethtool
Scripts: Automatización de diagnósticos


Próximos Pasos​

Módulo 8: Servicios y Demonios (con crons avanzados)
Módulo 9: Seguridad del Sistema


Capítulo creado el: Diciembre 2024