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 = [<class 'scapy.contrib.loraphy2wan.ADRParamSetupAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.ADRParamSetupReq(_pkt, /, *, Limit_exp=0, Delay_exp=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.ADRParamSetupReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.ADRparam(_pkt, /, *, Limit_exp=0, Delay_exp=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.ADRparam'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DLsettings(_pkt, /, *, OptNeg=0, RX1DRoffset=0, RX2_Data_rate=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DLsettings'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DataRate_TXPower(_pkt, /, *, DataRate=0, TXPower=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DataRate_TXPower'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DevAddrElem(_pkt, /, *, NwkID=0, NwkAddr=b'\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DevAddrElem'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DevLoraWANversion(_pkt, /, *, RFU=0, Minor=1)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DevLoraWANversion'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DevStatusAns(_pkt, /, *, RFU=0, Margin=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DevStatusAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DevStatusAns_Status(_pkt, /, *, RFU=0, Margin=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DevStatusAns_Status'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DevStatusReq(_pkt, /, *, Battery=0, Margin=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DevStatusReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DeviceTimeAns(_pkt, /, *, SecondsSinceEpoch=0, FracSecond=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DeviceTimeAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DeviceTimeReq(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DeviceTimeReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DlChannelAns(_pkt, /, *, Status=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DlChannelAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DlChannelReq(_pkt, /, *, ChIndex=0, Freq=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DlChannelReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DrRange(_pkt, /, *, MaxDR=0, MinDR=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DrRange'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DutyCycleAns(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DutyCycleAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DutyCyclePL(_pkt, /, *, MaxDCycle=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DutyCyclePL'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.DutyCycleReq(_pkt, /, *, MaxDCycle=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.DutyCycleReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.EIRP_DwellTime(_pkt, /, *, RFU=0, DownlinkDwellTime=0, UplinkDwellTime=0, MaxEIRP=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.EIRP_DwellTime'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (EIRP_DwellTime,TxParamSetupReq).RFU>, <BitEnumField (EIRP_DwellTime,TxParamSetupReq).DownlinkDwellTime>, <BitEnumField (EIRP_DwellTime,TxParamSetupReq).UplinkDwellTime>, <BitEnumField (EIRP_DwellTime,TxParamSetupReq).MaxEIRP>]
- class scapy.contrib.loraphy2wan.FCtrl_DownLink(_pkt, /, *, ADR=0, ADRACKReq=0, ACK=0, FPending=0, FOptsLen=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.FCtrl_DownLink'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.FCtrl_Link(_pkt, /, *, ADR=0, ADRACKReq=0, ACK=0, UpClassB_DownFPending=0, FOptsLen=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.FCtrl_Link'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.FCtrl_UpLink(_pkt, /, *, ADR=0, ADRACKReq=0, ACK=0, ClassB=0, FOptsLen=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.FCtrl_UpLink'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.FHDR(_pkt, /, *, DevAddr=[b''], FCtrl=[b''], FCnt=0, FOpts_up=[b''], FOpts_down=[b''])[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.FHDR'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.FOpts(_pkt, /, *, FOpts_up=[b''], FOpts_down=[b''])[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.FOpts'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.loraphy2wan.FRMPayload'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.ForceRejoinReq(_pkt, /, *, RFU=0, Period=0, Max_Retries=0, RFU2=0, RejoinType=0, DR=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.ForceRejoinReq'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.loraphy2wan.Join_Accept'>, <class 'scapy.packet.Packet'>]
- dcflist = False
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLE3BytesField (Join_Accept).JoinAppNonce>, <XLE3BytesField (Join_Accept).NetID>, <XLEIntField (Join_Accept).DevAddr>, <BitField (DLsettings,RXParamSetupReq,Join_Accept).OptNeg>, <XBitField (DLsettings,RXParamSetupReq,Join_Accept).RX1DRoffset>, <XBitField (DLsettings,RXParamSetupReq,Join_Accept).RX2_Data_rate>, <XByteField (Join_Accept).RxDelay>, <scapy.fields.ConditionalField object>]
- 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 = [<class 'scapy.contrib.loraphy2wan.Join_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.LinkADRAns(_pkt, /, *, status=<LinkADRAns_Status |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.LinkADRAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.LinkADRAns_Status(_pkt, /, *, RFU=0, PowerACK=0, DataRate=0, ChannelMaskACK=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.LinkADRAns_Status'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.LinkADRReq(_pkt, /, *, DataRate=0, TXPower=0, ChMask=0, RFU=0, ChMaskCntl=0, NbTrans=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.LinkADRReq'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XBitField (DataRate_TXPower,LinkADRReq).DataRate>, <XBitField (DataRate_TXPower,LinkADRReq).TXPower>, <XShortField (LinkADRReq).ChMask>, <XBitField (Redundancy,LinkADRReq).RFU>, <XBitField (Redundancy,LinkADRReq).ChMaskCntl>, <XBitField (Redundancy,LinkADRReq).NbTrans>]
- class scapy.contrib.loraphy2wan.LinkCheckAns(_pkt, /, *, Margin=0, GwCnt=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.LinkCheckAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.LinkCheckReq(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.LinkCheckReq'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.loraphy2wan.LoRa'>, <class 'scapy.packet.Packet'>]
- encrypted = True
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XBitField (LoRa).Preamble>, <XBitField (LoRa).PHDR>, <XBitField (LoRa).PHDR_CRC>, <BitEnumField (MHDR,PHYPayload,LoRa).MType>, <BitField (MHDR,PHYPayload,LoRa).RFU>, <BitField (MHDR,PHYPayload,LoRa).Major>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.MayEnd object>, <scapy.fields.ConditionalField object>]
- 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 = [<class 'scapy.contrib.loraphy2wan.MACCommand_down'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (MACCommand_down).CID>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- 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 = [<class 'scapy.contrib.loraphy2wan.MACCommand_up'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (MACCommand_up).CID>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- 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 = [<class 'scapy.contrib.loraphy2wan.MACPayload'>, <class 'scapy.packet.Packet'>]
- eFPort = False
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.contrib.loraphy2wan.MHDR(_pkt, /, *, MType=0, RFU=0, Major=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.MHDR'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.NewChannelAns(_pkt, /, *, RFU=0, Dataraterangeok=0, Channelfrequencyok=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.NewChannelAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.NewChannelAns_Status(_pkt, /, *, RFU=0, Dataraterangeok=0, Channelfrequencyok=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.NewChannelAns_Status'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.NewChannelReq(_pkt, /, *, ChIndex=0, Freq=0, MaxDR=0, MinDR=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.NewChannelReq'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.loraphy2wan.PHYPayload'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitEnumField (MHDR,PHYPayload,LoRa).MType>, <BitField (MHDR,PHYPayload,LoRa).RFU>, <BitField (MHDR,PHYPayload,LoRa).Major>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.MayEnd object>]
- class scapy.contrib.loraphy2wan.RXParamSetupAns(_pkt, /, *, RFU=0, RX1DRoffsetACK=0, RX2DatarateACK=0, ChannelACK=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RXParamSetupAns'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XBitField (RXParamSetupAns_Status,RXParamSetupAns).RFU>, <BitField (RXParamSetupAns_Status,RXParamSetupAns).RX1DRoffsetACK>, <BitField (RXParamSetupAns_Status,RXParamSetupAns).RX2DatarateACK>, <BitField (RXParamSetupAns_Status,RXParamSetupAns).ChannelACK>]
- class scapy.contrib.loraphy2wan.RXParamSetupAns_Status(_pkt, /, *, RFU=0, RX1DRoffsetACK=0, RX2DatarateACK=0, ChannelACK=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RXParamSetupAns_Status'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XBitField (RXParamSetupAns_Status,RXParamSetupAns).RFU>, <BitField (RXParamSetupAns_Status,RXParamSetupAns).RX1DRoffsetACK>, <BitField (RXParamSetupAns_Status,RXParamSetupAns).RX2DatarateACK>, <BitField (RXParamSetupAns_Status,RXParamSetupAns).ChannelACK>]
- class scapy.contrib.loraphy2wan.RXParamSetupReq(_pkt, /, *, OptNeg=0, RX1DRoffset=0, RX2_Data_rate=0, Frequency=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RXParamSetupReq'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (DLsettings,RXParamSetupReq,Join_Accept).OptNeg>, <XBitField (DLsettings,RXParamSetupReq,Join_Accept).RX1DRoffset>, <XBitField (DLsettings,RXParamSetupReq,Join_Accept).RX2_Data_rate>, <X3BytesField (RXParamSetupReq).Frequency>]
- class scapy.contrib.loraphy2wan.RXTimingSetupAns(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RXTimingSetupAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.RXTimingSetupReq(_pkt, /, *, RFU=0, Del=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RXTimingSetupReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings(_pkt, /, *, RFU=0, Del=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RXTimingSetupReq_Settings'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.Redundancy(_pkt, /, *, RFU=0, ChMaskCntl=0, NbTrans=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.Redundancy'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.RejoinParamSetupAns(_pkt, /, *, RFU=0, TimeOK=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RejoinParamSetupAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.RejoinParamSetupReq(_pkt, /, *, MaxTimeN=0, MaxCountN=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RejoinParamSetupReq'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.loraphy2wan.RejoinReq'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.RekeyConf(_pkt, /, *, ServerVersion=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RekeyConf'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.RekeyInd(_pkt, /, *, LoRaWANversion=[b''])[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.RekeyInd'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.ResetConf(_pkt, /, *, Serv_version=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.ResetConf'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.ResetInd(_pkt, /, *, Dev_version=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.ResetInd'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.TxParamSetupAns(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.TxParamSetupAns'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.loraphy2wan.TxParamSetupReq(_pkt, /, *, RFU=0, DownlinkDwellTime=0, UplinkDwellTime=0, MaxEIRP=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.loraphy2wan.TxParamSetupReq'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (EIRP_DwellTime,TxParamSetupReq).RFU>, <BitEnumField (EIRP_DwellTime,TxParamSetupReq).DownlinkDwellTime>, <BitEnumField (EIRP_DwellTime,TxParamSetupReq).UplinkDwellTime>, <BitEnumField (EIRP_DwellTime,TxParamSetupReq).MaxEIRP>]