scapy.contrib.loraphy2wan

Copyright (C) 2020 Sebastien Dudek (@FlUxIuS @PentHertz)

class scapy.contrib.loraphy2wan.ADRParamSetupAns

Bases: scapy.packet.Packet

aliastypes
fields_desc
class scapy.contrib.loraphy2wan.ADRParamSetupReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LIMIT E|DELAY E|
+-+-+-+-+-+-+-+-+

                      Fig. ADRParamSetupReq                       
ADRParamSetupReq fields

Limit_exp

BitField (4 bits)

0

Delay_exp

BitField (4 bits)

0

class scapy.contrib.loraphy2wan.ADRparam

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LIMIT E|DELAY E|
+-+-+-+-+-+-+-+-+

                          Fig. ADRparam                           
ADRparam fields

Limit_exp

BitField (4 bits)

0

Delay_exp

BitField (4 bits)

0

class scapy.contrib.loraphy2wan.DLsettings

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|O|RX1DR|RX2 DAT|
+-+-+-+-+-+-+-+-+

                         Fig. DLsettings                          
DLsettings fields

OptNeg

BitField (1 bit)

0

RX1DRoffset

XBitField (3 bits)

0

RX2_Data_rate

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.DataRate_TXPower

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DATARAT|TXPOWER|
+-+-+-+-+-+-+-+-+

                      Fig. DataRate_TXPower                       
DataRate_TXPower fields

DataRate

XBitField (4 bits)

0

TXPower

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.DevAddrElem

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     NWKID     |                    NWKADDR                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                         Fig. DevAddrElem                         
DevAddrElem fields

NwkID

XByteField

0

NwkAddr

LEX3BytesField

b'\x00\x00\x00'

class scapy.contrib.loraphy2wan.DevLoraWANversion

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RFU  | MINOR |
+-+-+-+-+-+-+-+-+

                      Fig. DevLoraWANversion                      
DevLoraWANversion fields

RFU

BitField (4 bits)

0

Minor

BitField (4 bits)

1

class scapy.contrib.loraphy2wan.DevStatusAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RFU|   MARGIN  |
+-+-+-+-+-+-+-+-+

                        Fig. DevStatusAns                         
DevStatusAns fields

RFU

XBitField (2 bits)

0

Margin

XBitField (6 bits)

0

class scapy.contrib.loraphy2wan.DevStatusAns_Status

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RFU|   MARGIN  |
+-+-+-+-+-+-+-+-+

                     Fig. DevStatusAns_Status                     
DevStatusAns_Status fields

RFU

XBitField (2 bits)

0

Margin

XBitField (6 bits)

0

class scapy.contrib.loraphy2wan.DevStatusReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    BATTERY    |     MARGIN    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. DevStatusReq                         
DevStatusReq fields

Battery

ByteEnumField

0

Margin

ByteField

0

class scapy.contrib.loraphy2wan.DeviceTimeAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       SECONDSSINCEEPOCH                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   FRACSECOND  |
+-+-+-+-+-+-+-+-+

                        Fig. DeviceTimeAns                        
DeviceTimeAns fields

SecondsSinceEpoch

IntField

0

FracSecond

ByteField

0

class scapy.contrib.loraphy2wan.DeviceTimeReq

Bases: scapy.packet.Packet

aliastypes
fields_desc
class scapy.contrib.loraphy2wan.DlChannelAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     STATUS    |
+-+-+-+-+-+-+-+-+

                        Fig. DlChannelAns                         
DlChannelAns fields

Status

ByteField

0

class scapy.contrib.loraphy2wan.DlChannelReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    CHINDEX    |                      FREQ                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                        Fig. DlChannelReq                         
DlChannelReq fields

ChIndex

ByteField

0

Freq

X3BytesField

0

class scapy.contrib.loraphy2wan.DrRange

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAXDR | MINDR |
+-+-+-+-+-+-+-+-+

                           Fig. DrRange                           
DrRange fields

MaxDR

XBitField (4 bits)

0

MinDR

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.DutyCycleAns

Bases: scapy.packet.Packet

aliastypes
fields_desc
class scapy.contrib.loraphy2wan.DutyCyclePL

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MAXDCYC|
+-+-+-+-+

                         Fig. DutyCyclePL                         
DutyCyclePL fields

MaxDCycle

BitField (4 bits)

0

class scapy.contrib.loraphy2wan.DutyCycleReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MAXDCYC|
+-+-+-+-+

                        Fig. DutyCycleReq                         
DutyCycleReq fields

MaxDCycle

BitField (4 bits)

0

class scapy.contrib.loraphy2wan.EIRP_DwellTime

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RFU|D|U|MAXEIRP|
+-+-+-+-+-+-+-+-+

                       Fig. EIRP_DwellTime                        
EIRP_DwellTime fields

RFU

BitField (2 bits)

0

DownlinkDwellTime

BitEnumField (1 bit)

0

UplinkDwellTime

BitEnumField (1 bit)

0

MaxEIRP

BitEnumField (4 bits)

0

Bases: scapy.packet.Packet

aliastypes
extract_padding(p)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|A|A|F|FOPTSLE|
+-+-+-+-+-+-+-+-+

                       Fig. FCtrl_DownLink                        
FCtrl_DownLink fields

ADR

BitField (1 bit)

0

ADRACKReq

BitField (1 bit)

0

ACK

BitField (1 bit)

0

FPending

BitField (1 bit)

0

FOptsLen

BitFieldLenField (4 bits)

0

Bases: scapy.packet.Packet

aliastypes
extract_padding(p)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|A|A|C|FOPTSLE|
+-+-+-+-+-+-+-+-+

                        Fig. FCtrl_UpLink                         
FCtrl_UpLink fields

ADR

BitField (1 bit)

0

ADRACKReq

BitField (1 bit)

0

ACK

BitField (1 bit)

0

ClassB

BitField (1 bit)

0

FOptsLen

BitFieldLenField (4 bits)

0

class scapy.contrib.loraphy2wan.FHDR

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DEVADDR            |             FCTRL             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             FCTRL             |              FCNT             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            FOPTS UP           |           FOPTS DOWN          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. FHDR                             
FHDR fields

DevAddr

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCnt

LEShortField (Cond)

0

FOpts_up

PacketListField (Cond)

[b'']

FOpts_down

PacketListField (Cond)

[b'']

class scapy.contrib.loraphy2wan.FOpts

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            FOPTS UP           |           FOPTS DOWN          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. FOpts                            
FOpts fields

FOpts_up

PacketListField (Cond)

[b'']

FOpts_down

PacketListField (Cond)

[b'']

scapy.contrib.loraphy2wan.FOptsDownShow(pkt)
scapy.contrib.loraphy2wan.FOptsUpShow(pkt)
class scapy.contrib.loraphy2wan.FRMPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          DATAPAYLOAD          |          DATAPAYLOAD          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       JOIN REQUEST FIELD      |       JOIN ACCEPT FIELD       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     JOIN ACCEPT ENCRYPTED     |      REJOIN REQUEST FIELD     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. FRMPayload                          
FRMPayload fields

DataPayload

StrField (Cond)

b''

DataPayload

StrField (Cond)

b''

Join_Request_Field

PacketListField (Cond)

[b'']

Join_Accept_Field

PacketListField (Cond)

[b'']

Join_Accept_Encrypted

StrField (Cond)

0

ReJoin_Request_Field

PacketListField (Cond)

[b'']

class scapy.contrib.loraphy2wan.ForceRejoinReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RFU|PERIO|MAX R|R|REJOI|   DR  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ForceRejoinReq                        
ForceRejoinReq fields

RFU

BitField (2 bits)

0

Period

BitField (3 bits)

0

Max_Retries

BitField (3 bits)

0

RFU

BitField (1 bit)

0

RejoinType

BitField (3 bits)

0

DR

BitField (4 bits)

0

class scapy.contrib.loraphy2wan.Join_Accept(packet='')

Bases: scapy.packet.Packet

aliastypes
dcflist = False
extract_padding(p)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          JOINAPPNONCE                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             NETID                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            DEVADDR                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|O|RX1DR|RX2 DAT|    RXDELAY    |             CFLIST            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. Join_Accept                         
Join_Accept fields

JoinAppNonce

LEX3BytesField

0

NetID

LEX3BytesField

0

DevAddr

XLEIntField

0

OptNeg

BitField (1 bit)

0

RX1DRoffset

XBitField (3 bits)

0

RX2_Data_rate

XBitField (4 bits)

0

RxDelay

XByteField

0

CFList

StrFixedLenField (Cond)

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

class scapy.contrib.loraphy2wan.Join_Request

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             APPEUI            |             DEVEUI            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DEVNONCE           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. Join_Request                         
Join_Request fields

AppEUI

StrFixedLenField

b'\x00\x00\x00\x00\x00\x00\x00\x00'

DevEUI

StrFixedLenField

b'\x00\x00\x00\x00\x00\x00\x00\x00'

DevNonce

LEShortField

0

class scapy.contrib.loraphy2wan.LinkADRAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             STATUS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LinkADRAns                          
LinkADRAns fields

status

PacketField

<LinkADRAns_Status  |>

class scapy.contrib.loraphy2wan.LinkADRAns_Status

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RFU   |P|D|C|
+-+-+-+-+-+-+-+-+

                      Fig. LinkADRAns_Status                      
LinkADRAns_Status fields

RFU

BitField (5 bits)

0

PowerACK

BitField (1 bit)

0

DataRate

BitField (1 bit)

0

ChannelMaskACK

BitField (1 bit)

0

class scapy.contrib.loraphy2wan.LinkADRReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DATARAT|TXPOWER|             CHMASK            |R|CHMAS|NBTRANS|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LinkADRReq                          
LinkADRReq fields

DataRate

XBitField (4 bits)

0

TXPower

XBitField (4 bits)

0

ChMask

XShortField

0

RFU

XBitField (1 bit)

0

ChMaskCntl

XBitField (3 bits)

0

NbTrans

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.LinkCheckAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     MARGIN    |     GWCNT     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. LinkCheckAns                         
LinkCheckAns fields

Margin

ByteField

0

GwCnt

ByteField

0

class scapy.contrib.loraphy2wan.LinkCheckReq

Bases: scapy.packet.Packet

aliastypes
class scapy.contrib.loraphy2wan.LoRa

Bases: scapy.packet.Packet

aliastypes
encrypted = True
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PREAMBL|              PHDR             |PHDR CR|MTYPE| RFU |MAJ|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DEVADDR            |             FCTRL             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             FCTRL             |              FCNT             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            FOPTS UP           |           FOPTS DOWN          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     FPORT     |          DATAPAYLOAD          |  DATAPAYLOAD  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |       JOIN REQUEST FIELD      |JOIN ACCEPT FIE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |     JOIN ACCEPT ENCRYPTED     |REJOIN REQUEST |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                      MIC                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              CRC              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. LoRa                             
LoRa fields

Preamble

XBitField (4 bits)

0

PHDR

XBitField (16 bits)

0

PHDR_CRC

XBitField (4 bits)

0

MType

BitEnumField (3 bits)

0

RFU

BitField (3 bits)

0

Major

BitField (2 bits)

0

DevAddr

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCnt

LEShortField (Cond)

0

FOpts_up

PacketListField (Cond)

[b'']

FOpts_down

PacketListField (Cond)

[b'']

FPort

ByteEnumField (Cond)

0

DataPayload

StrField (Cond)

b''

DataPayload

StrField (Cond)

b''

Join_Request_Field

PacketListField (Cond)

[b'']

Join_Accept_Field

PacketListField (Cond)

[b'']

Join_Accept_Encrypted

StrField (Cond)

0

ReJoin_Request_Field

PacketListField (Cond)

[b'']

MIC

XIntField (Cond)

0

CRC

XShortField (Cond)

0

version = '1.1'
class scapy.contrib.loraphy2wan.MACCommand_down

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      CID      |             RESET             |   LINKCHECK   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            LINKADR            |   DUTYCYCLE   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          RXPARAMSETUP         |  DEVSTATUSANS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           NEWCHANNEL          | RXTIMINGSETUP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          TXPARAMSETUP         |   DLCHANNEL   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             REKEY             | ADRPARAMSETUP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           DEVICETIME          |REJOINPARAMSETU|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                       Fig. MACCommand_down                       
MACCommand_down fields

CID

ByteEnumField

0

Reset

PacketListField (Cond)

[b'']

LinkCheck

PacketListField (Cond)

[b'']

LinkADR

PacketListField (Cond)

[b'']

DutyCycle

PacketListField (Cond)

[b'']

RXParamSetup

PacketListField (Cond)

[b'']

DevStatusAns

PacketListField (Cond)

[b'']

NewChannel

PacketListField (Cond)

[b'']

RXTimingSetup

PacketListField (Cond)

[b'']

TxParamSetup

PacketListField (Cond)

[b'']

DlChannel

PacketListField (Cond)

[b'']

Rekey

PacketListField (Cond)

[b'']

ADRParamSetup

PacketListField (Cond)

[b'']

DeviceTime

PacketListField (Cond)

[b'']

RejoinParamSetup

PacketListField (Cond)

[b'']

class scapy.contrib.loraphy2wan.MACCommand_up

Bases: scapy.packet.Packet

aliastypes
extract_padding(p)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      CID      |             RESET             |   LINKCHECK   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            LINKADR            |   DUTYCYCLE   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          RXPARAMSETUP         |   DEVSTATUS   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           NEWCHANNEL          | RXTIMINGSETUP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          TXPARAMSETUP         |   DLCHANNEL   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             REKEY             | ADRPARAMSETUP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           DEVICETIME          |  FORCEREJOIN  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |        REJOINPARAMSETUP       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. MACCommand_up                        
MACCommand_up fields

CID

ByteEnumField

0

Reset

PacketListField (Cond)

[b'']

LinkCheck

PacketListField (Cond)

[b'']

LinkADR

PacketListField (Cond)

[b'']

DutyCycle

PacketListField (Cond)

[b'']

RXParamSetup

PacketListField (Cond)

[b'']

DevStatus

PacketListField (Cond)

[b'']

NewChannel

PacketListField (Cond)

[b'']

RXTimingSetup

PacketListField (Cond)

[b'']

TxParamSetup

PacketListField (Cond)

[b'']

DlChannel

PacketListField (Cond)

[b'']

Rekey

PacketListField (Cond)

[b'']

ADRParamSetup

PacketListField (Cond)

[b'']

DeviceTime

PacketListField (Cond)

[b'']

ForceRejoin

PacketListField (Cond)

[b'']

RejoinParamSetup

PacketListField (Cond)

[b'']

class scapy.contrib.loraphy2wan.MACPayload

Bases: scapy.packet.Packet

aliastypes
eFPort = False
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DEVADDR            |             FCTRL             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             FCTRL             |              FCNT             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            FOPTS UP           |           FOPTS DOWN          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     FPORT     |          DATAPAYLOAD          |  DATAPAYLOAD  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |       JOIN REQUEST FIELD      |JOIN ACCEPT FIE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |     JOIN ACCEPT ENCRYPTED     |REJOIN REQUEST |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                         Fig. MACPayload                          
MACPayload fields

DevAddr

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCnt

LEShortField (Cond)

0

FOpts_up

PacketListField (Cond)

[b'']

FOpts_down

PacketListField (Cond)

[b'']

FPort

ByteEnumField (Cond)

0

DataPayload

StrField (Cond)

b''

DataPayload

StrField (Cond)

b''

Join_Request_Field

PacketListField (Cond)

[b'']

Join_Accept_Field

PacketListField (Cond)

[b'']

Join_Accept_Encrypted

StrField (Cond)

0

ReJoin_Request_Field

PacketListField (Cond)

[b'']

class scapy.contrib.loraphy2wan.MHDR

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MTYPE| RFU |MAJ|
+-+-+-+-+-+-+-+-+

                            Fig. MHDR                             
MHDR fields

MType

BitEnumField (3 bits)

0

RFU

BitField (3 bits)

0

Major

BitField (2 bits)

0

class scapy.contrib.loraphy2wan.NewChannelAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RFU    |D|C|
+-+-+-+-+-+-+-+-+

                        Fig. NewChannelAns                        
NewChannelAns fields

RFU

XBitField (6 bits)

0

Dataraterangeok

BitField (1 bit)

0

Channelfrequencyok

BitField (1 bit)

0

class scapy.contrib.loraphy2wan.NewChannelAns_Status

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RFU    |D|C|
+-+-+-+-+-+-+-+-+

                    Fig. NewChannelAns_Status                     
NewChannelAns_Status fields

RFU

XBitField (6 bits)

0

Dataraterangeok

BitField (1 bit)

0

Channelfrequencyok

BitField (1 bit)

0

class scapy.contrib.loraphy2wan.NewChannelReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    CHINDEX    |                      FREQ                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               | MAXDR | MINDR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. NewChannelReq                        
NewChannelReq fields

ChIndex

ByteField

0

Freq

X3BytesField

0

MaxDR

XBitField (4 bits)

0

MinDR

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.PHYPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MTYPE| RFU |MAJ|            DEVADDR            |     FCTRL     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             FCTRL             |      FCNT     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            FOPTS UP           |   FOPTS DOWN  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |     FPORT     |          DATAPAYLOAD          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          DATAPAYLOAD          |       JOIN REQUEST FIELD      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       JOIN ACCEPT FIELD       |     JOIN ACCEPT ENCRYPTED     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      REJOIN REQUEST FIELD     |              MIC              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. PHYPayload                          
PHYPayload fields

MType

BitEnumField (3 bits)

0

RFU

BitField (3 bits)

0

Major

BitField (2 bits)

0

DevAddr

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCtrl

PacketListField (Cond)

[b'']

FCnt

LEShortField (Cond)

0

FOpts_up

PacketListField (Cond)

[b'']

FOpts_down

PacketListField (Cond)

[b'']

FPort

ByteEnumField (Cond)

0

DataPayload

StrField (Cond)

b''

DataPayload

StrField (Cond)

b''

Join_Request_Field

PacketListField (Cond)

[b'']

Join_Accept_Field

PacketListField (Cond)

[b'']

Join_Accept_Encrypted

StrField (Cond)

0

ReJoin_Request_Field

PacketListField (Cond)

[b'']

MIC

XIntField (Cond)

0

class scapy.contrib.loraphy2wan.RXParamSetupAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RFU   |R|R|C|
+-+-+-+-+-+-+-+-+

                       Fig. RXParamSetupAns                       
RXParamSetupAns fields

RFU

XBitField (5 bits)

0

RX1DRoffsetACK

BitField (1 bit)

0

RX2DatarateACK

BitField (1 bit)

0

ChannelACK

BitField (1 bit)

0

class scapy.contrib.loraphy2wan.RXParamSetupAns_Status

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RFU   |R|R|C|
+-+-+-+-+-+-+-+-+

                   Fig. RXParamSetupAns_Status                    
RXParamSetupAns_Status fields

RFU

XBitField (5 bits)

0

RX1DRoffsetACK

BitField (1 bit)

0

RX2DatarateACK

BitField (1 bit)

0

ChannelACK

BitField (1 bit)

0

class scapy.contrib.loraphy2wan.RXParamSetupReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|O|RX1DR|RX2 DAT|                   FREQUENCY                   |
+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                       Fig. RXParamSetupReq                       
RXParamSetupReq fields

OptNeg

BitField (1 bit)

0

RX1DRoffset

XBitField (3 bits)

0

RX2_Data_rate

XBitField (4 bits)

0

Frequency

X3BytesField

0

class scapy.contrib.loraphy2wan.RXTimingSetupAns

Bases: scapy.packet.Packet

aliastypes
fields_desc
class scapy.contrib.loraphy2wan.RXTimingSetupReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RFU  |  DEL  |
+-+-+-+-+-+-+-+-+

                      Fig. RXTimingSetupReq                       
RXTimingSetupReq fields

RFU

XBitField (4 bits)

0

Del

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RFU  |  DEL  |
+-+-+-+-+-+-+-+-+

                  Fig. RXTimingSetupReq_Settings                  
RXTimingSetupReq_Settings fields

RFU

XBitField (4 bits)

0

Del

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.Redundancy

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|CHMAS|NBTRANS|
+-+-+-+-+-+-+-+-+

                         Fig. Redundancy                          
Redundancy fields

RFU

XBitField (1 bit)

0

ChMaskCntl

XBitField (3 bits)

0

NbTrans

XBitField (4 bits)

0

class scapy.contrib.loraphy2wan.RejoinParamSetupAns

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     RFU     |T|
+-+-+-+-+-+-+-+-+

                     Fig. RejoinParamSetupAns                     
RejoinParamSetupAns fields

RFU

BitField (7 bits)

0

TimeOK

BitField (1 bit)

0

class scapy.contrib.loraphy2wan.RejoinParamSetupReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MAXTIME|MAXCOUN|
+-+-+-+-+-+-+-+-+

                     Fig. RejoinParamSetupReq                     
RejoinParamSetupReq fields

MaxTimeN

BitField (4 bits)

0

MaxCountN

BitField (4 bits)

0

class scapy.contrib.loraphy2wan.RejoinReq

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     |                     NETID                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             DEVEUI            |    RJCOUNT0   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                          Fig. RejoinReq                          
RejoinReq fields

Type

ByteField

0

NetID

X3BytesField

0

DevEUI

StrFixedLenField

b'\x00\x00\x00\x00\x00\x00\x00\x00'

RJcount0

XShortField

0

class scapy.contrib.loraphy2wan.RekeyConf

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SERVERVERSION |
+-+-+-+-+-+-+-+-+

                          Fig. RekeyConf                          
RekeyConf fields

ServerVersion

ByteField

0

class scapy.contrib.loraphy2wan.RekeyInd

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         LORAWANVERSION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. RekeyInd                           
RekeyInd fields

LoRaWANversion

PacketListField

[b'']

class scapy.contrib.loraphy2wan.ResetConf

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  SERV VERSION |
+-+-+-+-+-+-+-+-+

                          Fig. ResetConf                          
ResetConf fields

Serv_version

ByteField

0

class scapy.contrib.loraphy2wan.ResetInd

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  DEV VERSION  |
+-+-+-+-+-+-+-+-+

                          Fig. ResetInd                           
ResetInd fields

Dev_version

ByteField

0

class scapy.contrib.loraphy2wan.TxParamSetupAns

Bases: scapy.packet.Packet

aliastypes
fields_desc
class scapy.contrib.loraphy2wan.TxParamSetupReq

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RFU|D|U|MAXEIRP|
+-+-+-+-+-+-+-+-+

                       Fig. TxParamSetupReq                       
TxParamSetupReq fields

RFU

BitField (2 bits)

0

DownlinkDwellTime

BitEnumField (1 bit)

0

UplinkDwellTime

BitEnumField (1 bit)

0

MaxEIRP

BitEnumField (4 bits)

0