scapy.contrib.mqttsn
MQTT for Sensor Networks (MQTT-SN)
Specification: http://www.mqtt.org/new/wp-content/uploads/2009/06/MQTT-SN_spec_v1.2.pdf
- class scapy.contrib.mqttsn.MQTTSN(_pkt, /, *, len=None, type=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSN
MQTTSN fields len
None
type
0
- payload_guess
Possible sublayers:
MQTTSNAdvertise
,MQTTSNConnack
,MQTTSNConnect
,MQTTSNDisconnect
,MQTTSNEncaps
,MQTTSNGwInfo
,MQTTSNPingReq
,MQTTSNPingResp
,MQTTSNPuback
,MQTTSNPubcomp
,MQTTSNPublish
,MQTTSNPubrec
,MQTTSNPubrel
,MQTTSNRegack
,MQTTSNRegister
,MQTTSNSearchGW
,MQTTSNSuback
,MQTTSNSubscribe
,MQTTSNUnsuback
,MQTTSNUnsubscribe
,MQTTSNWillMsgReq
,MQTTSNWillMsgResp
,MQTTSNWillMsgUpd
,MQTTSNWillMsg
,MQTTSNWillTopicReq
,MQTTSNWillTopicResp
,MQTTSNWillTopicUpd
,MQTTSNWillTopic
- class scapy.contrib.mqttsn.MQTTSNAdvertise(_pkt, /, *, gw_id=0, duration=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GW ID | DURATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNAdvertise
MQTTSNAdvertise fields gw_id
0
duration
0
- class scapy.contrib.mqttsn.MQTTSNConnack(_pkt, /, *, return_code=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNConnect(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, prot_id=1, duration=0, client_id=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| PROT ID | DURATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CLIENT ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNConnect
MQTTSNConnect fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
prot_id
1
duration
0
client_id
b''
- class scapy.contrib.mqttsn.MQTTSNDisconnect(_pkt, /, *, duration=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DURATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNDisconnect
MQTTSNDisconnect fields duration
ShortField
(Cond)None
- class scapy.contrib.mqttsn.MQTTSNEncaps(_pkt, /, *, resvd=0, radius=0, w_node_id=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESVD |RAD| W NODE ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNEncaps
MQTTSNEncaps fields resvd
BitField
(6 bits)0
radius
BitField
(2 bits)0
w_node_id
b''
- class scapy.contrib.mqttsn.MQTTSNGwInfo(_pkt, /, *, gw_id=0, gw_addr=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GW ID | GW ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNGwInfo
MQTTSNGwInfo fields gw_id
0
gw_addr
b''
- class scapy.contrib.mqttsn.MQTTSNPingReq(_pkt, /, *, client_id=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPuback(_pkt, /, *, tid=0, mid=0, return_code=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RETURN CODE | +-+-+-+-+-+-+-+-+ Fig. MQTTSNPuback
MQTTSNPuback fields tid
0
mid
0
return_code
0
- class scapy.contrib.mqttsn.MQTTSNPubcomp(_pkt, /, *, mid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPublish(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, tid=0, mid=0, data=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNPublish
MQTTSNPublish fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
tid
0
mid
0
data
b''
- class scapy.contrib.mqttsn.MQTTSNPubrec(_pkt, /, *, mid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPubrel(_pkt, /, *, mid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNRegack(_pkt, /, *, tid=0, mid=0, return_code=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RETURN CODE | +-+-+-+-+-+-+-+-+ Fig. MQTTSNRegack
MQTTSNRegack fields tid
0
mid
0
return_code
0
- class scapy.contrib.mqttsn.MQTTSNRegister(_pkt, /, *, tid=0, mid=0, topic_name=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TOPIC NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNRegister
MQTTSNRegister fields tid
0
mid
0
topic_name
b''
- class scapy.contrib.mqttsn.MQTTSNSuback(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, tid=0, mid=0, return_code=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RETURN CODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNSuback
MQTTSNSuback fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
tid
0
mid
0
return_code
0
- class scapy.contrib.mqttsn.MQTTSNSubscribe(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, mid=0, tid=None, short_topic=None, topic_name=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| MID | TID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SHORT TOPIC | TOPIC NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MQTTSNSubscribe
MQTTSNSubscribe fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
mid
0
tid
ShortField
(Cond)None
short_topic
StrFixedLenField
(Cond)None
topic_name
StrLenField
(Cond)None
- class scapy.contrib.mqttsn.MQTTSNUnsuback(_pkt, /, *, mid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNUnsubscribe(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, mid=0, tid=None, short_topic=None, topic_name=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| MID | TID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SHORT TOPIC | TOPIC NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MQTTSNUnsubscribe
MQTTSNUnsubscribe fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
mid
0
tid
ShortField
(Cond)None
short_topic
StrFixedLenField
(Cond)None
topic_name
StrLenField
(Cond)None
- class scapy.contrib.mqttsn.MQTTSNWillMsg(_pkt, /, *, will_msg=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillMsgResp(_pkt, /, *, return_code=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillMsgUpd(_pkt, /, *, will_msg=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillTopic(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, will_topic=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| WILL TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNWillTopic
MQTTSNWillTopic fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
will_topic
b''
- class scapy.contrib.mqttsn.MQTTSNWillTopicResp(_pkt, /, *, return_code=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillTopicUpd(_pkt, /, *, dup=0, qos=0, retain=0, will=0, cleansess=0, tid_type=0, will_topic=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| WILL TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNWillTopicUpd
MQTTSNWillTopicUpd fields dup
BitField
(1 bit)0
qos
0
retain
BitField
(1 bit)0
will
BitField
(1 bit)0
cleansess
BitField
(1 bit)0
tid_type
0
will_topic
b''
- class scapy.contrib.mqttsn.VariableFieldLenField(*args, **kwargs)[source]
Bases:
FieldLenField
MQTT-SN length field either has 1 byte for values [0x02, 0xff] or 3 bytes for values [0x0100, 0xffff]. If the first byte is 0x01 the length value comes in network byte-order in the next 2 bytes. MQTT-SN packets are at least 2 bytes long (length field + type field).