From cdcc62972d42f009f55e6aeb2ca5c60c3acd75eb Mon Sep 17 00:00:00 2001 From: Dan Klein Date: Wed, 26 Aug 2015 14:27:43 +0300 Subject: added dpkt package, initial stateless client implementation --- external_libs/python/dpkt-1.8.6.2/dpkt/arp.py | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 external_libs/python/dpkt-1.8.6.2/dpkt/arp.py (limited to 'external_libs/python/dpkt-1.8.6.2/dpkt/arp.py') diff --git a/external_libs/python/dpkt-1.8.6.2/dpkt/arp.py b/external_libs/python/dpkt-1.8.6.2/dpkt/arp.py new file mode 100644 index 00000000..a6ae62f4 --- /dev/null +++ b/external_libs/python/dpkt-1.8.6.2/dpkt/arp.py @@ -0,0 +1,32 @@ +# $Id: arp.py 23 2006-11-08 15:45:33Z dugsong $ +# -*- coding: utf-8 -*- +"""Address Resolution Protocol.""" + +import dpkt + +# Hardware address format +ARP_HRD_ETH = 0x0001 # ethernet hardware +ARP_HRD_IEEE802 = 0x0006 # IEEE 802 hardware + +# Protocol address format +ARP_PRO_IP = 0x0800 # IP protocol + +# ARP operation +ARP_OP_REQUEST = 1 # request to resolve ha given pa +ARP_OP_REPLY = 2 # response giving hardware address +ARP_OP_REVREQUEST = 3 # request to resolve pa given ha +ARP_OP_REVREPLY = 4 # response giving protocol address + + +class ARP(dpkt.Packet): + __hdr__ = ( + ('hrd', 'H', ARP_HRD_ETH), + ('pro', 'H', ARP_PRO_IP), + ('hln', 'B', 6), # hardware address length + ('pln', 'B', 4), # protocol address length + ('op', 'H', ARP_OP_REQUEST), + ('sha', '6s', ''), + ('spa', '4s', ''), + ('tha', '6s', ''), + ('tpa', '4s', '') + ) -- cgit 1.2.3-korg