AFAIK, la NIC recibe todos los paquetes del cable en una red de área local pero rechaza aquellos paquetes cuya dirección de destino no es igual a su ip.
Quiero desarrollar una aplicación que monitoree el uso de internet de los usuarios. Cada usuario tiene una dirección IP fija.
Yo y otras personas estamos conectados a un conmutador de escritorio no administrado Fast Ethernet de 8 puertos DES-108
Como dije anteriormente, quiero capturar todos los tráficos de todos los usuarios, no solo los paquetes que me pertenecen.
¿Cómo debo forzar a mi NIC u otros componentes a recibir todos los paquetes?
linux
networking
packet
m.r226
fuente
fuente
Respuestas:
Corrección: rechaza aquellos paquetes cuya dirección MAC de destino no es igual a su dirección MAC (o multidifusión o cualquier dirección adicional en su filtro.
Las utilidades de captura de paquetes pueden poner trivialmente al dispositivo de red en modo promiscuo, es decir que se omite la comprobación anterior y el dispositivo acepta todo lo que recibe. De hecho, esto suele ser el valor predeterminado: con
tcpdump
, debe especificar la-p
opción para no hacerlo.La cuestión más importante es si los paquetes que le interesan incluso se llevan por el cable a su puerto de rastreo. Dado que está utilizando un conmutador de Ethernet no administrado, es casi seguro que no. El conmutador está decidiendo eliminar los paquetes que no le pertenecen desde su puerto antes de que su dispositivo de red pueda esperar verlos.
Para hacerlo, debe conectarse a un puerto de monitorización o duplicación especialmente configurado en un conmutador Ethernet administrado.
fuente
Al principio se dice que los hubs de ethernet (no los switches), los paquetes enviados están disponibles para todos los hosts en la subred, pero los hosts que no son el destinatario deben ignorar.
Obviamente, las subredes no tardaron mucho en saturarse, por lo que la tecnología de conmutación nació para resolver los problemas, y una de las cosas que hicieron fue hacer que el conmutador de red solo enrutara los paquetes destinados para ese host a ese puerto (más el tráfico de difusión de Andy )
Esto complica la supervisión / detección de redes porque solo puede detectar paquetes que son para su host. Esto se consideró algo bueno desde el punto de vista de la seguridad, pero desde el punto de vista de la supervisión de la red no fue tan bueno. Para que la supervisión de la red funcione, los proveedores implementan una función llamada duplicación de puertos. Esto debe configurarse en el conmutador de red, y el enlace a continuación debe orientarlo en la dirección correcta para los productos D-link. Lo encontrará en algún lugar de su software de administración de conmutadores o interfaz de administración web. Si no encuentra estas características, es posible que la funcionalidad no se proporcione en ese dispositivo específico.
http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring
fuente
Primero debe cambiar su NIC al modo promiscuo. Supongamos que su interfaz NIC es eth0.
Si está en una red de conmutadores, su detección se reduce al dominio de colisión que se conecta a su puerto de conmutador. Puede correr
macof
para abrumar la tabla de reenvío del conmutador.Luego puede usar
wireshark
otcpdump
capturar todo el tráfico.Si no está en una red conmutada, habilite el modo promiscuo y úselo
tcpdump
.fuente
tcpdump
habilitará el modo promiscuo para ti. No es necesario que lo haga (y recuerde deshacerlo cuando haya terminado) manualmente.Estás reinventando la rueda.
Suponiendo que tiene una red simple con clientes que se conectan a conmutadores, con una puerta de enlace predeterminada a Internet, solo necesita monitorear en ese dispositivo de puerta de enlace predeterminado. Este será un punto de estrangulamiento para mostrar todo el tráfico entre un cliente LAN e Internet.
Supongo que el tráfico del cliente LAN al cliente LAN no es de interés, porque con todas las direcciones IP dentro de la misma subred IP, el tráfico local no toca la puerta de enlace predeterminada.
Si realmente desea ver todo el tráfico, cada usuario debe estar en su propia red IP y el tráfico a las otras redes es a través de la puerta de enlace predeterminada. Puede asignar un / 28 a cada persona y pueden tener 14 IP para sí mismos.
Su enrutador de nivel doméstico promedio no manejará mucho de esto, tendrá que explorar una distribución de firewall dedicada. Personalmente, pfsense sería mi opción, pero hay muchas opciones.
fuente