'联想' Tag

  • 锐捷/联想/神州数码 802.1x客户端支持MacOS、BSD

    October 9, 2009

    Insion同学之前发来一段可以在MacOS/BSD编译运行获取网卡MAC地址的代码,于是整理了一下,让几个802.1x Client都能支持MacOS/BSD了。 下载了个FreeBSD 7.2在vbox虚拟机里面装了下,发现FreeBSD比Linux好像原始多了[呃,我说安装程序],分区的时候他不叫Create Partition,叫Create Slice,我对着界面看了半天才猜到,囧;退出那里写着:Q = Finish,Quit就Quit嘛,什么Finish,纠结……但还好,其他的配置跟Linux还是很相像的,调试了一下就有了全可编译的代码了。 代码部分修改倒没多少,就添加了一个专门给BSD系系统获取MAC的函数,再用maroc判断一下,以及几个头文件,就完事了,有点麻烦的是makefile,发现freebsd默认那个make好像是很古老很古老的版本,我程序里面那个Makefile是用了vim里面c-support插件里面带的Makefile模板,有点复杂,但是freebsd居然不支持!所以整理了个简单的版本,专门给MacOS/BSD编译,也方便别人的修改;另外一个原因是,程序里面转换服务器消息时候用了iconv库,linux里面iconv是系统内嵌库来的,用不着链接的时候给出参数,但MacOS/BSD偏偏就要-liconv…… 需要编译MacOS/BSD版本的同学,可以check出项目里面trunk的代码,运行make -f Makefile.bsd来编译。Insion同学已经编译成功,而且在他的主页上有二进制版下载了。 相对的说,可能在MacOS里面编译是最麻烦的,我大概说说流程(实际上我没试过,我可没Mac机器[T.T]) 1.安装gcc,参考这里从http://connect.apple.com/的Dev Tools里面下载Xcode Tools,安装。2.编译安装libpcap,从http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz下载源码,tar xvfz libpcap-1.0.0.tar.gz解压,进去该目录,./configure、make、make install安装完成;3.编译802.1x客户端,从所用项目内签出源码,在目录内make,没出什么差错的话,已经完成了。然后按Readme.txt的方法安装运行,即可! 项目主页 锐捷:http://code.google.com/p/zruijie4gzhu/联想:http://code.google.com/p/zlevoclient/神州数码:http://code.google.com/p/zdcclient/

  • 深入了解校园网802.1x认证的EAP协议(3)——联想802.1x认证细节

    August 24, 2009

    联想的认证协议是我写的这几个802.1x实现里面相对简单的版本,没有太多古古怪怪的信息头信息尾部。 我们学校并没有使用过联想协议的认证系统,而是受了一位网友的邀请才写的,所以我连联想官方客户端的样子都没看到过,一直是由那网友抓包后发送过来,而我猜测地将其套入到此前我写的神州数码的认证程序里面,经过几天的调试,确实能用,虽然并不完全了解认证报文的每个细节。 PT实现的联想Linux客户端项目主页:http://code.google.com/p/zlevoclient/ 以下的说明是基于EAP协议过程的补充描述,如果不清楚EAP,可先读深入了解校园网802.1x认证的EAP协议(1)——EAP的总体流程。 认证过程报文的细节描述: EAPOL-Start、EAPOL-Logoff设置长度为0的协议包头,然后紧接6个意义不明的字节(可能是版本号之类),直接复制即可: {0x00, 0x00, 0x2f, 0xfc, 0x03, 0x00}; EAP-RESPONSE-Identity长度为5(头部) + username_length,无特别,跟EAP标准一致, EAP-RESPONSE-MD5_Challenge长度为6(头部) + 16(MD5值) + username_length,在MD5值之后,先紧接用户名,然后是4字节的本机IP地址,以及9个意义不明的字节,直接复制:{0x00, 0x00, 0x2f, 0xfc, 0x00, 0x03, 0x01, 0x01, 0x00}; EAPOL-KEEP-ALIVE当认证成功后,需要每60秒发送一次该报文,否则会断线;该报文的b:EAPOL 报文类型为0xFC,帧长值为12,其携带信息的前8字节在实际中似乎是随机变化,找不出其规律,不过实际上全部设0也可;后4字节则是本机IP。 在部分版本中,如吉林大学珠海学院,每隔5分钟(可能就在第五个EAPOL-KEEP-ALIVE发出之后)服务器会重新发来EAP-REQUEST-Identity,程序需要正确应答,特别要设置各个应答报文中的e:EAP通信id。 关于服务器返回的数据包,Success和Failure通常包含有中文编码的信息,标志是,EAP报文结束后,紧接0x00002ffc(大概0x18、0x19),其后接着是一个字节的报文长度,再后就是gb2312编码的中文信息。 由于协助我测试的湖南人文科技学院的网友他们的系统是纯手工设置网卡IP的,所以我也不清楚是否有像其他品牌的协议那样有动态静态IP位之类的信息位,如果发现这个版本的程序不能通过认证,可以自己抓包分析,或邮件联系PT。

  • 又一个项目:联想802.1x Supplicant

    May 24, 2009

    在湖南人文科技学院imagelife同学的邀请和帮助下,通过分析wireshark的抓包编写出来的的认证客户端。由于之前有了写ZDClient的经验,似乎上手比较快…… 联想的协议似乎更简单,没有神州那样在报文里面附上一大堆ip阿网关阿DNS这些恶作剧的东西,所以直接拿了ZDC的代码来删删删,然后根据他们整理出来的一份协议的简单分析,已大概整理出了雏形。 项目主页:http://code.google.com/p/zlevoclient/ 欢迎大家帮忙测试使用!

Page optimized by WP Minify WordPress Plugin

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org