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