scapy.layers.lltd
LLTD Protocol
https://msdn.microsoft.com/en-us/library/cc233983.aspx
- class scapy.layers.lltd.LLTD(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- answer_hashret = {(0, 12): (0, 11), (1, 1): (0, 0)}
- answers(other)
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | TOS | RESERVED | FUNCTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REAL DST | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REAL SRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | XID | SEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTD
LLTD fields version
1
tos
0
reserved
0
function
MultiEnumField
(Depends on tos)0
real_dst
None
real_src
None
xid
ShortField
(Cond)0
seq
ShortField
(Cond)0
- hashret()
- mysummary()
- payload_guess
Possible sublayers:
LLTDDiscover
,LLTDEmit
,LLTDHello
,LLTDQueryLargeTlvResp
,LLTDQueryLargeTlv
,LLTDQueryResp
- post_build(pkt, pay)
- class scapy.layers.lltd.LLTDAttribute(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- classmethod dispatch_hook(_pkt=None, *_, **kargs)
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttribute
LLTDAttribute fields type
0
len
None
value
b''
- payload_guess
Possible sublayers:
LLTDAttribute
,Padding
- show_indent = False
- show_summary = False
- class scapy.layers.lltd.LLTDAttribute80211MaxRate(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttribute80211MaxRate
LLTDAttribute80211MaxRate fields type
9
len
2
rate
0
- class scapy.layers.lltd.LLTDAttribute80211PhysicalMedium(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | MEDIUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttribute80211PhysicalMedium
LLTDAttribute80211PhysicalMedium fields type
21
len
1
medium
0
- class scapy.layers.lltd.LLTDAttributeCharacteristics(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | FLAGS | RESERVED1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeCharacteristics
LLTDAttributeCharacteristics fields type
2
len
None
flags
FlagsField
(5 bits)<Flag 0 ()>
reserved1
BitField
(11 bits)0
reserved2
b''
- class scapy.layers.lltd.LLTDAttributeDeviceUUID(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | UUID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeDeviceUUID
LLTDAttributeDeviceUUID fields type
18
len
None
uuid
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.lltd.LLTDAttributeEOP(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- class scapy.layers.lltd.LLTDAttributeHostID(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | MAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeHostID
LLTDAttributeHostID fields type
1
len
6
mac
'00:00:00:00:00:00'
- mysummary()
- class scapy.layers.lltd.LLTDAttributeIPv4Address(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | IPV4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeIPv4Address
LLTDAttributeIPv4Address fields type
7
len
4
ipv4
'0.0.0.0'
- class scapy.layers.lltd.LLTDAttributeIPv6Address(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | IPV6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeIPv6Address
LLTDAttributeIPv6Address fields type
8
len
16
ipv6
'::'
- class scapy.layers.lltd.LLTDAttributeLargeTLV(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- class scapy.layers.lltd.LLTDAttributeLinkSpeed(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | SPEED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeLinkSpeed
LLTDAttributeLinkSpeed fields type
12
len
4
speed
0
- class scapy.layers.lltd.LLTDAttributeMachineName(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | HOSTNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeMachineName
LLTDAttributeMachineName fields type
15
len
None
hostname
b''
- mysummary()
- class scapy.layers.lltd.LLTDAttributePerformanceCounterFrequency(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributePerformanceCounterFrequency
LLTDAttributePerformanceCounterFrequency fields type
10
len
8
freq
0
- class scapy.layers.lltd.LLTDAttributePhysicalMedium(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | MEDIUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributePhysicalMedium
LLTDAttributePhysicalMedium fields type
3
len
4
medium
6
- class scapy.layers.lltd.LLTDAttributeQOSCharacteristics(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN |FLAGS| RESERVED1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeQOSCharacteristics
LLTDAttributeQOSCharacteristics fields type
20
len
4
flags
FlagsField
(3 bits)<Flag 0 ()>
reserved1
BitField
(13 bits)0
reserved2
0
- class scapy.layers.lltd.LLTDAttributeSeesList(*args, **kargs)
Bases:
scapy.layers.lltd.LLTDAttribute
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | MAX ENTRIES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDAttributeSeesList
LLTDAttributeSeesList fields type
25
len
2
max_entries
0
- class scapy.layers.lltd.LLTDDiscover(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GEN NUMBER | STATIONS COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATIONS LIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDDiscover
LLTDDiscover fields gen_number
0
stations_count
None
stations_list
[]
- mysummary()
- class scapy.layers.lltd.LLTDEmit(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DESCS COUNT | DESCS LIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDEmit
LLTDEmit fields descs_count
None
descs_list
[]
- mysummary()
- class scapy.layers.lltd.LLTDEmiteeDesc(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | PAUSE | SRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDEmiteeDesc
LLTDEmiteeDesc fields type
0
pause
0
src
None
dst
'00:00:00:00:00:00'
- class scapy.layers.lltd.LLTDHello(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GEN NUMBER | CURRENT MAPPER ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | APPARENT MAPPER ADDRESS | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDHello
LLTDHello fields gen_number
0
current_mapper_address
'00:00:00:00:00:00'
apparent_mapper_address
'00:00:00:00:00:00'
- payload_guess
Possible sublayers:
LLTDAttribute
- show_summary = False
- class scapy.layers.lltd.LLTDQueryLargeTlv(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. LLTDQueryLargeTlv
LLTDQueryLargeTlv fields type
14
offset
0
- mysummary()
- class scapy.layers.lltd.LLTDQueryLargeTlvResp(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |FLA| LEN | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDQueryLargeTlvResp
LLTDQueryLargeTlvResp fields flags
FlagsField
(2 bits)<Flag 0 ()>
len
BitField
(14 bits)None
value
b''
- mysummary()
- post_build(pkt, pay)
- class scapy.layers.lltd.LLTDQueryResp(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |FLA| DESCS COUNT | DESCS LIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDQueryResp
LLTDQueryResp fields flags
FlagsField
(2 bits)<Flag 0 ()>
descs_count
BitField
(14 bits)None
descs_list
[]
- mysummary()
- post_build(pkt, pay)
- class scapy.layers.lltd.LLTDRecveeDesc(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | REAL SRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ETHER SRC | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ETHER DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LLTDRecveeDesc
LLTDRecveeDesc fields 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'
- class scapy.layers.lltd.LargeTlvBuilder
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()
Returns a dictionary object, keys are strings “source > destincation [content type]”, and values are the content fetched, also as a string.
- parse(plist)
Update the builder using the provided plist. plist can be either a Packet() or a PacketList().