1
2
3 """Address Resolution Protocol."""
4
5 import dpkt
6
7
8 ARP_HRD_ETH = 0x0001
9 ARP_HRD_IEEE802 = 0x0006
10
11
12 ARP_PRO_IP = 0x0800
13
14
15 ARP_OP_REQUEST = 1
16 ARP_OP_REPLY = 2
17 ARP_OP_REVREQUEST = 3
18 ARP_OP_REVREPLY = 4
19
20 -class ARP(dpkt.Packet):
21 __hdr__ = (
22 ('hrd', 'H', ARP_HRD_ETH),
23 ('pro', 'H', ARP_PRO_IP),
24 ('hln', 'B', 6),
25 ('pln', 'B', 4),
26 ('op', 'H', ARP_OP_REQUEST),
27 ('sha', '6s', ''),
28 ('spa', '4s', ''),
29 ('tha', '6s', ''),
30 ('tpa', '4s', '')
31 )
32