scapy.contrib.loraphy2wan
LoRa PHY to WAN Layer
Initially developed @PentHertz and improved at @Trend Micro
Spec: lorawantm_specification v1.1
- class scapy.contrib.loraphy2wan.ADRParamSetupAns(_pkt, /)[source]
Bases:
Packet
- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.ADRParamSetupReq(_pkt, /, *, Limit_exp=0, Delay_exp=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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(_pkt, /, *, Limit_exp=0, Delay_exp=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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(_pkt, /, *, OptNeg=0, RX1DRoffset=0, RX2_Data_rate=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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(_pkt, /, *, DataRate=0, TXPower=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| +-+-+-+-+-+-+-+-+ Fig. DataRate_TXPower
DataRate_TXPower fields DataRate
XBitField
(4 bits)0
TXPower
XBitField
(4 bits)0
- class scapy.contrib.loraphy2wan.DevAddrElem(_pkt, /, *, NwkID=0, NwkAddr=b'\x00\x00\x00')[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NWKID | NWKADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DevAddrElem
DevAddrElem fields NwkID
0
NwkAddr
b'\x00\x00\x00'
- class scapy.contrib.loraphy2wan.DevLoraWANversion(_pkt, /, *, RFU=0, Minor=1)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | MINOR | +-+-+-+-+-+-+-+-+ Fig. DevLoraWANversion
DevLoraWANversion fields RFU
BitField
(4 bits)0
Minor
BitField
(4 bits)1
- class scapy.contrib.loraphy2wan.DevStatusAns(_pkt, /, *, RFU=0, Margin=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.DevStatusAns_Status(_pkt, /, *, RFU=0, Margin=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU| MARGIN | +-+-+-+-+-+-+-+-+ Fig. DevStatusAns_Status
DevStatusAns_Status fields RFU
XBitField
(2 bits)0
Margin
XBitField
(6 bits)0
- class scapy.contrib.loraphy2wan.DevStatusReq(_pkt, /, *, Battery=0, Margin=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.DeviceTimeAns(_pkt, /, *, SecondsSinceEpoch=0, FracSecond=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SECONDSSINCEEPOCH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FRACSECOND | +-+-+-+-+-+-+-+-+ Fig. DeviceTimeAns
DeviceTimeAns fields SecondsSinceEpoch
0
FracSecond
0
- class scapy.contrib.loraphy2wan.DeviceTimeReq(_pkt, /)[source]
Bases:
Packet
- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.DlChannelAns(_pkt, /, *, Status=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.DlChannelReq(_pkt, /, *, ChIndex=0, Freq=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DlChannelReq
DlChannelReq fields ChIndex
0
Freq
0
- class scapy.contrib.loraphy2wan.DrRange(_pkt, /, *, MaxDR=0, MinDR=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.DutyCycleAns(_pkt, /)[source]
Bases:
Packet
- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.DutyCyclePL(_pkt, /, *, MaxDCycle=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.DutyCycleReq(_pkt, /, *, MaxDCycle=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.EIRP_DwellTime(_pkt, /, *, RFU=0, DownlinkDwellTime=0, UplinkDwellTime=0, MaxEIRP=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. EIRP_DwellTime
EIRP_DwellTime fields RFU
BitField
(2 bits)0
DownlinkDwellTime
0
UplinkDwellTime
0
MaxEIRP
0
- class scapy.contrib.loraphy2wan.FCtrl_DownLink(_pkt, /, *, ADR=0, ADRACKReq=0, ACK=0, FPending=0, FOptsLen=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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
- class scapy.contrib.loraphy2wan.FCtrl_Link(_pkt, /, *, ADR=0, ADRACKReq=0, ACK=0, UpClassB_DownFPending=0, FOptsLen=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|A|A|U|FOPTSLE| +-+-+-+-+-+-+-+-+ Fig. FCtrl_Link
FCtrl_Link fields ADR
BitField
(1 bit)0
ADRACKReq
BitField
(1 bit)0
ACK
BitField
(1 bit)0
UpClassB_DownFPending
BitField
(1 bit)0
FOptsLen
BitFieldLenField
(4 bits)0
- class scapy.contrib.loraphy2wan.FCtrl_UpLink(_pkt, /, *, ADR=0, ADRACKReq=0, ACK=0, ClassB=0, FOptsLen=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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(_pkt, /, *, DevAddr=[b''], FCtrl=[b''], FCnt=0, FOpts_up=[b''], FOpts_down=[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FHDR
FHDR fields DevAddr
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(_pkt, /, *, FOpts_up=[b''], FOpts_down=[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FOpts
FOpts fields FOpts_up
PacketListField
(Cond)[b'']
FOpts_down
PacketListField
(Cond)[b'']
- class scapy.contrib.loraphy2wan.FRMPayload(_pkt, /, *, DataPayload=None, Join_Request_Field=[b''], Join_Accept_Field=[b''], Join_Accept_Encrypted=0, ReJoin_Request_Field=[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATAPAYLOAD | JOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN ACCEPT FIELD | JOIN ACCEPT ENCRYPTED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REJOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FRMPayload
FRMPayload fields DataPayload
MultipleTypeField
(Cond, StrField, StrField, StrField)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(_pkt, /, *, RFU=0, Period=0, Max_Retries=0, RFU2=0, RejoinType=0, DR=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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
RFU2
BitField
(1 bit)0
RejoinType
BitField
(3 bits)0
DR
BitField
(4 bits)0
- class scapy.contrib.loraphy2wan.Join_Accept(_pkt, /, *, JoinAppNonce=0, NetID=0, DevAddr=0, OptNeg=0, RX1DRoffset=0, RX2_Data_rate=0, RxDelay=0, CFList=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet
- aliastypes
- dcflist = 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOINAPPNONCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NETID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|RX1DR|RX2 DAT| RXDELAY | CFLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Join_Accept
Join_Accept fields JoinAppNonce
0
NetID
0
DevAddr
0
OptNeg
BitField
(1 bit)0
RX1DRoffset
XBitField
(3 bits)0
RX2_Data_rate
XBitField
(4 bits)0
RxDelay
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(_pkt, /, *, AppEUI=b'\x00\x00\x00\x00\x00\x00\x00\x00', DevEUI=b'\x00\x00\x00\x00\x00\x00\x00\x00', DevNonce=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | APPEUI | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVEUI | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVNONCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Join_Request
Join_Request fields AppEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'
DevEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'
DevNonce
0
- class scapy.contrib.loraphy2wan.LinkADRAns(_pkt, /, *, status=<LinkADRAns_Status |>)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.LinkADRAns_Status(_pkt, /, *, RFU=0, PowerACK=0, DataRate=0, ChannelMaskACK=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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(_pkt, /, *, DataRate=0, TXPower=0, ChMask=0, RFU=0, ChMaskCntl=0, NbTrans=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| CHMASK |R|CHMAS|NBTRANS| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LinkADRReq
LinkADRReq fields DataRate
XBitField
(4 bits)0
TXPower
XBitField
(4 bits)0
ChMask
0
RFU
XBitField
(1 bit)0
ChMaskCntl
XBitField
(3 bits)0
NbTrans
XBitField
(4 bits)0
- class scapy.contrib.loraphy2wan.LinkCheckAns(_pkt, /, *, Margin=0, GwCnt=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.LoRa(_pkt, /, *, Preamble=0, PHDR=0, PHDR_CRC=0, MType=0, RFU=0, Major=0, DevAddr=[b''], FCtrl=[b''], FCnt=0, FOpts_up=[b''], FOpts_down=[b''], FPort=0, DataPayload=None, Join_Request_Field=[b''], Join_Accept_Field=[b''], Join_Accept_Encrypted=0, ReJoin_Request_Field=[b''], MIC=0, CRC=0)[source]
Bases:
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS DOWN | FPORT | 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
0
RFU
BitField
(3 bits)0
Major
BitField
(2 bits)0
DevAddr
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
MultipleTypeField
(Cond, StrField, StrField, StrField)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
0
CRC
XShortField
(Cond)0
- version = '1.1'
- class scapy.contrib.loraphy2wan.MACCommand_down(_pkt, /, *, CID=0, Reset=[b''], LinkCheck=[b''], LinkADR=[b''], DutyCycle=[b''], RXParamSetup=[b''], DevStatusAns=[b''], NewChannel=[b''], RXTimingSetup=[b''], TxParamSetup=[b''], DlChannel=[b''], Rekey=[b''], ADRParamSetup=[b''], DeviceTime=[b''], RejoinParamSetup=[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | RESET | LINKCHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINKADR | DUTYCYCLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RXPARAMSETUP | DEVSTATUSANS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NEWCHANNEL | RXTIMINGSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TXPARAMSETUP | DLCHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REKEY | ADRPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVICETIME |REJOINPARAMSETU| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MACCommand_down
MACCommand_down fields CID
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(_pkt, /, *, CID=0, Reset=[b''], LinkCheck=[b''], LinkADR=[b''], DutyCycle=[b''], RXParamSetup=[b''], DevStatus=[b''], NewChannel=[b''], RXTimingSetup=[b''], TxParamSetup=[b''], DlChannel=[b''], Rekey=[b''], ADRParamSetup=[b''], DeviceTime=[b''], ForceRejoin=[b''], RejoinParamSetup=[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | RESET | LINKCHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINKADR | DUTYCYCLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RXPARAMSETUP | DEVSTATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NEWCHANNEL | RXTIMINGSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TXPARAMSETUP | DLCHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REKEY | ADRPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVICETIME | FORCEREJOIN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REJOINPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MACCommand_up
MACCommand_up fields CID
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(_pkt, /, *, DevAddr=[b''], FCtrl=[b''], FCnt=0, FOpts_up=[b''], FOpts_down=[b''], FPort=0, DataPayload=None, Join_Request_Field=[b''], Join_Accept_Field=[b''], Join_Accept_Encrypted=0, ReJoin_Request_Field=[b''])[source]
Bases:
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS DOWN | FPORT | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN REQUEST FIELD |JOIN ACCEPT FIE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN ACCEPT ENCRYPTED |REJOIN REQUEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MACPayload
MACPayload fields DevAddr
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
MultipleTypeField
(Cond, StrField, StrField, StrField)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(_pkt, /, *, MType=0, RFU=0, Major=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.NewChannelAns(_pkt, /, *, RFU=0, Dataraterangeok=0, Channelfrequencyok=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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(_pkt, /, *, RFU=0, Dataraterangeok=0, Channelfrequencyok=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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(_pkt, /, *, ChIndex=0, Freq=0, MaxDR=0, MinDR=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MAXDR | MINDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NewChannelReq
NewChannelReq fields ChIndex
0
Freq
0
MaxDR
XBitField
(4 bits)0
MinDR
XBitField
(4 bits)0
- class scapy.contrib.loraphy2wan.PHYPayload(_pkt, /, *, MType=0, RFU=0, Major=0, DevAddr=[b''], FCtrl=[b''], FCnt=0, FOpts_up=[b''], FOpts_down=[b''], FPort=0, DataPayload=None, Join_Request_Field=[b''], Join_Accept_Field=[b''], Join_Accept_Encrypted=0, ReJoin_Request_Field=[b''], MIC=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MTYPE| RFU |MAJ| DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | FOPTS DOWN | FPORT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATAPAYLOAD | JOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN ACCEPT FIELD | JOIN ACCEPT ENCRYPTED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REJOIN REQUEST FIELD | MIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. PHYPayload
PHYPayload fields MType
0
RFU
BitField
(3 bits)0
Major
BitField
(2 bits)0
DevAddr
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
MultipleTypeField
(Cond, StrField, StrField, StrField)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
0
- class scapy.contrib.loraphy2wan.RXParamSetupAns(_pkt, /, *, RFU=0, RX1DRoffsetACK=0, RX2DatarateACK=0, ChannelACK=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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(_pkt, /, *, RFU=0, RX1DRoffsetACK=0, RX2DatarateACK=0, ChannelACK=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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(_pkt, /, *, OptNeg=0, RX1DRoffset=0, RX2_Data_rate=0, Frequency=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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
0
- class scapy.contrib.loraphy2wan.RXTimingSetupAns(_pkt, /)[source]
Bases:
Packet
- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.RXTimingSetupReq(_pkt, /, *, RFU=0, Del=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReq
RXTimingSetupReq fields RFU
XBitField
(4 bits)0
Del
XBitField
(4 bits)0
- class scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings(_pkt, /, *, RFU=0, Del=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReq_Settings
RXTimingSetupReq_Settings fields RFU
XBitField
(4 bits)0
Del
XBitField
(4 bits)0
- class scapy.contrib.loraphy2wan.Redundancy(_pkt, /, *, RFU=0, ChMaskCntl=0, NbTrans=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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(_pkt, /, *, RFU=0, TimeOK=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |T| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupAns
RejoinParamSetupAns fields RFU
BitField
(7 bits)0
TimeOK
BitField
(1 bit)0
- class scapy.contrib.loraphy2wan.RejoinParamSetupReq(_pkt, /, *, MaxTimeN=0, MaxCountN=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAXTIME|MAXCOUN| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupReq
RejoinParamSetupReq fields MaxTimeN
BitField
(4 bits)0
MaxCountN
BitField
(4 bits)0
- class scapy.contrib.loraphy2wan.RejoinReq(_pkt, /, *, Type=0, NetID=0, DevEUI=b'\x00\x00\x00\x00\x00\x00\x00\x00', RJcount0=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | NETID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVEUI | RJCOUNT0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. RejoinReq
RejoinReq fields Type
0
NetID
0
DevEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'
RJcount0
0
- class scapy.contrib.loraphy2wan.RekeyConf(_pkt, /, *, ServerVersion=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.RekeyInd(_pkt, /, *, LoRaWANversion=[b''])[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.ResetConf(_pkt, /, *, Serv_version=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.ResetInd(_pkt, /, *, Dev_version=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.loraphy2wan.TxParamSetupAns(_pkt, /)[source]
Bases:
Packet
- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.TxParamSetupReq(_pkt, /, *, RFU=0, DownlinkDwellTime=0, UplinkDwellTime=0, MaxEIRP=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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. TxParamSetupReq
TxParamSetupReq fields RFU
BitField
(2 bits)0
DownlinkDwellTime
0
UplinkDwellTime
0
MaxEIRP
0