scapy.contrib.mqtt
- class scapy.contrib.mqtt.MQTT(*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 |D|QOS|R| LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTT
MQTT fields type
BitEnumField
(4 bits)1
DUP
BitEnumField
(1 bit)0
QOS
BitEnumField
(2 bits)0
RETAIN
BitEnumField
(1 bit)0
len
None
- payload_guess
Possible sublayers:
MQTTConnack
,MQTTConnect
,MQTTPuback
,MQTTPubcomp
,MQTTPublish
,MQTTPubrec
,MQTTPubrel
,MQTTSuback
,MQTTSubscribe
,MQTTUnsuback
,MQTTUnsubscribe
- class scapy.contrib.mqtt.MQTTConnack(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SESSPRESENTFLAG| RETCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTConnack
MQTTConnack fields sessPresentFlag
0
retcode
0
- class scapy.contrib.mqtt.MQTTConnect(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | PROTONAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROTOLEVEL |U|P|W|WIL|W|C|R| KLIVE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CLIENTIDLEN | CLIENTID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | WTOPLEN | WILLTOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | WMSGLEN | WILLMSG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | USERLEN | USERNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PASSLEN | PASSWORD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTConnect
MQTTConnect fields length
None
protoname
b''
protolevel
5
usernameflag
BitEnumField
(1 bit)0
passwordflag
BitEnumField
(1 bit)0
willretainflag
BitEnumField
(1 bit)0
willQOSflag
BitEnumField
(2 bits)0
willflag
BitEnumField
(1 bit)0
cleansess
BitEnumField
(1 bit)0
reserved
BitEnumField
(1 bit)0
klive
0
clientIdlen
None
clientId
b''
wtoplen
FieldLenField
(Cond)None
willtopic
StrLenField
(Cond)b''
wmsglen
FieldLenField
(Cond)None
willmsg
StrLenField
(Cond)b''
userlen
FieldLenField
(Cond)None
username
StrLenField
(Cond)b''
passlen
FieldLenField
(Cond)None
password
StrLenField
(Cond)b''
- class scapy.contrib.mqtt.MQTTPuback(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- class scapy.contrib.mqtt.MQTTPubcomp(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- class scapy.contrib.mqtt.MQTTPublish(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGID | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTPublish
MQTTPublish fields length
None
topic
b''
msgid
ShortField
(Cond)None
value
b''
- class scapy.contrib.mqtt.MQTTPubrec(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- class scapy.contrib.mqtt.MQTTPubrel(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- class scapy.contrib.mqtt.MQTTSuback(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGID | RETCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSuback
MQTTSuback fields msgid
None
retcode
None
- class scapy.contrib.mqtt.MQTTSubscribe(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGID | TOPICS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSubscribe
MQTTSubscribe fields msgid
None
topics
[]
- class scapy.contrib.mqtt.MQTTTopic(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTTopic
MQTTTopic fields length
None
topic
b''
- guess_payload_class(payload)
- class scapy.contrib.mqtt.MQTTTopicQOS(*args, **kargs)
Bases:
scapy.contrib.mqtt.MQTTTopic
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QOS | +-+-+-+-+-+-+-+-+ Fig. MQTTTopicQOS
MQTTTopicQOS fields length
None
topic
b''
QOS
0
- class scapy.contrib.mqtt.MQTTUnsuback(*args, **kargs)
Bases:
scapy.packet.Packet
- aliastypes
- class scapy.contrib.mqtt.MQTTUnsubscribe(*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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGID | TOPICS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTUnsubscribe
MQTTUnsubscribe fields msgid
None
topics
[]
- class scapy.contrib.mqtt.RandVariableFieldLen
Bases:
scapy.volatile.RandNum
- class scapy.contrib.mqtt.VariableFieldLenField(name, default, length_of=None, fmt='H', count_of=None, adjust=<function FieldLenField.<lambda>>, fld=None)
Bases:
scapy.fields.FieldLenField
- addfield(pkt, s, val)
- getfield(pkt, s)
- randval()