Ghost AcademySecLearn// Seguridad Informática
🐧 Linux Networking

Comandos de Red en Linux

Guía interactiva de comandos esenciales para el análisis, diagnóstico y configuración de redes.

9Comandos
30+Ejemplos
6Categorías
🗺️
route
Tabla de Enrutamiento
$ route -n
El comando route (aunque obsoleto y reemplazado por ip route, sigue siendo funcional) se utiliza para ver y manipular las entradas en la tabla de enrutamiento del núcleo. Esta tabla determina por dónde deben enviarse los paquetes de red para llegar a diferentes destinos.
⚠️
Obsoleto: Este comando forma parte de net-tools. Se recomienda usar ip route en sistemas modernos, aunque route sigue siendo funcional.
Opciones comunes
OpciónDescripción
-nMuestra direcciones y números de puerto numéricamente (evita la resolución DNS, haciendo la salida más rápida).
addAgrega una ruta a la tabla.
delElimina una ruta de la tabla.
defaultSe refiere a la puerta de enlace (gateway) por defecto.
Ejemplos prácticos
1
Ver la tabla de enrutamiento (numérica)
Uso más común. Muestra las redes conectadas directamente y la puerta de enlace predeterminada.
bash
route -n
Salida esperada
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref  Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0      0 enp0s3  ← Ruta por defecto (Gateway)
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0      0 enp0s3  ← Red local
2
Agregar una ruta estática
La red 172.16.0.0/16 es accesible a través de un router con IP 192.168.1.254.
bash
sudo route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.1.254 dev enp0s3
💡
Esta ruta es temporal y se perderá al reiniciar. Para hacerla persistente se requieren modificaciones en archivos de configuración del SO (netplan, NetworkManager, etc.).
3
Eliminar la ruta creada
bash
sudo route del -net 172.16.0.0 netmask 255.255.0.0
🔗
arp
Caché ARP — IP ↔ MAC
$ arp -a
El Protocolo de Resolución de Direcciones (ARP) mapea direcciones IP (Capa 3) a direcciones físicas MAC (Capa 2) dentro de una red local. El comando arp te permite inspeccionar y manipular la caché ARP del sistema.
OpciónDescripción
-aMuestra todas las entradas en la caché ARP (el uso más común).
-dElimina una entrada específica.
-i <interfaz>Muestra entradas solo para la interfaz especificada.
Ejemplos prácticos
1
Mostrar todas las entradas en la caché ARP
Muestra la IP y la dirección MAC de los dispositivos con los que te has comunicado recientemente en tu red local.
bash
arp -a
Salida esperada
? (192.168.1.1) at 00:50:56:ff:ff:ff [ether] on enp0s3  ← Router/Gateway
? (192.168.1.5) at 08:00:27:01:02:03 [ether] on enp0s3
2
Eliminar una entrada específica
Útil para diagnosticar problemas o forzar una nueva resolución ARP.
bash
sudo arp -d 192.168.1.5
🔬
tcpdump
Captura de Tráfico de Red
$ sudo tcpdump -i enp0s3
tcpdump es un potente analizador de paquetes de línea de comandos. Se utiliza para capturar, filtrar y examinar los paquetes que viajan a través de una interfaz de red.
📦 Instalación:
bash
sudo apt install tcpdump
OpciónDescripción
-i <interfaz>Escucha paquetes en la interfaz especificada (ej. enp0s3 o lo).
-nNo resuelve nombres DNS (muestra IPs numéricas).
-c <N>Detiene la captura después de capturar N paquetes.
-w <archivo>Escribe los paquetes capturados en un archivo .pcap para análisis posterior.
-DLista las interfaces de red disponibles.
-r <archivo>Lee paquetes desde un archivo .pcap.
1. Comprobación de Interfaces y Modo Básico
1
Listar interfaces disponibles
bash
sudo tcpdump -D
2
Captura básica en tiempo real
Captura todo el tráfico en cualquier interfaz. Presiona Ctrl+C para detener.
bash
sudo tcpdump -i any
3
Capturar 5 paquetes sin resolver nombres
bash
sudo tcpdump -i enp0s3 -n -c 5
2. Generación de Archivos de Captura (.pcap)
4
Guardar los primeros 100 paquetes
bash
# Reemplaza 'enp0s3' con tu interfaz si es necesario
sudo tcpdump -i enp0s3 -c 100 -w mi_captura.pcap
5
Captura de tráfico web (HTTP/HTTPS)
bash
# Captura en cualquier interfaz, guardando en un archivo
sudo tcpdump -i any 'port 80 or port 443' -w trafico_web.pcap
💡
Mientras el comando esté corriendo, abre un navegador y visita algunas páginas web para generar tráfico.
3. Filtrar por Destino y Protocolo
6
Capturar tráfico hacia una IP específica
bash
# Captura 50 paquetes destinados a Google DNS (8.8.8.8)
sudo tcpdump -i enp0s3 -c 50 dst host 8.8.8.8 -w dns_google.pcap
⚡
Para generar tráfico rápidamente hacia 8.8.8.8, ejecuta en otra terminal: ping -c 50 8.8.8.8
7
Capturar tráfico DNS (puerto 53 UDP)
bash
sudo tcpdump -i any udp port 53 -w peticiones_dns.pcap
💡
Prueba ping google.com en otra terminal para generar tráfico DNS mientras captura.
4. Inspeccionar Archivos de Captura
8
Leer un archivo .pcap
bash
tcpdump -r mi_captura.pcap
9
Lectura detallada sin resolución de nombres
bash
tcpdump -nnvvS -r mi_captura.pcap
-nNo resuelve IPs a hostnames.
-nnTampoco resuelve puertos a nombres de servicio.
-vvMayor nivel de verbosidad (más detalles).
-SMuestra números de secuencia TCP absolutos.
⚖️
tcpdump vs tshark
Comparativa detallada
Característica tcpdump tshark
OrigenHerramienta original nativa de UNIX.Componente CLI de la suite Wireshark.
AnálisisBásico. Captura sin análisis profundo de protocolos.Avanzado. Usa los mismos dissectores que Wireshark.
Filtros de capturaSintaxis BPF (ej: port 80, host 192.168.1.1).Sintaxis BPF para captura.
Filtros de visualizaciónNo tiene. Usa grep/awk externo.Filtros Wireshark (ej: http.request, ip.addr == …).
Uso típicoCapturas rápidas, servidores remotos sin GUI, scripts.Análisis de protocolo, exportar datos, integración con Wireshark.
RequisitosMuy ligero. Suele venir preinstalado.Requiere instalar la suite Wireshark (más pesado).
🎯
Usa tcpdump cuando necesites ligereza, capturas rápidas o estés en un servidor sin GUI.
Usa tshark cuando necesites análisis de protocolo profundo, filtros complejos o exportar datos.
🌐
whois
Consulta de Dominios y Redes
$ whois google.com
El comando whois consulta bases de datos públicas para obtener información de registro sobre un nombre de dominio o dirección IP: registrante, administrador, fechas de creación/expiración y servidores de nombres.
📦 Instalación:
bash
sudo apt install whois
Ejemplos prácticos
1
Consultar información de registro de un dominio .com
bash
whois wikipedia.org
Mostrará: registrante (Wikimedia Foundation), ID del registrador, datos de contacto, y fechas de registro.
2
Consultar información sobre un bloque de IPs
bash
whois 8.8.8.8
Mostrará que la IP 8.8.8.8 pertenece a Google LLC.
3
Consultar dominio google.com
bash
whois google.com
4
Dominio con privacidad
bash
whois wordpress.com
Demuestra cómo los registrantes protegen su identidad mostrando información de un servicio de privacidad en lugar de datos personales.
5
Forzar consulta a servidor específico (dominios .es)
Los dominios .es requieren consulta al servidor whois.nic.es o a través de dominios.es.
bash
whois -h whois.nic.es adidas.es
📡
mtr
My Traceroute — Diagnóstico de Ruta
$ mtr google.com
mtr (My Traceroute) es una poderosa herramienta que combina las funciones de ping y traceroute. Muestra continuamente la ruta a un destino junto con estadísticas de latencia y pérdida de paquetes en cada salto (router intermedio).
OpciónDescripción
-nMuestra direcciones IP numéricamente.
-c <N>Envía N paquetes (en lugar de ejecutarse indefinidamente).
-rMuestra la salida en modo informe (report) y termina.
Ejemplos prácticos
1
Diagnóstico continuo de la ruta a Google
Se ejecuta en tiempo real. Presiona q o Ctrl+C para detener.
bash
mtr google.com
2
Generar informe de ruta con 10 paquetes y salir
Útil para compartir un diagnóstico rápido y concreto.
bash
mtr -r -c 10 8.8.8.8
📊
vnstat
Monitor de Tráfico de Red
$ vnstat
vnstat es un monitor de tráfico de red en consola que mantiene un registro del tráfico para las interfaces seleccionadas. Los datos se almacenan en una base de datos y se usan para generar informes por hora, día o mes.
Instalación y configuración inicial
1
Instalar vnstat
bash
sudo apt update && sudo apt install vnstat
2
Inicializar la base de datos para una interfaz
bash
sudo vnstat -u -i enp0s3
Ejemplos prácticos
3
Ver resumen del tráfico actual/diario/mensual
bash
vnstat
4
Estadísticas de tráfico por hora
bash
vnstat -h
5
Monitoreo en tiempo real
Muestra la velocidad de transmisión y recepción actual. Presiona Ctrl+C para detener.
bash
vnstat -l
⚙️
ifconfig / ifup / dhclient
Configuración de Interfaces
⚠️
Obsoleto: Los comandos ifconfig, route, mii-tool e iwconfig se consideran obsoletos. Las herramientas modernas son ip y ss.
ComandoDescripciónRequisitos
ifconfig enp0s3Muestra la configuración de la interfaz enp0s3.net-tools
ifup / ifdown enp0s3Activa o desactiva la interfaz enp0s3.sudo
dhclient enp0s3Fuerza a enp0s3 a obtener una IP por DHCP.sudo, dhcp-client
Ejemplos prácticos
1
Mostrar la configuración de la interfaz
bash
ifconfig enp0s3
2
Configurar una dirección IP estática
bash
sudo ifconfig enp0s3 192.168.1.1 netmask 255.255.255.0
3
Activar modo Promiscuo (sniffing)
Permite a la interfaz capturar todo el tráfico del segmento de red, no solo el dirigido a ella. Necesario para herramientas como Wireshark o tcpdump.
bash
# Activar modo promiscuo
sudo ifconfig enp0s3 promisc

# Volver al modo normal
sudo ifconfig enp0s3 -promisc
⚠️
Nota: En redes con switches inteligentes, el modo promiscuo solo captura el tráfico que el switch envía a tu máquina. Para capturar todo en una red conmutada se necesita un puerto espejo (SPAN).
4
Obtener IP automática por DHCP
bash
sudo dhclient enp0s3
Diagnóstico de Hardware y Enlace
5
Mostrar estado de enlace de todas las interfaces (moderno)
bash
ip link show
6
Mostrar estado de enlace con mii-tool (obsoleto)
bash
sudo mii-tool enp0s3
7
Estadísticas detalladas de la NIC con ethtool
bash
ethtool enp0s3
Resolución de Nombres
8
Mostrar el nombre del host
bash
hostname
9
Resolver un dominio a IP
bash
# Opción 1: host
host www.google.com

# Opción 2: nslookup
nslookup www.google.com
Conexiones y Servicios (netstat)
10
Mostrar conexiones TCP/UDP activas con PIDs
bash
sudo netstat -tup
11
Mostrar servicios en escucha (Listening)
bash
sudo netstat -tupl
12
Mostrar todo el tráfico HTTP en enp0s3
bash
sudo tcpdump -i enp0s3 tcp port 80
🛣️
Gestión de Enrutamiento
Rutas estáticas y gateway
Ejemplos prácticos
1
Mostrar la tabla de enrutamiento
bash
route -n
2
Configurar una ruta predeterminada (Gateway)
bash
# 1. Eliminar la ruta predeterminada existente (si la hay)
sudo route del 0/0 gw 192.168.1.1

# 2. Configurar la nueva entrada predeterminada
sudo route add -net 0/0 gw 192.168.1.1
3
Ruta estática para una subred específica
bash
sudo route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
4
Activar el reenvío de IP (IP Forwarding)
Convierte la máquina en un router básico, permitiendo el paso de paquetes entre diferentes redes.
bash
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
📶
Configuración Inalámbrica
iwlist / iwconfig
ℹ️
Estos comandos se utilizan típicamente en interfaces inalámbricas como wlan0 o eth1, no en la interfaz principal si es cableada.
ComandoDescripciónRequisitos
iwlist scanMuestra las redes inalámbricas disponibles.wireless-tools, sudo
iwconfig eth1Muestra la configuración de la tarjeta de red inalámbrica eth1.wireless-tools
Ejemplos prácticos
1
Mostrar redes inalámbricas disponibles
bash
sudo iwlist eth1 scan
2
Mostrar configuración de la interfaz inalámbrica
bash
iwconfig eth1