scapy.layers.lltd

LLTD Protocol

https://msdn.microsoft.com/en-us/library/cc233983.aspx

class scapy.layers.lltd.LLTD(_pkt, /, *, version=1, tos=0, reserved=0, function=0, real_dst=None, real_src=None, xid=0, seq=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTD'>, <class 'scapy.packet.Packet'>]
answer_hashret = {(0, 12): (0, 11), (1, 1): (0, 0)}
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (LLTD).version>, <ByteEnumField (LLTD).tos>, <ByteField (LLTD).reserved>, <MultiEnumField (LLTD).function>, <MACField (LLTD).real_dst>, <MACField (LLTD).real_src>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
hashret()[source]
mysummary()[source]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'function': 0, 'tos': 0}, <class 'scapy.layers.lltd.LLTDDiscover'>), ({'function': 0, 'tos': 1}, <class 'scapy.layers.lltd.LLTDDiscover'>), ({'function': 1, 'tos': 0}, <class 'scapy.layers.lltd.LLTDHello'>), ({'function': 1, 'tos': 1}, <class 'scapy.layers.lltd.LLTDHello'>), ({'function': 2, 'tos': 0}, <class 'scapy.layers.lltd.LLTDEmit'>), ({'function': 7, 'tos': 0}, <class 'scapy.layers.lltd.LLTDQueryResp'>), ({'function': 11, 'tos': 0}, <class 'scapy.layers.lltd.LLTDQueryLargeTlv'>), ({'function': 12, 'tos': 0}, <class 'scapy.layers.lltd.LLTDQueryLargeTlvResp'>)]
post_build(pkt, pay)[source]
class scapy.layers.lltd.LLTDAttribute(_pkt, /, *, type=0, len=None, value=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
classmethod dispatch_hook(_pkt=None, *_, **kargs)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <FieldLenField (LLTDAttribute).len>, <StrLenField (LLTDAttribute).value>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.layers.lltd.LLTDAttribute'>), ({'type': 0}, <class 'scapy.packet.Padding'>)]
show_indent = False
show_summary = False
class scapy.layers.lltd.LLTDAttribute80211MaxRate(_pkt, /, *, len=2, rate=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttribute80211MaxRate'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttribute80211MaxRate).len>, <ShortField (LLTDAttribute80211MaxRate).rate>]
class scapy.layers.lltd.LLTDAttribute80211PhysicalMedium(_pkt, /, *, len=1, medium=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttribute80211PhysicalMedium'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttribute80211PhysicalMedium).len>, <ByteEnumField (LLTDAttribute80211PhysicalMedium).medium>]
class scapy.layers.lltd.LLTDAttributeCharacteristics(_pkt, /, *, len=None, flags=<Flag 0 ()>, reserved1=0, reserved2=b'')[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeCharacteristics'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <FieldLenField (LLTDAttributeCharacteristics).len>, <FlagsField (LLTDAttributeCharacteristics).flags>, <BitField (LLTDAttributeCharacteristics).reserved1>, <StrLenField (LLTDAttributeCharacteristics).reserved2>]
class scapy.layers.lltd.LLTDAttributeDeviceUUID(_pkt, /, *, len=None, uuid=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeDeviceUUID'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <FieldLenField (LLTDAttributeDeviceUUID).len>, <StrLenField (LLTDAttributeDeviceUUID).uuid>]
class scapy.layers.lltd.LLTDAttributeEOP(_pkt, /)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeEOP'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>]
class scapy.layers.lltd.LLTDAttributeHostID(_pkt, /, *, len=6, mac='00:00:00:00:00:00')[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeHostID'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeHostID).len>, <MACField (LLTDAttributeHostID).mac>]
mysummary()[source]
class scapy.layers.lltd.LLTDAttributeIPv4Address(_pkt, /, *, len=4, ipv4='0.0.0.0')[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeIPv4Address'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeIPv4Address).len>, <IPField (LLTDAttributeIPv4Address).ipv4>]
class scapy.layers.lltd.LLTDAttributeIPv6Address(_pkt, /, *, len=16, ipv6='::')[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeIPv6Address'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeIPv6Address).len>, <IP6Field (LLTDAttributeIPv6Address).ipv6>]
class scapy.layers.lltd.LLTDAttributeLargeTLV(_pkt, /, *, len=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeLargeTLV'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeLargeTLV).len>]
class scapy.layers.lltd.LLTDAttributeLinkSpeed(_pkt, /, *, len=4, speed=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeLinkSpeed'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeLinkSpeed).len>, <IntField (LLTDAttributeLinkSpeed).speed>]
class scapy.layers.lltd.LLTDAttributeMachineName(_pkt, /, *, len=None, hostname=b'')[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeMachineName'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <FieldLenField (LLTDAttributeMachineName).len>, <StrLenFieldUtf16 (LLTDAttributeMachineName).hostname>]
mysummary()[source]
class scapy.layers.lltd.LLTDAttributePerformanceCounterFrequency(_pkt, /, *, len=8, freq=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributePerformanceCounterFrequency'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributePerformanceCounterFrequency).len>, <LongField (LLTDAttributePerformanceCounterFrequency).freq>]
class scapy.layers.lltd.LLTDAttributePhysicalMedium(_pkt, /, *, len=4, medium=6)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributePhysicalMedium'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributePhysicalMedium).len>, <IntEnumField (LLTDAttributePhysicalMedium).medium>]
class scapy.layers.lltd.LLTDAttributeQOSCharacteristics(_pkt, /, *, len=4, flags=<Flag 0 ()>, reserved1=0, reserved2=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeQOSCharacteristics'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeQOSCharacteristics).len>, <FlagsField (LLTDAttributeQOSCharacteristics).flags>, <BitField (LLTDAttributeQOSCharacteristics).reserved1>, <ShortField (LLTDAttributeQOSCharacteristics).reserved2>]
class scapy.layers.lltd.LLTDAttributeSeesList(_pkt, /, *, len=2, max_entries=0)[source]

Bases: LLTDAttribute

aliastypes = [<class 'scapy.layers.lltd.LLTDAttributeSeesList'>, <class 'scapy.layers.lltd.LLTDAttribute'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDAttribute).type>, <ByteField (LLTDAttributeSeesList).len>, <ShortField (LLTDAttributeSeesList).max_entries>]
class scapy.layers.lltd.LLTDDiscover(_pkt, /, *, gen_number=0, stations_count=None, stations_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDDiscover'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (LLTDDiscover).gen_number>, <FieldLenField (LLTDDiscover).stations_count>, <FieldListField (LLTDDiscover).stations_list>]
mysummary()[source]
class scapy.layers.lltd.LLTDEmit(_pkt, /, *, descs_count=None, descs_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDEmit'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (LLTDEmit).descs_count>, <PacketListField (LLTDEmit).descs_list>]
mysummary()[source]
class scapy.layers.lltd.LLTDEmiteeDesc(_pkt, /, *, type=0, pause=0, src=None, dst='00:00:00:00:00:00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDEmiteeDesc'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDEmiteeDesc).type>, <ByteField (LLTDEmiteeDesc).pause>, <MACField (LLTDEmiteeDesc).src>, <MACField (LLTDEmiteeDesc).dst>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.packet.Padding'>)]
class scapy.layers.lltd.LLTDHello(_pkt, /, *, gen_number=0, current_mapper_address='00:00:00:00:00:00', apparent_mapper_address='00:00:00:00:00:00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDHello'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (LLTDHello).gen_number>, <MACField (LLTDHello).current_mapper_address>, <MACField (LLTDHello).apparent_mapper_address>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.layers.lltd.LLTDAttribute'>)]
show_summary = False
class scapy.layers.lltd.LLTDQueryLargeTlv(_pkt, /, *, type=14, offset=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDQueryLargeTlv'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (LLTDQueryLargeTlv).type>, <ThreeBytesField (LLTDQueryLargeTlv).offset>]
mysummary()[source]
class scapy.layers.lltd.LLTDQueryLargeTlvResp(_pkt, /, *, flags=<Flag 0 ()>, len=None, value=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDQueryLargeTlvResp'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (LLTDQueryLargeTlvResp).flags>, <BitField (LLTDQueryLargeTlvResp).len>, <StrLenField (LLTDQueryLargeTlvResp).value>]
mysummary()[source]
post_build(pkt, pay)[source]
class scapy.layers.lltd.LLTDQueryResp(_pkt, /, *, flags=<Flag 0 ()>, descs_count=None, descs_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDQueryResp'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (LLTDQueryResp).flags>, <BitField (LLTDQueryResp).descs_count>, <PacketListField (LLTDQueryResp).descs_list>]
mysummary()[source]
post_build(pkt, pay)[source]
class scapy.layers.lltd.LLTDRecveeDesc(_pkt, /, *, type=0, real_src='00:00:00:00:00:00', ether_src='00:00:00:00:00:00', ether_dst='00:00:00:00:00:00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.lltd.LLTDRecveeDesc'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (LLTDRecveeDesc).type>, <MACField (LLTDRecveeDesc).real_src>, <MACField (LLTDRecveeDesc).ether_src>, <MACField (LLTDRecveeDesc).ether_dst>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.packet.Padding'>)]
class scapy.layers.lltd.LargeTlvBuilder[source]

Bases: object

An object to build content fetched through LLTDQueryLargeTlv / LLTDQueryLargeTlvResp packets.

Usable with a PacketList() object: >>> p = LargeTlvBuilder() >>> p.parse(rdpcap(‘capture_file.cap’))

Or during a network capture: >>> p = LargeTlvBuilder() >>> sniff(filter=”ether proto 0x88d9”, prn=p.parse)

To get the result, use .get_data()

get_data()[source]

Returns a dictionary object, keys are strings “source > destincation [content type]”, and values are the content fetched, also as a string.

parse(plist)[source]

Update the builder using the provided plist. plist can be either a Packet() or a PacketList().