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.
Opciones comunes
| Opción | Descripción |
|---|---|
| -n | Muestra direcciones y números de puerto numéricamente (evita la resolución DNS, haciendo la salida más rápida). |
| add | Agrega una ruta a la tabla. |
| del | Elimina una ruta de la tabla. |
| default | Se 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áticaLa 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 creadabash
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ón | Descripción |
|---|---|
| -a | Muestra todas las entradas en la caché ARP (el uso más común). |
| -d | Elimina una entrada específica. |
| -i <interfaz> | Muestra entradas solo para la interfaz especificada. |
Ejemplos prácticos
1
Mostrar todas las entradas en la caché ARPMuestra 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.5tcpdump
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.
| Opción | Descripción |
|---|---|
| -i <interfaz> | Escucha paquetes en la interfaz especificada (ej. enp0s3 o lo). |
| -n | No 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. |
| -D | Lista 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 disponiblesbash
sudo tcpdump -D2
Captura básica en tiempo realCaptura todo el tráfico en cualquier interfaz. Presiona Ctrl+C para detener.
bash
sudo tcpdump -i any3
Capturar 5 paquetes sin resolver nombresbash
sudo tcpdump -i enp0s3 -n -c 5
2. Generación de Archivos de Captura (.pcap)
4
Guardar los primeros 100 paquetesbash
# 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íficabash
# 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.87
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 .pcapbash
tcpdump -r mi_captura.pcap9
Lectura detallada sin resolución de nombresbash
tcpdump -nnvvS -r mi_captura.pcap
| -n | No resuelve IPs a hostnames. |
| -nn | Tampoco resuelve puertos a nombres de servicio. |
| -vv | Mayor nivel de verbosidad (más detalles). |
| -S | Muestra números de secuencia TCP absolutos. |
tcpdump vs tshark
Comparativa detallada
| Característica | tcpdump | tshark |
|---|---|---|
| Origen | Herramienta original nativa de UNIX. | Componente CLI de la suite Wireshark. |
| Análisis | Básico. Captura sin análisis profundo de protocolos. | Avanzado. Usa los mismos dissectores que Wireshark. |
| Filtros de captura | Sintaxis BPF (ej: port 80, host 192.168.1.1). | Sintaxis BPF para captura. |
| Filtros de visualización | No tiene. Usa grep/awk externo. | Filtros Wireshark (ej: http.request, ip.addr == …). |
| Uso típico | Capturas rápidas, servidores remotos sin GUI, scripts. | Análisis de protocolo, exportar datos, integración con Wireshark. |
| Requisitos | Muy 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.
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.
Ejemplos prácticos
1
Consultar información de registro de un dominio .combash
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 IPsbash
whois 8.8.8.8
Mostrará que la IP 8.8.8.8 pertenece a Google LLC.
3
Consultar dominio google.combash
whois google.com
4
Dominio con privacidadbash
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ón | Descripción |
|---|---|
| -n | Muestra direcciones IP numéricamente. |
| -c <N> | Envía N paquetes (en lugar de ejecutarse indefinidamente). |
| -r | Muestra la salida en modo informe (report) y termina. |
Ejemplos prácticos
1
Diagnóstico continuo de la ruta a GoogleSe 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 vnstatbash
sudo apt update && sudo apt install vnstat
2
Inicializar la base de datos para una interfazbash
sudo vnstat -u -i enp0s3
Ejemplos prácticos
3
Ver resumen del tráfico actual/diario/mensualbash
vnstat
4
Estadísticas de tráfico por horabash
vnstat -h5
Monitoreo en tiempo realMuestra la velocidad de transmisión y recepción actual. Presiona Ctrl+C para detener.
bash
vnstat -lifconfig / ifup / dhclient
Configuración de Interfaces
| Comando | Descripción | Requisitos |
|---|---|---|
| ifconfig enp0s3 | Muestra la configuración de la interfaz enp0s3. | net-tools |
| ifup / ifdown enp0s3 | Activa o desactiva la interfaz enp0s3. | sudo |
| dhclient enp0s3 | Fuerza a enp0s3 a obtener una IP por DHCP. | sudo, dhcp-client |
Ejemplos prácticos
1
Mostrar la configuración de la interfazbash
ifconfig enp0s3
2
Configurar una dirección IP estáticabash
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 DHCPbash
sudo dhclient enp0s3Diagnó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 enp0s37
Estadísticas detalladas de la NIC con ethtoolbash
ethtool enp0s3
Resolución de Nombres
8
Mostrar el nombre del hostbash
hostname
9
Resolver un dominio a IPbash
# 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 PIDsbash
sudo netstat -tup
11
Mostrar servicios en escucha (Listening)bash
sudo netstat -tupl
12
Mostrar todo el tráfico HTTP en enp0s3bash
sudo tcpdump -i enp0s3 tcp port 80
Gestión de Enrutamiento
Rutas estáticas y gateway
Ejemplos prácticos
1
Mostrar la tabla de enrutamientobash
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íficabash
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_forwardConfiguració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.
| Comando | Descripción | Requisitos |
|---|---|---|
| iwlist scan | Muestra las redes inalámbricas disponibles. | wireless-tools, sudo |
| iwconfig eth1 | Muestra la configuración de la tarjeta de red inalámbrica eth1. | wireless-tools |
Ejemplos prácticos
1
Mostrar redes inalámbricas disponiblesbash
sudo iwlist eth1 scan2
Mostrar configuración de la interfaz inalámbricabash
iwconfig eth1