public void ToVerboseStringFake(string base64)
        {
            byte[]     data    = Convert.FromBase64String(base64);
            PHYPayload payload = new PHYPayload(data);

            payload.ToVerboseString();
        }
 public void DataMessage()
 {
     var phyLoadData = Convert.FromBase64String("QCkuASaAAAAByFaF53Iu+vzmwQ==");
     var phyPayload  = new PHYPayload(phyLoadData);
     var m           = (DataMessage)phyPayload.Message;
     var ttt         = m.Pirnt();
 }
 public void JoinAcceptMessage()
 {
     var phyLoadData = Convert.FromBase64String("IIE/R/UI/6JnC24j4B+EueJdnEEV8C7qCz3T4gs+ypLa");
     var phyPayload  = new PHYPayload(phyLoadData);
     var m           = (JoinAcceptMessage)phyPayload.Message;
     var ttt         = m.Pirnt();
 }
Exemple #4
0
        private static int RunCommand(DecodePacketOptions opts)
        {
            byte[] data = !String.IsNullOrEmpty(opts.Hex) ? opts.Hex.FromHexString()
                : !String.IsNullOrEmpty(opts.Base64) ? opts.Base64.FromBase64String()
                : null;

            byte[] nwkSKey = null;
            byte[] appSKey = null;
            byte[] appKey  = null;
            if (!String.IsNullOrEmpty(opts.NwkSKey))
            {
                nwkSKey = ConvertExtension.FromHexString(opts.NwkSKey);
            }
            if (!String.IsNullOrEmpty(opts.AppSKey))
            {
                appSKey = ConvertExtension.FromHexString(opts.AppSKey);
            }
            if (!String.IsNullOrEmpty(opts.AppKey))
            {
                appKey = ConvertExtension.FromHexString(opts.AppKey);
            }
            PHYPayload packet = new PHYPayload(data, nwkSKey, appSKey, appKey, 0);

            Console.WriteLine(packet.ToVerboseString());

            return(0);
        }
        public void JoinRequestMessage()
        {
            var phyLoadData = Convert.FromBase64String("ANwAANB+1bNwHm/t9XzurwDIhgMK8sk=");
            var phyPayload  = new PHYPayload(phyLoadData);
            var m           = (JoinRequestMessage)phyPayload.Message;

            m.Pirnt();
        }
        public void BasicParsingTest(string base64, string mhdr, string macPayload, string mic)
        {
            byte[]     data    = Convert.FromBase64String(base64);
            PHYPayload payload = new PHYPayload(data);

            Assert.AreEqual(mhdr, payload.Mhdr.RawData.ToHexString());
            Assert.AreEqual(macPayload, payload.MacPayload.RawData.ToHexString());
            Assert.AreEqual(mic, payload.Mic.RawData.ToHexString());
        }
        public void DataMessageWithKey()
        {
            var phyLoadData = Convert.FromBase64String("QG8UASYAKAAC7J3iMMFbFD/yefYg");
            var NwkSKey     = "5ED438E5C86EDD00CE0ED6222A99E684";
            var AppSkey     = "29CBD05A4CB9FBC5166A89E671C0EFCE";

            var phyPayload = new PHYPayload(phyLoadData, NwkSKey, AppSkey);
            var m          = (DataMessageWithKey)phyPayload.Message;
            var ttt        = m.Pirnt();
        }
        public void ParsingDataMessage(string hexData, string phyPayload, string mhdr, string macPayload, string mic,
                                       string fopts, string fctrl, string fhdr, string devAddr, int fcnt, int fport, string frmPayload)
        {
            PHYPayload payload = new PHYPayload(hexData.FromHexString());

            Assert.AreEqual(phyPayload, payload.RawData.ToHexString());
            Assert.AreEqual(mhdr, payload.Mhdr.RawData.ToHexString());
            Assert.AreEqual(macPayload, payload.MacPayload.RawData.ToHexString());
            Assert.AreEqual(mic, payload.Mic.RawData.ToHexString());
            DataMessage dataMessage = (DataMessage)payload.MacPayload;

            Assert.AreEqual(fopts, dataMessage.Fhdr.FOpts.RawData.ToHexString());
            Assert.AreEqual(fctrl, dataMessage.Fhdr.FCtrl.RawData.ToHexString());
            Assert.AreEqual(fhdr, dataMessage.Fhdr.RawData.ToHexString());
            Assert.AreEqual(devAddr, dataMessage.Fhdr.DevAddr.Address);
            Assert.AreEqual(fcnt, dataMessage.Fhdr.FCnt.Value);
            Assert.AreEqual(fport, dataMessage.FPort.Value);
            Assert.AreEqual(frmPayload, dataMessage.FrmPayload.RawData.ToHexString());
        }
Exemple #9
0
        public void SeedFCntMSBTest(string base64, string nwkSKey, int fCntMsbSeed, int expectedSeedResult)
        {
            PHYPayload packet = new PHYPayload(base64.FromBase64String(), nwkSKey.FromHexString(), null, null, fCntMsbSeed);

            Assert.AreEqual(expectedSeedResult, ((DataMessage)packet.MacPayload).CalculatedMIC.FCntMSB);
        }
Exemple #10
0
        public void CalculateMICTest(string hexData, string nwkSKey, string expected)
        {
            PHYPayload packet = new PHYPayload(hexData.FromHexString(), nwkSKey.FromHexString(), null, null, 0);

            Assert.AreEqual(expected, ((DataMessage)packet.MacPayload).CalculatedMIC.RawData.ToHexString());
        }
Exemple #11
0
        public void DecryptPacketTest(string hexData, string nwkSKey, string appSKey, string expected)
        {
            PHYPayload packet = new PHYPayload(hexData.FromHexString(), nwkSKey.FromHexString(), appSKey.FromHexString(), null, 0);

            Assert.AreEqual(expected, System.Text.Encoding.ASCII.GetString(((DataMessage)packet.MacPayload).FrmPayload.Decrypt()));
        }