Modo promiscuo en redes
Normalmente, una tarjeta de red solo acepta paquetes destinados a su propia MAC o a broadcast/multicast.
- Por ejemplo, si tu host tiene MAC
AA:BB:CC:DD:EE:FF, solo procesa los paquetes dirigidos a esa MAC.
- Todo lo demás se ignora a nivel de la pila TCP/IP.
Qué hace el modo promiscuo
Cuando activas modo promiscuo en una NIC o un bridge virtual:
- La tarjeta acepta todos los paquetes que pasan por ella, no solo los dirigidos a su MAC.
- Esto permite que un programa, hypervisor o sniffer vea tráfico de otras máquinas en la misma red.
En VirtualBox
- En modo BRIDGE, si activas “modo promiscuo” para la interfaz de la VM:
- La VM puede recibir paquetes destinados a otras MAC de la LAN
- Esto se usa para:
- Sniffing de red
- Redes de laboratorio
- Máquinas que necesitan “ver” todo el tráfico de la LAN
- Si no está activo, la VM solo ve:
- Sus propios paquetes
- Broadcast/multicast
Ejemplo visual simplificado
Host NIC (promiscuo OFF) → recibe solo paquetes con MAC del host
Host NIC (promiscuo ON) → recibe todos los paquetes que pasan por la NIC
- VirtualBox puede usar esto para hacer que la VM vea todo el tráfico de la LAN, no solo el suyo.
Para que se usa
Normalmente, una tarjeta de red es "educada": si llega un paquete cuya dirección MAC de destino no es la suya, lo descarta inmediatamente a nivel de hardware para no molestar a la CPU. Al activar el modo promiscuo, le dices a la tarjeta: "Pásame absolutamente todo lo que pase por el cable (o el switch virtual), sea para mí o no".
¿Para qué se usa en la práctica?
- IDS (Sistemas de Detección de Intrusiones): Herramientas como Snort o Suricata necesitan ver todo el tráfico que circula por un segmento de red para buscar patrones de ataques, malware o firmas sospechosas. Sin modo promiscuo, solo verían el tráfico dirigido específicamente a la máquina donde están instalados.
- Analizadores de Protocolos (Sniffing): El ejemplo clásico es Wireshark. Si quieres capturar el tráfico entre otros dos dispositivos de la red para diagnosticar un problema, necesitas que tu interfaz acepte esos paquetes "ajenos".
- Monitorización de red: Para sacar estadísticas de consumo, tipos de protocolos más usados o detectar cuellos de botella en un segmento.