From 7a987201398f5897ceed75089064d86e86935766 Mon Sep 17 00:00:00 2001 From: Pierre LALET <pierre.lalet@cea.fr> Date: Sat, 6 Feb 2016 23:29:47 +0100 Subject: [PATCH] LLTD: improve .summary() output --- scapy/layers/lltd.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/scapy/layers/lltd.py b/scapy/layers/lltd.py index 4ed4c777..5d19cf52 100644 --- a/scapy/layers/lltd.py +++ b/scapy/layers/lltd.py @@ -89,11 +89,17 @@ class LLTD(Packet): return pkt + pay def mysummary(self): - return self.sprintf('LLTD %tos% - %function%') + if isinstance(self.underlayer, Ether): + return self.underlayer.sprintf( + 'LLTD %src% > %dst% %LLTD.tos% - %LLTD.function%' + ) + else: + return self.sprintf('LLTD %tos% - %function%') class LLTDHello(Packet): name = "LLTD - Hello" + show_summary = False fields_desc = [ ShortField("gen_number", 0), MACField("current_mapper_address", ETHER_ANY), @@ -112,11 +118,14 @@ class LLTDDiscover(Packet): ] def mysummary(self): - return self.sprintf("%stations_list%"), [LLTD] + return (self.sprintf("Stations: %stations_list%") + if self.stations_list else "No station", [LLTD]) + class LLTDAttribute(Packet): name = "LLTD Attribute" show_indent = False + show_summary = False # section 2.2.1.1 fields_desc = [ ByteEnumField("type", 0, { @@ -177,6 +186,9 @@ class LLTDAttributeHostID(LLTDAttribute): MACField("mac", ETHER_ANY), ] + def mysummary(self): + return "ID: %s" % self.mac, [LLTD, LLTDAttributeMachineName] + @register_lltd_specific_class(2) class LLTDAttributeCharacteristics(LLTDAttribute): @@ -540,6 +552,10 @@ class LLTDAttributeMachineName(LLTDAttribute): StrLenFieldUtf16("hostname", "", length_from=lambda pkt: pkt.len), ] + def mysummary(self): + return (self.sprintf("Hostname: %r" % self.hostname), + [LLTD, LLTDAttributeHostID]) + @register_lltd_specific_class(18) class LLTDAttributeDeviceUUID(LLTDAttribute): -- GitLab