Détecter un autre hôte avec la même adresse MAC
Comment puis-je détecter si un autre hôte à l'aide de la même adresse MAC que l'hôte actuel, par exemple, parce que l'autre hôte est d'usurpation?
Je suis en train de travailler dans un environnement embarqué, alors à la recherche de réponses sur un protocole de niveau, plutôt que de les “utiliser tel ou tel outil”.
Modifier: RARP ne pas résoudre ce problème. Pour RARP pour obtenir de réponse du tout, il y a au moins un hôte sur le segment qui prend en charge de RARP. Depuis RARP est obsolète, les systèmes d'exploitation modernes ne le supporte pas. En outre, tous les RARP pouvez faire est de vous dire votre propre adresse IP, - la réponse ne sera pas différent si il y a un autre hôte sur le segment avec le même MAC, à moins que l'hôte a lui-même utilisé une adresse IP différente.
source d'informationauteur Daniel Cassidy
Vous devez vous connecter pour publier un commentaire.
Cette question est aussi intéressant de mettre bas! Après plusieurs faux départs, j'ai commencé à réfléchir sur les éléments essentiels du problème et écumé les Rfc pour obtenir des conseils. Je n'ai pas trouvé de réponse définitive, mais voici mon processus de pensée, dans l'espoir que cela aide:
La question de la première demande comment détecter un autre appareil avec votre adresse MAC. En supposant que vous êtes sur un réseau IP, ce qui est nécessaire pour accomplir cette?
La passive méthode consisterait simplement à écouter à la circulation et regarder pour tous les paquets que vous n'avez pas transmettre, mais votre adresse MAC. Cela peut ou peut ne pas se produire, si bien qu'il peut vous dire définitivement si un doublon, il ne peut pas vous dire avec certitude que ça ne marche pas.
Tout active méthode vous oblige à transmettre un paquet qui forces un imposteur à répondre. Cela élimine immédiatement toutes les méthodes qui dépendent de facultatif protocoles.
Si un autre appareil est d'usurpation vous, il doit (par définition) pour répondre à des paquets avec votre l'adresse MAC de la destination. Sinon c'est snooping mais pas usurpation.
La solution doit être indépendant de l'adresse IP et il s'agit de l'adresse MAC.
Donc, la réponse, il semble, serait de transmettre soit une émission (ethernet) ou de paquet un paquet avec votre MAC à l'adresse de sa destination, nécessite une réponse. Le monkeywrench est qu'une adresse IP est généralement impliqués, et vous ne le savez pas.
Ce type de protocole correspond à cette description?
La Réponse Est Facile:
N'est pas si facile Réponses:
Un protocole qui est indépendante de la propriété intellectuelle: l'un qui n'utilise pas la couche IP, ou celui qui permet d'émissions. Aucun ne me vient à l'esprit.
Envoyer tout paquet qui serait normalement générer une réponse de vous, de vous empêcher de répondre, et de chercher une réponse à partir d'un autre appareil. Il semble raisonnable d'utiliser votre adresse IP en tant que destination, mais je ne suis pas convaincu de ça. Malheureusement, les détails (et donc la réponse) sont laissés en exercice pour l'OP ... mais j'espère que la discussion a été utile.
Je soupçonne la dernière solution implique une combinaison de techniques, pas d'approche unique semble garantir la fiabilité de la détermination.
De l'information est disponible à http://en.wikipedia.org/wiki/ARP_spoofing#Defenses
Si tout le reste échoue, vous pouvez profiter de cette: http://www.rfc-editor.org/rfc/rfc2321.txt
Veuillez poster un suivi avec votre solution, je suis sûr qu'il sera utile à d'autres. Bonne chance!
Vous pouvez envoyer un requête ARP pour chaque ip de sous-réseau.
Bien sûr, l'adresse source de la requête ARP doit être ff:ff:ff:ff:ff:ff, sinon vous risquez de ne pas voir la réponse.
J'ai forgé un paquet comme ça avec bittwiste et relus avec PReplay et tous les hôtes sur le réseau obtenu la réponse. (Je ne sais pas si ces forgé paquets ARP sont légales ou pas... certains Systèmes d'exploitation peuvent les ignorer)
Voici ce que le faux paquet ressemblait à:
Voici ce que la réponse ressemblait à:
Si vous regardez les réponses et de voir votre adresse MAC dans l'un des paquets (dans le rectangle rouge) , que quelqu'un a la même adresse MAC que vous ne...
Malheureusement je ne pouvais pas le test de la théorie entièrement parce que aucun de mes (Windows), les appareils de soins sur moi en essayant de mettre de la carte d'adresse MAC...
Deux hôtes en utilisant la même adresse MAC sur un seul segment de réseau serait probablement commutateurs aller de noix et vous pourriez probablement le détecte par la présence d'une très faible connexion réseau (comme les commutateurs envoyer une partie de paquets qui appartiennent à votre hôte pour le second, selon l'un de vous a envoyé le dernier paquet dans leur direction).
C'est très fin, et de la non-réponse, mais j'ai voulu suivre exactement ce que j'ai fait au cas où quelqu'un d'autre est intéressé.
Je travaillais avec des très bizarre matériel embarqué qui ne dispose pas d'une adresse MAC attribuée lors de la fabrication. Cela signifie que nous avons besoin d'affecter un logiciel.
La solution évidente est d'avoir à l'utilisateur de choisir une adresse MAC qu'ils savent est disponible sur leur réseau, de préférence à partir de la localement des administrés de la gamme, et c'est ce que j'ai fait. Cependant, j'ai voulu choisir une sécurité raisonnable par défaut, et aussi tenter d'avertir l'utilisateur si un conflit est survenu.
À la fin, j'ai eu recours à la cueillette aléatoire-ish par défaut dans le local administré gamme, choisi par la prise de certains matériels de lectures qui ont modéré l'entropie. J'ai volontairement exclu le début et la fin de la plage sur l'hypothèse que ceux qui sont moyennement plus de chances d'être choisi manuellement. Les chances sont qu'il n'y aura qu'un seul de ces dispositifs sur un réseau donné, et certainement moins de 20, de sorte que les chances d'un conflit sont très faibles, mais pas aussi bas qu'ils pourraient l'être en raison de la relativement prévisibles de nombres aléatoires.
Compte tenu de la faible probabilité qu'un problème, malgré les excellentes réponses ci-dessus, j'ai décidé de renoncer à la détection des conflits et de la faire faire par un avertissement à l'utilisateur de regarder dehors pour MAC problèmes de conflit.
Si je n'ai décider de mettre en œuvre la détection de conflit, étant donné que je maîtrise l'ensemble de la pile réseau, je serais probablement regarder dehors pour excessive inconnu ou manquant paquets, puis déclencher un changement d'adresse MAC ou d'avertir l'utilisateur lorsque cela se produit.
J'espère que ça aidera quelqu'un d'autre quelque part – mais probablement pas!