恶意设备行为如下:
1,通过NWK DISC来发现网络中存在的协调器,路由器,并保存其MAC地址。
2,以Rejoin Unsecured的方式,加入协调器或者路由器,收到Rejoin-Cnf后,随机伪造一个MAC地址,并修改为自己的MAC地址,再一次入网申请。也可以一直对协调器或者路由器的Permit-Join做询问,一旦其允许设备入网,就立即Assoc-Join,并更改自己的MAC地址反复的加入网络。
3,以上行为,可以导致协调器和路由器的AssocList用完,甚至消耗完协调器的AddrMgr
解决办法:
1,在ZDO_JoinIndication中,加入对MAC地址的过滤。
2,AssocList中加入一个标志位,节点在AssocJoin或者Rejoin Unsecured后,AssocList标志为未认证节点,父节点有一个定时器轮询AssocList,在超时时间内标志位未更新,则删除该设备。该标志位的判断依据是父节点在收到子节点的Device Annce命令后,才认定节点成功入网。
Jason hu1:
教父威武