1*ac29c8e0Sbluhm#!/usr/local/bin/python3 2a13597faSbluhm# send Gratuitous Address Resolution Protocol Reply 3a13597faSbluhm# expect no answer 4a13597faSbluhm# RFC 2002 IP Mobility Support 5a13597faSbluhm# 4.6. ARP, Proxy ARP, and Gratuitous ARP 6a13597faSbluhm 7a13597faSbluhmimport os 8a13597faSbluhmfrom addr import * 9a13597faSbluhmfrom scapy.all import * 10a13597faSbluhm 11a13597faSbluhmarp=ARP(op='is-at', hwsrc=LOCAL_MAC, psrc=REMOTE_ADDR, 12a13597faSbluhm hwdst=LOCAL_MAC, pdst=REMOTE_ADDR) 13a13597faSbluhmeth=Ether(src=LOCAL_MAC, dst="ff:ff:ff:ff:ff:ff")/arp 14a13597faSbluhm 15a13597faSbluhme=srp1(eth, iface=LOCAL_IF, timeout=2) 16a13597faSbluhm 17a13597faSbluhmif e and e.type == ETH_P_ARP: 18a13597faSbluhm a=e.payload 19a13597faSbluhm a.show() 20*ac29c8e0Sbluhm print("ARP REPLY") 21a13597faSbluhm exit(1) 22a13597faSbluhm 23*ac29c8e0Sbluhmprint("no arp reply") 24a13597faSbluhmexit(0) 25