scapy.contrib.mqttsn

class scapy.contrib.mqttsn.MQTTSN(*args, **kargs)[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. MQTTSN                            
MQTTSN fields

len

VariableFieldLenField

None

type

XByteEnumField

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)[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. MQTTSNAdvertise                       
MQTTSNAdvertise fields

gw_id

ByteField

0

duration

ShortField

0

class scapy.contrib.mqttsn.MQTTSNConnack(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RETURN CODE  |
+-+-+-+-+-+-+-+-+

                        Fig. MQTTSNConnack                        
MQTTSNConnack fields

return_code

ByteEnumField

0

class scapy.contrib.mqttsn.MQTTSNConnect(*args, **kargs)[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. MQTTSNConnect                        
MQTTSNConnect fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

prot_id

ByteField

1

duration

ShortField

0

client_id

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNDisconnect(*args, **kargs)[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. MQTTSNDisconnect                       
MQTTSNDisconnect fields

duration

ShortField (Cond)

None

class scapy.contrib.mqttsn.MQTTSNEncaps(*args, **kargs)[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. MQTTSNEncaps                         
MQTTSNEncaps fields

resvd

BitField (6 bits)

0

radius

BitField (2 bits)

0

w_node_id

StrLenField

b''

payload_guess

Possible sublayers: MQTTSN

class scapy.contrib.mqttsn.MQTTSNGwInfo(*args, **kargs)[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. MQTTSNGwInfo                         
MQTTSNGwInfo fields

gw_id

ByteField

0

gw_addr

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNPingReq(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CLIENT ID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. MQTTSNPingReq                        
MQTTSNPingReq fields

client_id

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNPingResp(*args, **kargs)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.contrib.mqttsn.MQTTSNPuback(*args, **kargs)[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. MQTTSNPuback                         
MQTTSNPuback fields

tid

ShortField

0

mid

ShortField

0

return_code

ByteEnumField

0

class scapy.contrib.mqttsn.MQTTSNPubcomp(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              MID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. MQTTSNPubcomp                        
MQTTSNPubcomp fields

mid

ShortField

0

class scapy.contrib.mqttsn.MQTTSNPublish(*args, **kargs)[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. MQTTSNPublish                        
MQTTSNPublish fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

tid

ShortField

0

mid

ShortField

0

data

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNPubrec(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              MID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. MQTTSNPubrec                         
MQTTSNPubrec fields

mid

ShortField

0

class scapy.contrib.mqttsn.MQTTSNPubrel(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              MID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. MQTTSNPubrel                         
MQTTSNPubrel fields

mid

ShortField

0

class scapy.contrib.mqttsn.MQTTSNRegack(*args, **kargs)[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. MQTTSNRegack                         
MQTTSNRegack fields

tid

ShortField

0

mid

ShortField

0

return_code

ByteEnumField

0

class scapy.contrib.mqttsn.MQTTSNRegister(*args, **kargs)[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. MQTTSNRegister                        
MQTTSNRegister fields

tid

ShortField

0

mid

ShortField

0

topic_name

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNSearchGW(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     RADIUS    |
+-+-+-+-+-+-+-+-+

                       Fig. MQTTSNSearchGW                        
MQTTSNSearchGW fields

radius

ByteField

0

class scapy.contrib.mqttsn.MQTTSNSuback(*args, **kargs)[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. MQTTSNSuback                         
MQTTSNSuback fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

tid

ShortField

0

mid

ShortField

0

return_code

ByteEnumField

0

class scapy.contrib.mqttsn.MQTTSNSubscribe(*args, **kargs)[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. MQTTSNSubscribe                       
MQTTSNSubscribe fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

mid

ShortField

0

tid

ShortField (Cond)

None

short_topic

StrFixedLenField (Cond)

None

topic_name

StrLenField (Cond)

None

class scapy.contrib.mqttsn.MQTTSNUnsuback(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              MID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. MQTTSNUnsuback                        
MQTTSNUnsuback fields

mid

ShortField

0

class scapy.contrib.mqttsn.MQTTSNUnsubscribe(*args, **kargs)[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. MQTTSNUnsubscribe                      
MQTTSNUnsubscribe fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

mid

ShortField

0

tid

ShortField (Cond)

None

short_topic

StrFixedLenField (Cond)

None

topic_name

StrLenField (Cond)

None

class scapy.contrib.mqttsn.MQTTSNWillMsg(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            WILL MSG           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. MQTTSNWillMsg                        
MQTTSNWillMsg fields

will_msg

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNWillMsgReq(*args, **kargs)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.contrib.mqttsn.MQTTSNWillMsgResp(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RETURN CODE  |
+-+-+-+-+-+-+-+-+

                      Fig. MQTTSNWillMsgResp                      
MQTTSNWillMsgResp fields

return_code

ByteEnumField

0

class scapy.contrib.mqttsn.MQTTSNWillMsgUpd(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            WILL MSG           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. MQTTSNWillMsgUpd                       
MQTTSNWillMsgUpd fields

will_msg

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNWillTopic(*args, **kargs)[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. MQTTSNWillTopic                       
MQTTSNWillTopic fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

will_topic

StrLenField

b''

class scapy.contrib.mqttsn.MQTTSNWillTopicReq(*args, **kargs)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.contrib.mqttsn.MQTTSNWillTopicResp(*args, **kargs)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RETURN CODE  |
+-+-+-+-+-+-+-+-+

                     Fig. MQTTSNWillTopicResp                     
MQTTSNWillTopicResp fields

return_code

ByteEnumField

0

class scapy.contrib.mqttsn.MQTTSNWillTopicUpd(*args, **kargs)[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. MQTTSNWillTopicUpd                      
MQTTSNWillTopicUpd fields

dup

BitField (1 bit)

0

qos

BitEnumField

0

retain

BitField (1 bit)

0

will

BitField (1 bit)

0

cleansess

BitField (1 bit)

0

tid_type

BitEnumField

0

will_topic

StrLenField

b''

class scapy.contrib.mqttsn.RandVariableFieldLen[source]

Bases: scapy.volatile.RandNum

class scapy.contrib.mqttsn.VariableFieldLenField(*args, **kwargs)[source]

Bases: scapy.fields.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).

addfield(pkt, s, val)[source]
getfield(pkt, s)[source]
randval()[source]