From 50209bda879b09915b3df75fd99ba27c77ae87d9 Mon Sep 17 00:00:00 2001 From: Phil <phil@secdev.org> Date: Fri, 20 Jun 2008 19:22:38 +0200 Subject: [PATCH] Added layer registration to conf.layers --- scapy/config.py | 10 ++++++++++ scapy/packet.py | 2 ++ 2 files changed, 12 insertions(+) diff --git a/scapy/config.py b/scapy/config.py index c7c42501..b8191956 100644 --- a/scapy/config.py +++ b/scapy/config.py @@ -91,6 +91,15 @@ class Num2Layer: return "\n".join(y for x,y in lst) +class LayersList(list): + def __repr__(self): + s=[] + for l in self: + s.append("%-20s: %s" % (l.__name__,l.name)) + return "\n".join(s) + def register(self, layer): + self.append(layer) + class Conf(ConfClass): @@ -124,6 +133,7 @@ extensions_paths: path or list of paths where extensions are to be looked for session = "" stealth = "not implemented" iface = get_working_if() + layers = LayersList() checkIPID = 0 checkIPsrc = 1 checkIPaddr = 1 diff --git a/scapy/packet.py b/scapy/packet.py index 0957fb72..de4407db 100644 --- a/scapy/packet.py +++ b/scapy/packet.py @@ -1,5 +1,6 @@ import re,time,itertools,os,random,socket from fields import * +from config import conf ################ @@ -118,6 +119,7 @@ class Packet_metaclass(type): newcls = super(Packet_metaclass, cls).__new__(cls, name, bases, dct) for f in newcls.fields_desc: f.register_owner(newcls) + conf.layers.register(newcls) return newcls def __getattr__(self, attr): for k in self.fields_desc: -- GitLab