From 200ecb02d0fa175f88ee2e489468c291b1ff049e Mon Sep 17 00:00:00 2001 From: Phil <phil@secdev.org> Date: Sun, 31 Aug 2008 00:33:01 +0200 Subject: [PATCH] Move RandDHCPOptions to layers/dhcp.py --- scapy/layers/dhcp.py | 22 ++++++++++++++++++++++ scapy/volatile.py | 22 ---------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/scapy/layers/dhcp.py b/scapy/layers/dhcp.py index fdb4d717..8527112c 100644 --- a/scapy/layers/dhcp.py +++ b/scapy/layers/dhcp.py @@ -10,6 +10,7 @@ from scapy.fields import * from scapy.ansmachine import * from scapy.layers.inet import UDP from scapy.base_classes import Net +from scapy.volatile import RandField dhcpmagic="c\x82Sc" @@ -145,6 +146,27 @@ del(k) +class RandDHCPOptions(RandField): + def __init__(self, size=None, rndstr=None): + if size is None: + size = RandNumExpo(0.05) + self.size = size + if rndstr is None: + rndstr = RandBin(RandNum(0,255)) + self.rndstr=rndstr + self._opts = DHCPOptions.values() + self._opts.remove("pad") + self._opts.remove("end") + def _fix(self): + op = [] + for k in range(self.size): + o = random.choice(self._opts) + if type(o) is str: + op.append((o,self.rndstr*1)) + else: + op.append((o.name, o.randval()._fix())) + return op + class DHCPOptionsField(StrField): islist=1 diff --git a/scapy/volatile.py b/scapy/volatile.py index ccfd4536..b6f7181a 100644 --- a/scapy/volatile.py +++ b/scapy/volatile.py @@ -205,28 +205,6 @@ class RandOID(RandString): oid.append(i) return ".".join(oid) - - -class RandDHCPOptions(RandField): - def __init__(self, size=None, rndstr=None): - if size is None: - size = RandNumExpo(0.05) - self.size = size - if rndstr is None: - rndstr = RandBin(RandNum(0,255)) - self.rndstr=rndstr - self._opts = DHCPOptions.values() - self._opts.remove("pad") - self._opts.remove("end") - def _fix(self): - op = [] - for k in range(self.size): - o = random.choice(self._opts) - if type(o) is str: - op.append((o,self.rndstr*1)) - else: - op.append((o.name, o.randval()._fix())) - return op # Automatic timestamp -- GitLab