2009-09-28 8 views
1

J'essaye de faire un petit outil d'inondation de mac en python pour remplir mes tables de commutateurs de came mais je ne peux pas faire la magie se produire? Pouvez-vous voir ce que je fais mal?Script inondation python/scapy mac

from scapy.all import * 
while 1: 
    dest_mac = RandMAC() 
    src_mac = RandMAC() 
    sendp(Ether(src=src_mac, dst=dest_mac)/ARP(op=2, psrc="0.0.0.0", hwsrc=src_mac, hwdst=dest_mac)/Padding(load="X"*18), verbose=0) 

alors que le code semble fonctionner correctement, il ne fait tout simplement pas son travail. pour le tester, j'ai utilisé wireshark pour regarder les paquets, puis a lancé le parasite du THC "qui fonctionne" et les paquets sont presque les mêmes, donc je ne suis pas sûr de ce qui se passe. Merci pour toute aide.

+0

vous devriez vraiment mettre en retrait votre code –

+0

Thanx SilentGhost pour fixer l'affichage du code, je n'étais pas sûr si je pouvais utiliser bbcode – emada

+0

i copier @ Paul collé avec lol indentations vient de se foiré quand je l'ai soumis désolé. – emada

Répondre

0

Vous ne pouvez utiliser qu'une adresse mac: une adresse mac est composée de six groupes de deux chiffres hexadécimaux, séparés par des traits d'union (-) ou des deux-points (:). Les trois premiers champs doivent être remplis avec des valeurs différentes pour chaque fournisseur. Si ces champs ne sont pas définis avec un code fournisseur, le serveur (ou le client) supprimera le paquet. Vous pouvez trouver la liste des fournisseurs de mac sur le fichier manhar wireshark, ou simplement en cherchant avec google. Vous pouvez vérifier l'adresse en tapant "sudo ifcofig IFACE ether hw ADDRESS" dans le terminal.

0

Emada,

adresses Mac sont apprises par des commutateurs en utilisant l'adresse source ne donc pas besoin de vous soucier de randomizing de destination.

Je l'ai testé et il semble bien fonctionner .. vous pourriez aussi vouloir essayer l'option sendpfast pour l'inondation, mais dans mes tests, sendp semble fonctionner plus vite?

from scapy.all import * 

while 1: 
    sendp(Ether(src=RandMAC(),dst="FF:FF:FF:FF:FF:FF")/ARP(op=2, psrc="0.0.0.0", hwdst="FF:FF:FF:FF:FF:FF")/Padding(load="X"*18)))