NAO--Choregraphe"单机使用许可证使用了多次"问题解决方案

  今天由于机器人演示的需要,同时用几台电脑操控不同的Nao机器人。

  演示用aldebaran公司的Choregraphe软件进行控制。当时注册的时候使用的是单机版的CD key。以前一个人用没有任何问题,但是今天却只能有一台电脑使用,其他电脑使用就会弹出CD key已经被注册过的提示。

  晚上的时候用Wireshark进行抓包分析,找出了验证的原理。

  测试是用两台电脑,IP分别为192.168.1.66(A机)和192.168.1.7(B机)。在A机上面装好后,B机上面运行出现上面的验证提示。开始以为验证已注册过的信息是来自TCP包,后来发现是UDP包。过滤规则是为了滤掉一些无关的UDP包,过滤规则(udp and ip.addr==192.168.1.7 and not ipv6)。发现打开Choregraphe软件,输入CDkey后出现如下包:

从上面可以看出,B机(IP:192.168.1.7)启动Choregraphe软件后,向整个网络发出UDP广播数据包(目的地址:255.255.255.255),里面包含自己注册的CDkey。然后,A机(IP:192.168.1.66)的choregraphe接收到这个UDP数据包后,和自己的CD key比较,向B机发出这个CD key已经被注册的回应数据包,这样B机的Choregraphe软件收到这样的数据包后,就提示用户的单机版CD key就、已经被注册,然后自动退出。

第一次输入CD key,还有一个注册号合法性验证的过程,这个过程可能是向公司的远程数据库连接进行的,这个验证可以通过,不用屏蔽掉,否则注册可能通不过。(这个由于时间原因没有仔细验证是否存在这个过程,和具体连接的IP)。而如果需要保证不冲突,那么需要屏蔽掉A机发过来的UDP响应数据包,或者不让B机发出CD key验证的UDP广播数据包。

我们这里使用到的端口是9669,这个是Choregraphe软件验证时使用的端口,我们在防火墙里面把Choregraphe软件在这个端口的UDP通信屏蔽掉后,就不会有已经被注册过的提示了。

这样问题就解决了。

当然也可以用最直截了当的方法:先断掉电脑与外界的通信,启动Choregraphe后在联网,貌似只在启动的时候验证,这样也能使用。

附:用"udp.port==9669"规则过滤,启动Choregraphe软件时抓到的验证过程数据包:

 

 

posted @ 2012-04-30 00:11  ijustwanttorun  阅读(3719)  评论(0编辑  收藏  举报