LoRaWAN中规定了7种不同的数据包,每种数据包又有不同的字段,除过“入网请求”和“入网回复”,其他的数据包都是AES-128加密的,如何明显的看出每个字段对应的数据以及解密呢?试试下面这个工具。
这个工具是用JavaScript写的,其中用到了一些依赖库,而npm就可以一次性把这些依赖库下载下来,因此我们先要安装npm这个工具。
sudo apt install npm
输入y,等待安装完成。
npm -v
说明已经安装成功。
接下来,正式安装工具:
npm install lora-packet
等待安装完成,安装完成后,如下:
用法说明:
lora-packet-decode [--nwkkey <NwkSKey> --appkey <AppSKey> --cntmsb <fCntMSB>] --{hex|base64} <data>
这里要说明一下,命令中的参数nwkkey表示NwkSkey,appkey表示AppSkey。
其中:
[]:内的内容意思是:可写可不写
{}:那就必须要在{}内给出的选择里选一个
<>:表示必选
用法示例
(1)入网请求数据包分析:
bin/lora-packet-decode \
--hex 00B14781E3765F9B3CE50000FF0C010100727A8C4307D9
(2)入网回复数据包分析:
bin/lora-packet-decode --hex 204d6e5d25d464b81b78fb0c4ed1214f96
(3)不需要确认上行数据包分析:
bin/lora-packet-decode \
--appkey 0e91ef587176bec1cbc185385ba82b18 \
--nwkkey c6b788a004380419d582e783d7c677a2 \
--hex 40DE6D2707000000DE11B4E3748D7BFE017F621FEFE2E2
(4)需要确认上行数据包分析:
bin/lora-packet-decode \
--appkey 0e91ef587176bec1cbc185385ba82b18 \
--nwkkey c6b788a004380419d582e783d7c677a2 \
--hex 80DE6D270700010005DB351121DAEB0BD87FAAD212
(5)不需要确认下行数据包分析:
bin/lora-packet-decode \
--appkey 0e91ef587176bec1cbc185385ba82b18 \
--nwkkey c6b788a004380419d582e783d7c677a2 \
--hex 60de6d2707200100dd2a6ec398bed0
上面演示了5种不同的数据包,剩余2种可类比。
——————END——————