summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/dpkt-1.8.6/dpkt/dhcp.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/external_libs/dpkt-1.8.6/dpkt/dhcp.py')
-rw-r--r--scripts/external_libs/dpkt-1.8.6/dpkt/dhcp.py168
1 files changed, 0 insertions, 168 deletions
diff --git a/scripts/external_libs/dpkt-1.8.6/dpkt/dhcp.py b/scripts/external_libs/dpkt-1.8.6/dpkt/dhcp.py
deleted file mode 100644
index 9916884a..00000000
--- a/scripts/external_libs/dpkt-1.8.6/dpkt/dhcp.py
+++ /dev/null
@@ -1,168 +0,0 @@
-# $Id: dhcp.py 23 2006-11-08 15:45:33Z dugsong $
-
-"""Dynamic Host Configuration Protocol."""
-
-import arp, dpkt
-
-DHCP_OP_REQUEST = 1
-DHCP_OP_REPLY = 2
-
-DHCP_MAGIC = 0x63825363
-
-# DHCP option codes
-DHCP_OPT_NETMASK = 1 # I: subnet mask
-DHCP_OPT_TIMEOFFSET = 2
-DHCP_OPT_ROUTER = 3 # s: list of router ips
-DHCP_OPT_TIMESERVER = 4
-DHCP_OPT_NAMESERVER = 5
-DHCP_OPT_DNS_SVRS = 6 # s: list of DNS servers
-DHCP_OPT_LOGSERV = 7
-DHCP_OPT_COOKIESERV = 8
-DHCP_OPT_LPRSERV = 9
-DHCP_OPT_IMPSERV = 10
-DHCP_OPT_RESSERV = 11
-DHCP_OPT_HOSTNAME = 12 # s: client hostname
-DHCP_OPT_BOOTFILESIZE = 13
-DHCP_OPT_DUMPFILE = 14
-DHCP_OPT_DOMAIN = 15 # s: domain name
-DHCP_OPT_SWAPSERV = 16
-DHCP_OPT_ROOTPATH = 17
-DHCP_OPT_EXTENPATH = 18
-DHCP_OPT_IPFORWARD = 19
-DHCP_OPT_SRCROUTE = 20
-DHCP_OPT_POLICYFILTER = 21
-DHCP_OPT_MAXASMSIZE = 22
-DHCP_OPT_IPTTL = 23
-DHCP_OPT_MTUTIMEOUT = 24
-DHCP_OPT_MTUTABLE = 25
-DHCP_OPT_MTUSIZE = 26
-DHCP_OPT_LOCALSUBNETS = 27
-DHCP_OPT_BROADCASTADDR = 28
-DHCP_OPT_DOMASKDISCOV = 29
-DHCP_OPT_MASKSUPPLY = 30
-DHCP_OPT_DOROUTEDISC = 31
-DHCP_OPT_ROUTERSOLICIT = 32
-DHCP_OPT_STATICROUTE = 33
-DHCP_OPT_TRAILERENCAP = 34
-DHCP_OPT_ARPTIMEOUT = 35
-DHCP_OPT_ETHERENCAP = 36
-DHCP_OPT_TCPTTL = 37
-DHCP_OPT_TCPKEEPALIVE = 38
-DHCP_OPT_TCPALIVEGARBAGE = 39
-DHCP_OPT_NISDOMAIN = 40
-DHCP_OPT_NISSERVERS = 41
-DHCP_OPT_NISTIMESERV = 42
-DHCP_OPT_VENDSPECIFIC = 43
-DHCP_OPT_NBNS = 44
-DHCP_OPT_NBDD = 45
-DHCP_OPT_NBTCPIP = 46
-DHCP_OPT_NBTCPSCOPE = 47
-DHCP_OPT_XFONT = 48
-DHCP_OPT_XDISPLAYMGR = 49
-DHCP_OPT_REQ_IP = 50 # I: IP address
-DHCP_OPT_LEASE_SEC = 51 # I: lease seconds
-DHCP_OPT_OPTIONOVERLOAD = 52
-DHCP_OPT_MSGTYPE = 53 # B: message type
-DHCP_OPT_SERVER_ID = 54 # I: server IP address
-DHCP_OPT_PARAM_REQ = 55 # s: list of option codes
-DHCP_OPT_MESSAGE = 56
-DHCP_OPT_MAXMSGSIZE = 57
-DHCP_OPT_RENEWTIME = 58
-DHCP_OPT_REBINDTIME = 59
-DHCP_OPT_VENDOR_ID = 60 # s: vendor class id
-DHCP_OPT_CLIENT_ID = 61 # Bs: idtype, id (idtype 0: FQDN, idtype 1: MAC)
-DHCP_OPT_NISPLUSDOMAIN = 64
-DHCP_OPT_NISPLUSSERVERS = 65
-DHCP_OPT_MOBILEIPAGENT = 68
-DHCP_OPT_SMTPSERVER = 69
-DHCP_OPT_POP3SERVER = 70
-DHCP_OPT_NNTPSERVER = 71
-DHCP_OPT_WWWSERVER = 72
-DHCP_OPT_FINGERSERVER = 73
-DHCP_OPT_IRCSERVER = 74
-DHCP_OPT_STSERVER = 75
-DHCP_OPT_STDASERVER = 76
-
-# DHCP message type values
-DHCPDISCOVER = 1
-DHCPOFFER = 2
-DHCPREQUEST = 3
-DHCPDECLINE = 4
-DHCPACK = 5
-DHCPNAK = 6
-DHCPRELEASE = 7
-DHCPINFORM = 8
-
-class DHCP(dpkt.Packet):
- __hdr__ = (
- ('op', 'B', DHCP_OP_REQUEST),
- ('hrd', 'B', arp.ARP_HRD_ETH), # just like ARP.hrd
- ('hln', 'B', 6), # and ARP.hln
- ('hops', 'B', 0),
- ('xid', 'I', 0xdeadbeefL),
- ('secs', 'H', 0),
- ('flags', 'H', 0),
- ('ciaddr', 'I', 0),
- ('yiaddr', 'I', 0),
- ('siaddr', 'I', 0),
- ('giaddr', 'I', 0),
- ('chaddr', '16s', 16 * '\x00'),
- ('sname', '64s', 64 * '\x00'),
- ('file', '128s', 128 * '\x00'),
- ('magic', 'I', DHCP_MAGIC),
- )
- opts = (
- (DHCP_OPT_MSGTYPE, chr(DHCPDISCOVER)),
- (DHCP_OPT_PARAM_REQ, ''.join(map(chr, (DHCP_OPT_REQ_IP,
- DHCP_OPT_ROUTER,
- DHCP_OPT_NETMASK,
- DHCP_OPT_DNS_SVRS))))
- ) # list of (type, data) tuples
-
- def __len__(self):
- return self.__hdr_len__ + \
- sum([ 2 + len(o[1]) for o in self.opts ]) + 1 + len(self.data)
-
- def __str__(self):
- return self.pack_hdr() + self.pack_opts() + str(self.data)
-
- def pack_opts(self):
- """Return packed options string."""
- if not self.opts:
- return ''
- l = []
- for t, data in self.opts:
- l.append('%s%s%s' % (chr(t), chr(len(data)), data))
- l.append('\xff')
- return ''.join(l)
-
- def unpack(self, buf):
- dpkt.Packet.unpack(self, buf)
- self.chaddr = self.chaddr[:self.hln]
- buf = self.data
- l = []
- while buf:
- t = ord(buf[0])
- if t == 0xff:
- buf = buf[1:]
- break
- elif t == 0:
- buf = buf[1:]
- else:
- n = ord(buf[1])
- l.append((t, buf[2:2+n]))
- buf = buf[2+n:]
- self.opts = l
- self.data = buf
-
-if __name__ == '__main__':
- import unittest
-
- class DHCPTestCast(unittest.TestCase):
- def test_DHCP(self):
- s = '\x01\x01\x06\x00\xadS\xc8c\xb8\x87\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02U\x82\xf3\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c\x82Sc5\x01\x01\xfb\x01\x01=\x07\x01\x00\x02U\x82\xf3\xa62\x04\n\x00\x01e\x0c\tGuinevere<\x08MSFT 5.07\n\x01\x0f\x03\x06,./\x1f!+\xff\x00\x00\x00\x00\x00'
- dhcp = DHCP(s)
- self.failUnless(s == str(dhcp))
-
- unittest.main()
-