Comment fonctionne le logiciel de détection de réseau sur un commutateur?

18

Nous avons plusieurs commutateurs 3com standard non gérés dans un réseau. Je pensais que les commutateurs étaient censés envoyer uniquement des paquets entre pairs d'une connexion.

Cependant, il semble que le logiciel de détection de réseau exécuté sur un ordinateur connecté à l'un des commutateurs est capable de détecter le trafic (par exemple, la vidéo en continu sur YouTube, les pages Web) d'autres ordinateurs hôtes connectés à d'autres commutateurs du réseau.

Est-ce même possible ou le réseau est-il complètement rompu?

Can Kavaklıoğlu
la source
1
Peut-être que vous devez consulter cet article: serverfault.com/questions/214881/ethernet-network-topology
Khaled
Mon expérience suggère une situation plus proche du cas dans la réponse de David. L'ordinateur renifleur semble recevoir non pas certains mais tous les paquets mais tous les autres ordinateurs transmettent.
Can Kavaklıoğlu
Êtes-vous certain que vous ne voyez pas uniquement le trafic diffusé sur le logiciel de reniflement? Ce n'est pas parce que vous voyez quelque chose que vous voyez tout.
Jed Daniels

Réponses:

22

Pour compléter la réponse de David, un commutateur apprend qui se trouve derrière un port en regardant les adresses MAC des paquets reçus sur ce port. Lorsque le commutateur est sous tension, il ne sait rien. Une fois que le périphérique A envoie un paquet du port 1 au périphérique B, le commutateur apprend que le périphérique A se trouve derrière le port 1 et envoie le paquet à tous les ports. Une fois que le périphérique B répond à A depuis le port 2, le commutateur envoie uniquement le paquet sur le port 1.

Cette relation MAC / port est stockée dans une table dans le commutateur. Bien sûr, de nombreux périphériques peuvent se trouver derrière un seul port (si un commutateur est branché sur le port par exemple), il peut donc y avoir plusieurs adresses MAC associées à un seul port.

Cet algorithme se casse lorsque la table n'est pas assez grande pour stocker toutes les relations (pas assez de mémoire dans le commutateur). Dans ce cas, le commutateur perd des informations et commence à envoyer des paquets à tous les ports. Cela peut facilement être fait (maintenant vous savez comment pirater votre réseau) en forgeant beaucoup de paquets avec différents MAC à partir d'un seul port. Cela peut également être fait en forgeant un paquet avec le MAC de l'appareil que vous souhaitez espionner, et le commutateur commencera à vous envoyer le trafic pour cet appareil.

Les commutateurs gérés peuvent être configurés pour accepter un seul MAC à partir d'un port (ou d'un numéro fixe). Si plusieurs MAC sont trouvés sur ce port, le commutateur peut fermer le port pour protéger le réseau ou envoyer un message de journal à l'administrateur.

ÉDITER:

À propos du trafic youtube, l'algorithme décrit ci-dessus ne fonctionne que sur le trafic unicast. La diffusion Ethernet (ARP à titre d'exemple) et la multidiffusion IP (utilisée parfois pour le streaming) sont gérées différemment. Je ne sais pas si YouTube utilise la multidiffusion, mais il peut s'agir d'un cas où vous pouvez détecter le trafic qui ne vous appartient pas.

À propos du trafic des pages Web, cela est étrange, car la négociation TCP aurait dû définir correctement la table MAC sur le port. Soit la topologie du réseau met en cascade un grand nombre de commutateurs très bon marché avec de petites tables qui sont toujours pleines, soit quelqu'un dérange le réseau.

jfg956
la source
Je vais essayer d'apprendre des modèles de commutateurs et de faire rapport. Le coupable pourrait-il être un commutateur bon marché situé en haut de la topologie du réseau? Je suppose que cela devient encore plus compliqué dans ce cas. Quelle serait la politique d'un commutateur si un paquet qui n'appartient à aucun de ses ports arrive du commutateur bon marché situé au-dessus de lui-même sur la topologie?
Can Kavaklıoğlu
Si un paquet arrive à un commutateur et que l'adresse MAC de destination de ce paquet n'est pas connue, le paquet est envoyé à tous les ports (même si le commutateur est géré ou non géré, et le fait que le paquet provient d'un commutateur ou un appareil n'est pas important). De plus, la table est mise à jour avec l'adresse MAC source du paquet, ce qui entraînera de nombreuses possibilités: pas de problème avec la mise à jour, la table est pleine et l'ajout supprime une entrée valide, ou la mise à jour supprime une relation MAC à port valide . Les 2 derniers cas entraînent des problèmes sur le réseau.
jfg956
6

Il s'agit d'un malentendu courant. À moins qu'il ne soit configuré de manière statique, un commutateur doit envoyer chaque paquet sur chaque port sur lequel il ne peut pas prouver qu'il n'a pas besoin d'envoyer ce paquet.

Cela pourrait signifier qu'un paquet n'est envoyé qu'au port contenant le périphérique de destination. Mais cela ne peut pas toujours être le cas. Par exemple, considérez le tout premier paquet que le commutateur reçoit. Comment pourrait-il savoir sur quel port l'envoyer?

La suppression des paquets envoyés sur le «mauvais» port est une optimisation qu'un commutateur utilise lorsqu'il le peut. Ce n'est pas une fonction de sécurité. Les commutateurs gérés offrent souvent une sécurité de port réelle.

David Schwartz
la source
4
La phrase que vous recherchez est "l'inondation d'images vers des destinations inconnues".
Evan Anderson
0

Il est possible que l'empoisonnement du cache ARP soit en vigueur. Il s'agit d'une technique utilisée, souvent avec malveillance, pour flairer un réseau commuté. Pour cela, vous devez convaincre chaque machine du réseau que toutes les autres machines ont votre adresse MAC (en utilisant le protocole ARP). Cela entraînera le commutateur à transférer tous les paquets vers votre machine - vous voudrez les transmettre après l'analyse. Ceci est couramment utilisé dans les attaques de l'homme du milieu et est disponible dans divers outils de reniflement tels que Cain & Abel ou ettercap.

Lutzky
la source