xref: /openbsd-src/regress/sys/netinet/arp/arp_nonproxy.py (revision ac29c8e0bbd85ab37116eea98eaaa09e07bf6b26)
1*ac29c8e0Sbluhm#!/usr/local/bin/python3
2525d747aSbluhm# send Address Resolution Protocol Request for Proxy ARP not published
3525d747aSbluhm# expect no answer
4525d747aSbluhm
5525d747aSbluhmimport os
6525d747aSbluhmfrom addr import *
7525d747aSbluhmfrom scapy.all import *
8525d747aSbluhm
9525d747aSbluhmarp=ARP(op='who-has', hwsrc=LOCAL_MAC, psrc=LOCAL_ADDR,
10525d747aSbluhm    hwdst="ff:ff:ff:ff:ff:ff", pdst=FAKE_ADDR)
11525d747aSbluhmeth=Ether(src=LOCAL_MAC, dst="ff:ff:ff:ff:ff:ff")/arp
12525d747aSbluhm
13525d747aSbluhme=srp1(eth, iface=LOCAL_IF, timeout=2)
14525d747aSbluhm
15525d747aSbluhmif e and e.type == ETH_P_ARP:
16525d747aSbluhm	a=e.payload
17525d747aSbluhm	a.show()
18*ac29c8e0Sbluhm	print("ARP REPLY")
19525d747aSbluhm	exit(1)
20525d747aSbluhm
21*ac29c8e0Sbluhmprint("no arp reply")
22525d747aSbluhmexit(0)
23