scapy.contrib.loraphy2wan
Copyright (C) 2020 Sebastien Dudek (@FlUxIuS) initially developed @PentHertz and improved at @Trend Micro
- class scapy.contrib.loraphy2wan.ADRParamSetupAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.ADRParamSetupReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LIMIT E|DELAY E| +-+-+-+-+-+-+-+-+ Fig. ADRParamSetupReqADRParamSetupReq fields Limit_exp
BitField(4 bits)0Delay_exp
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.ADRparam(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LIMIT E|DELAY E| +-+-+-+-+-+-+-+-+ Fig. ADRparamADRparam fields Limit_exp
BitField(4 bits)0Delay_exp
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.DLsettings(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|RX1DR|RX2 DAT| +-+-+-+-+-+-+-+-+ Fig. DLsettingsDLsettings fields OptNeg
BitField(1 bit)0RX1DRoffset
XBitField(3 bits)0RX2_Data_rate
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.DataRate_TXPower(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| +-+-+-+-+-+-+-+-+ Fig. DataRate_TXPowerDataRate_TXPower fields DataRate
XBitField(4 bits)0TXPower
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.DevAddrElem(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NWKID | NWKADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DevAddrElemDevAddrElem fields NwkID
0NwkAddr
b'\x00\x00\x00'
- class scapy.contrib.loraphy2wan.DevLoraWANversion(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | MINOR | +-+-+-+-+-+-+-+-+ Fig. DevLoraWANversionDevLoraWANversion fields RFU
BitField(4 bits)0Minor
BitField(4 bits)1
- class scapy.contrib.loraphy2wan.DevStatusAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DevStatusAns_Status(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU| MARGIN | +-+-+-+-+-+-+-+-+ Fig. DevStatusAns_StatusDevStatusAns_Status fields RFU
XBitField(2 bits)0Margin
XBitField(6 bits)0
- class scapy.contrib.loraphy2wan.DevStatusReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DeviceTimeAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SECONDSSINCEEPOCH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FRACSECOND | +-+-+-+-+-+-+-+-+ Fig. DeviceTimeAnsDeviceTimeAns fields SecondsSinceEpoch
0FracSecond
0
- class scapy.contrib.loraphy2wan.DeviceTimeReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.DlChannelAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DlChannelReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DlChannelReqDlChannelReq fields ChIndex
0Freq
0
- class scapy.contrib.loraphy2wan.DrRange(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DutyCycleAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.DutyCyclePL(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DutyCycleReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.EIRP_DwellTime(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. EIRP_DwellTimeEIRP_DwellTime fields RFU
BitField(2 bits)0DownlinkDwellTime
0UplinkDwellTime
0MaxEIRP
0
- class scapy.contrib.loraphy2wan.FCtrl_DownLink(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|A|A|F|FOPTSLE| +-+-+-+-+-+-+-+-+ Fig. FCtrl_DownLinkFCtrl_DownLink fields ADR
BitField(1 bit)0ADRACKReq
BitField(1 bit)0ACK
BitField(1 bit)0FPending
BitField(1 bit)0FOptsLen
BitFieldLenField(4 bits)0
- class scapy.contrib.loraphy2wan.FCtrl_Link(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|A|A|U|FOPTSLE| +-+-+-+-+-+-+-+-+ Fig. FCtrl_LinkFCtrl_Link fields ADR
BitField(1 bit)0ADRACKReq
BitField(1 bit)0ACK
BitField(1 bit)0UpClassB_DownFPending
BitField(1 bit)0FOptsLen
BitFieldLenField(4 bits)0
- class scapy.contrib.loraphy2wan.FCtrl_UpLink(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|A|A|C|FOPTSLE| +-+-+-+-+-+-+-+-+ Fig. FCtrl_UpLinkFCtrl_UpLink fields ADR
BitField(1 bit)0ADRACKReq
BitField(1 bit)0ACK
BitField(1 bit)0ClassB
BitField(1 bit)0FOptsLen
BitFieldLenField(4 bits)0
- class scapy.contrib.loraphy2wan.FHDR(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FHDRFHDR fields DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']
- class scapy.contrib.loraphy2wan.FOpts(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FOptsFOpts fields FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']
- class scapy.contrib.loraphy2wan.FRMPayload(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATAPAYLOAD | JOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN ACCEPT FIELD | JOIN ACCEPT ENCRYPTED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REJOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FRMPayloadFRMPayload 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)0ReJoin_Request_Field
PacketListField(Cond)[b'']
- class scapy.contrib.loraphy2wan.ForceRejoinReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|PERIO|MAX R|R|REJOI| DR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ForceRejoinReqForceRejoinReq fields RFU
BitField(2 bits)0Period
BitField(3 bits)0Max_Retries
BitField(3 bits)0RFU
BitField(1 bit)0RejoinType
BitField(3 bits)0DR
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.Join_Accept(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.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_AcceptJoin_Accept fields JoinAppNonce
0NetID
0DevAddr
0OptNeg
BitField(1 bit)0RX1DRoffset
XBitField(3 bits)0RX2_Data_rate
XBitField(4 bits)0RxDelay
0CFList
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(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | APPEUI | DEVEUI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVNONCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Join_RequestJoin_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(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.LinkADRAns_Status(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |P|D|C| +-+-+-+-+-+-+-+-+ Fig. LinkADRAns_StatusLinkADRAns_Status fields RFU
BitField(5 bits)0PowerACK
BitField(1 bit)0DataRate
BitField(1 bit)0ChannelMaskACK
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.LinkADRReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| CHMASK |R|CHMAS|NBTRANS| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LinkADRReqLinkADRReq fields DataRate
XBitField(4 bits)0TXPower
XBitField(4 bits)0ChMask
0RFU
XBitField(1 bit)0ChMaskCntl
XBitField(3 bits)0NbTrans
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.LinkCheckAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.LinkCheckReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.LoRa(*args: Any, **kargs: Any)[source]
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS DOWN | FPORT | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN REQUEST FIELD |JOIN ACCEPT FIE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN ACCEPT ENCRYPTED |REJOIN REQUEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LoRaLoRa fields Preamble
XBitField(4 bits)0PHDR
XBitField(16 bits)0PHDR_CRC
XBitField(4 bits)0MType
0RFU
BitField(3 bits)0Major
BitField(2 bits)0DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
MultipleTypeField(Cond, StrField, StrField, StrField)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']MIC
XIntField(Cond)0CRC
XShortField(Cond)0
- version = '1.1'
- class scapy.contrib.loraphy2wan.MACCommand_down(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | RESET | LINKCHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINKADR | DUTYCYCLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RXPARAMSETUP | DEVSTATUSANS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NEWCHANNEL | RXTIMINGSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TXPARAMSETUP | DLCHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REKEY | ADRPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVICETIME |REJOINPARAMSETU| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MACCommand_downMACCommand_down fields CID
0Reset
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(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | RESET | LINKCHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINKADR | DUTYCYCLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RXPARAMSETUP | DEVSTATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NEWCHANNEL | RXTIMINGSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TXPARAMSETUP | DLCHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REKEY | ADRPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVICETIME | FORCEREJOIN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REJOINPARAMSETUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MACCommand_upMACCommand_up fields CID
0Reset
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(*args: Any, **kargs: Any)[source]
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCNT | FOPTS UP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS DOWN | FPORT | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN REQUEST FIELD |JOIN ACCEPT FIE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | JOIN ACCEPT ENCRYPTED |REJOIN REQUEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MACPayloadMACPayload fields DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
MultipleTypeField(Cond, StrField, StrField, StrField)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']
- class scapy.contrib.loraphy2wan.MHDR(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.NewChannelAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |D|C| +-+-+-+-+-+-+-+-+ Fig. NewChannelAnsNewChannelAns fields RFU
XBitField(6 bits)0Dataraterangeok
BitField(1 bit)0Channelfrequencyok
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.NewChannelAns_Status(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |D|C| +-+-+-+-+-+-+-+-+ Fig. NewChannelAns_StatusNewChannelAns_Status fields RFU
XBitField(6 bits)0Dataraterangeok
BitField(1 bit)0Channelfrequencyok
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.NewChannelReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MAXDR | MINDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NewChannelReqNewChannelReq fields ChIndex
0Freq
0MaxDR
XBitField(4 bits)0MinDR
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.PHYPayload(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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. PHYPayloadPHYPayload fields MType
0RFU
BitField(3 bits)0Major
BitField(2 bits)0DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
MultipleTypeField(Cond, StrField, StrField, StrField)b''Join_Request_Field
PacketListField(Cond)[b'']Join_Accept_Field
PacketListField(Cond)[b'']Join_Accept_Encrypted
StrField(Cond)0ReJoin_Request_Field
PacketListField(Cond)[b'']MIC
XIntField(Cond)0
- class scapy.contrib.loraphy2wan.RXParamSetupAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |R|R|C| +-+-+-+-+-+-+-+-+ Fig. RXParamSetupAnsRXParamSetupAns fields RFU
XBitField(5 bits)0RX1DRoffsetACK
BitField(1 bit)0RX2DatarateACK
BitField(1 bit)0ChannelACK
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.RXParamSetupAns_Status(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |R|R|C| +-+-+-+-+-+-+-+-+ Fig. RXParamSetupAns_StatusRXParamSetupAns_Status fields RFU
XBitField(5 bits)0RX1DRoffsetACK
BitField(1 bit)0RX2DatarateACK
BitField(1 bit)0ChannelACK
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.RXParamSetupReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|RX1DR|RX2 DAT| FREQUENCY | +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. RXParamSetupReqRXParamSetupReq fields OptNeg
BitField(1 bit)0RX1DRoffset
XBitField(3 bits)0RX2_Data_rate
XBitField(4 bits)0Frequency
0
- class scapy.contrib.loraphy2wan.RXTimingSetupAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.RXTimingSetupReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReqRXTimingSetupReq fields RFU
XBitField(4 bits)0Del
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReq_SettingsRXTimingSetupReq_Settings fields RFU
XBitField(4 bits)0Del
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.Redundancy(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|CHMAS|NBTRANS| +-+-+-+-+-+-+-+-+ Fig. RedundancyRedundancy fields RFU
XBitField(1 bit)0ChMaskCntl
XBitField(3 bits)0NbTrans
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.RejoinParamSetupAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |T| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupAnsRejoinParamSetupAns fields RFU
BitField(7 bits)0TimeOK
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.RejoinParamSetupReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAXTIME|MAXCOUN| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupReqRejoinParamSetupReq fields MaxTimeN
BitField(4 bits)0MaxCountN
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.RejoinReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | NETID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEVEUI | RJCOUNT0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. RejoinReqRejoinReq fields Type
0NetID
0DevEUI
b'\x00\x00\x00\x00\x00\x00\x00\x00'RJcount0
0
- class scapy.contrib.loraphy2wan.RekeyConf(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.RekeyInd(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.ResetConf(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.ResetInd(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.TxParamSetupAns(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.TxParamSetupReq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. TxParamSetupReqTxParamSetupReq fields RFU
BitField(2 bits)0DownlinkDwellTime
0UplinkDwellTime
0MaxEIRP
0