¿Cómo funciona el rastreo de paquetes?

Tony Li explicó (muy correctamente, como es su costumbre) cómo funciona el olfateo en la computadora que lo hace. Pero no explicó cómo llegarán los paquetes a esa computadora en primer lugar.

En los “viejos tiempos”, las computadoras se conectaban a concentradores de ethernet. Cada vez que una computadora envía un paquete a cualquier otra computadora en el segmento local, todas las computadoras en ese segmento obtienen una copia del paquete. (En este ejemplo, un “enrutador” es solo una computadora especial. En realidad, en cualquier ejemplo, eso es cierto.) En este punto, es lo que dijo Tony: simplemente ponga su NIC en modo promiscuo (¡mi término de computadora favorito! 🙂 y escucha todos los paquetes.

En los “días más nuevos”, la gente usa conmutadores ethernet. Además de las transmisiones, los paquetes normalmente se envían solo al puerto de la computadora de destino. (Ignoraremos cosas como inundaciones debido a MAC desconocidos por el momento). En ese caso, normalmente no puede detectar el tráfico de otros usuarios porque su NIC nunca lo verá.

En ese caso, hay algo llamado “puerto de expansión”. Esta es una característica en los conmutadores y enrutadores donde dice “todo el tráfico para el destino X también se envía al puerto Y”. El enrutador o conmutador copia automáticamente todo el tráfico en ambos puertos, y coloca el sniffer (en modo promiscuo) en el puerto span para ver los paquetes.

Puede abarcar muchos puertos. Pero entonces podría encontrarse con un problema de limitaciones de ancho de banda. Por ejemplo, si abarca 24 puertos GigE en un solo puerto 10GE, puede obtener más de 10 Gbps de tráfico al puerto span. Luego, los paquetes se descartarán como cualquier otro puerto congestionado y su sniffer nunca los verá.

La mayoría del hardware NIC tiene un modo promiscuo, donde aceptará intencionalmente todos los paquetes que ve y los pasará al software. Después de eso, es solo una pequeña cuestión de programación.

Lea el modo promiscuo (modo sniffer), aquí hay un extracto de wiki:

En las redes IEEE 802 como Ethernet, token ring e IEEE 802.11, y en FDDI, cada trama incluye una dirección de control de acceso a medios (dirección MAC) de destino. En el modo no promiscuo, cuando una NIC recibe una trama, normalmente la descarta a menos que la trama se dirija a la dirección MAC de esa NIC o sea una trama de difusión internacional o multidifusión. Sin embargo, en el modo promiscuo, la tarjeta permite que pasen todos los cuadros, permitiendo así que la computadora lea los cuadros destinados a otras máquinas o dispositivos de red.