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(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNMQTTSN fields len
Nonetype
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(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GW ID | DURATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNAdvertiseMQTTSNAdvertise fields gw_id
0duration
0
- class scapy.contrib.mqttsn.MQTTSNConnack(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNConnect(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| PROT ID | DURATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CLIENT ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNConnectMQTTSNConnect fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0prot_id
1duration
0client_id
b''
- class scapy.contrib.mqttsn.MQTTSNDisconnect(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DURATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNDisconnectMQTTSNDisconnect fields duration
ShortField(Cond)None
- class scapy.contrib.mqttsn.MQTTSNEncaps(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESVD |RAD| W NODE ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNEncapsMQTTSNEncaps fields resvd
BitField(6 bits)0radius
BitField(2 bits)0w_node_id
b''
- class scapy.contrib.mqttsn.MQTTSNGwInfo(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GW ID | GW ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNGwInfoMQTTSNGwInfo fields gw_id
0gw_addr
b''
- class scapy.contrib.mqttsn.MQTTSNPingReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPingResp(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPuback(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RETURN CODE | +-+-+-+-+-+-+-+-+ Fig. MQTTSNPubackMQTTSNPuback fields tid
0mid
0return_code
0
- class scapy.contrib.mqttsn.MQTTSNPubcomp(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPublish(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNPublishMQTTSNPublish fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0tid
0mid
0data
b''
- class scapy.contrib.mqttsn.MQTTSNPubrec(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNPubrel(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNRegack(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RETURN CODE | +-+-+-+-+-+-+-+-+ Fig. MQTTSNRegackMQTTSNRegack fields tid
0mid
0return_code
0
- class scapy.contrib.mqttsn.MQTTSNRegister(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TOPIC NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNRegisterMQTTSNRegister fields tid
0mid
0topic_name
b''
- class scapy.contrib.mqttsn.MQTTSNSearchGW(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNSuback(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| TID | MID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RETURN CODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNSubackMQTTSNSuback fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0tid
0mid
0return_code
0
- class scapy.contrib.mqttsn.MQTTSNSubscribe(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| MID | TID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SHORT TOPIC | TOPIC NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MQTTSNSubscribeMQTTSNSubscribe fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0mid
0tid
ShortField(Cond)Noneshort_topic
StrFixedLenField(Cond)Nonetopic_name
StrLenField(Cond)None
- class scapy.contrib.mqttsn.MQTTSNUnsuback(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNUnsubscribe(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| MID | TID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SHORT TOPIC | TOPIC NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MQTTSNUnsubscribeMQTTSNUnsubscribe fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0mid
0tid
ShortField(Cond)Noneshort_topic
StrFixedLenField(Cond)Nonetopic_name
StrLenField(Cond)None
- class scapy.contrib.mqttsn.MQTTSNWillMsg(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillMsgReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillMsgResp(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillMsgUpd(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillTopic(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| WILL TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNWillTopicMQTTSNWillTopic fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0will_topic
b''
- class scapy.contrib.mqttsn.MQTTSNWillTopicReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillTopicResp(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.mqttsn.MQTTSNWillTopicUpd(*args: Any, **kargs: Any)[source]
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|QOS|R|W|C|TID| WILL TOPIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MQTTSNWillTopicUpdMQTTSNWillTopicUpd fields dup
BitField(1 bit)0qos
0retain
BitField(1 bit)0will
BitField(1 bit)0cleansess
BitField(1 bit)0tid_type
0will_topic
b''
- class scapy.contrib.mqttsn.RandVariableFieldLen[source]
Bases:
scapy.volatile.RandNum
- class scapy.contrib.mqttsn.VariableFieldLenField(*args, **kwargs)[source]
Bases:
scapy.fields.FieldLenFieldMQTT-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).