scapy.contrib.loraphy2wan
Copyright (C) 2020 Sebastien Dudek (@FlUxIuS @PentHertz)
- class scapy.contrib.loraphy2wan.ADRParamSetupAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.ADRParamSetupReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LIMIT E|DELAY E| +-+-+-+-+-+-+-+-+ Fig. ADRParamSetupReqADRParamSetupReq fields Limit_exp
BitField(4 bits)0Delay_exp
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.ADRparam(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LIMIT E|DELAY E| +-+-+-+-+-+-+-+-+ Fig. ADRparamADRparam fields Limit_exp
BitField(4 bits)0Delay_exp
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.DLsettings(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DATARAT|TXPOWER| +-+-+-+-+-+-+-+-+ Fig. DataRate_TXPowerDataRate_TXPower fields DataRate
XBitField(4 bits)0TXPower
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.DevAddrElem(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NWKID | NWKADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DevAddrElemDevAddrElem fields NwkID
0NwkAddr
b'\x00\x00\x00'
- class scapy.contrib.loraphy2wan.DevLoraWANversion(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | MINOR | +-+-+-+-+-+-+-+-+ Fig. DevLoraWANversionDevLoraWANversion fields RFU
BitField(4 bits)0Minor
BitField(4 bits)1
- class scapy.contrib.loraphy2wan.DevStatusAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DevStatusAns_Status(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU| MARGIN | +-+-+-+-+-+-+-+-+ Fig. DevStatusAns_StatusDevStatusAns_Status fields RFU
XBitField(2 bits)0Margin
XBitField(6 bits)0
- class scapy.contrib.loraphy2wan.DevStatusReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DeviceTimeAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SECONDSSINCEEPOCH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FRACSECOND | +-+-+-+-+-+-+-+-+ Fig. DeviceTimeAnsDeviceTimeAns fields SecondsSinceEpoch
0FracSecond
0
- class scapy.contrib.loraphy2wan.DeviceTimeReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.DlChannelAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DlChannelReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DlChannelReqDlChannelReq fields ChIndex
0Freq
0
- class scapy.contrib.loraphy2wan.DrRange(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DutyCycleAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.DutyCyclePL(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.DutyCycleReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.EIRP_DwellTime(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. EIRP_DwellTimeEIRP_DwellTime fields RFU
BitField(2 bits)0DownlinkDwellTime
BitEnumField(1 bit)0UplinkDwellTime
BitEnumField(1 bit)0MaxEIRP
BitEnumField(4 bits)0
- class scapy.contrib.loraphy2wan.FCtrl_DownLink(*args, **kargs)
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_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_UpLink(*args, **kargs)
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_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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVADDR | FCTRL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FCTRL | FCNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FHDRFHDR fields DevAddr
PacketListField(Cond)[b'']FCtrl
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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FOPTS UP | FOPTS DOWN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FOptsFOpts 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(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATAPAYLOAD | DATAPAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN REQUEST FIELD | JOIN ACCEPT FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JOIN ACCEPT ENCRYPTED | REJOIN REQUEST FIELD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. FRMPayloadFRMPayload 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)0ReJoin_Request_Field
PacketListField(Cond)[b'']
- class scapy.contrib.loraphy2wan.ForceRejoinReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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, **kargs)
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_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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.LinkADRAns_Status(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.LinkCheckReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.LoRa(*args, **kargs)
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. LoRaLoRa fields Preamble
XBitField(4 bits)0PHDR
XBitField(16 bits)0PHDR_CRC
XBitField(4 bits)0MType
BitEnumField(3 bits)0RFU
BitField(3 bits)0Major
BitField(2 bits)0DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
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_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, **kargs)
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. MACPayloadMACPayload fields DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MTYPE| RFU |MAJ| +-+-+-+-+-+-+-+-+ Fig. MHDRMHDR fields MType
BitEnumField(3 bits)0RFU
BitField(3 bits)0Major
BitField(2 bits)0
- class scapy.contrib.loraphy2wan.NewChannelAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHINDEX | FREQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MAXDR | MINDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NewChannelReqNewChannelReq fields ChIndex
0Freq
0MaxDR
XBitField(4 bits)0MinDR
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.PHYPayload(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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. PHYPayloadPHYPayload fields MType
BitEnumField(3 bits)0RFU
BitField(3 bits)0Major
BitField(2 bits)0DevAddr
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCtrl
PacketListField(Cond)[b'']FCnt
LEShortField(Cond)0FOpts_up
PacketListField(Cond)[b'']FOpts_down
PacketListField(Cond)[b'']FPort
ByteEnumField(Cond)0DataPayload
StrField(Cond)b''DataPayload
StrField(Cond)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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.RXTimingSetupReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReqRXTimingSetupReq fields RFU
XBitField(4 bits)0Del
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU | DEL | +-+-+-+-+-+-+-+-+ Fig. RXTimingSetupReq_SettingsRXTimingSetupReq_Settings fields RFU
XBitField(4 bits)0Del
XBitField(4 bits)0
- class scapy.contrib.loraphy2wan.Redundancy(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |T| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupAnsRejoinParamSetupAns fields RFU
BitField(7 bits)0TimeOK
BitField(1 bit)0
- class scapy.contrib.loraphy2wan.RejoinParamSetupReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAXTIME|MAXCOUN| +-+-+-+-+-+-+-+-+ Fig. RejoinParamSetupReqRejoinParamSetupReq fields MaxTimeN
BitField(4 bits)0MaxCountN
BitField(4 bits)0
- class scapy.contrib.loraphy2wan.RejoinReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.RekeyInd(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.ResetConf(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.ResetInd(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.loraphy2wan.TxParamSetupAns(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
- class scapy.contrib.loraphy2wan.TxParamSetupReq(*args, **kargs)
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RFU|D|U|MAXEIRP| +-+-+-+-+-+-+-+-+ Fig. TxParamSetupReqTxParamSetupReq fields RFU
BitField(2 bits)0DownlinkDwellTime
BitEnumField(1 bit)0UplinkDwellTime
BitEnumField(1 bit)0MaxEIRP
BitEnumField(4 bits)0