|
前几天,用硬盘安装了FC6,可是在网上找了好几个客户端都认证不能成功,心想自己也是搞c/c++编程的,何不自己写一个呢?
说干就干,在网上查找了一些资料,最主要的是mystar源码和ThorClient2源码,多谢这2个程序的作者;我这个客户端就是根据实际情况然后综合这2个客户端的源码得出来的。接下来就说说我是如何编写我自己的客户端啦,好让无法认证上网的linux兄弟姐妹们有个参考。
要编写,首先得了解认证的协议,我在网上查了一些资料,比如《802_1x协议解析》、《H3C802_1x认证流程解析》等等,这些只是先了解,最重要的还是得靠自己来,那就是通过Sniffer这个软件抓认证包分析,因为各个地方可能不一样,linux不能通过认证,windows总该没问题吧,那就装上Sniffer这个软件抓取认证包分析,网上许多客户端不能通过认证,也许就是因为认证的协议有点不同,找出不同点就好办了。后面也会列出Sniffer的使用文档。
通过Sniffer了解了认证协议,接下来就是用ThorClient2来调试了,这个是用VC++写的WINDOWS程序,在WINDOWS下把这个软件调好了,能认证通过了,那就成功了一半多了,接下来无非是把这个程序移植到Linux上去。
也许有人会说:“我刚接触Linux呀,不会编写Linux的程序呢!”没关系,我也跟你一样,这就是为什么还需要mystar源码的缘故!mystar是linux下的一个实达802.1X认证客户端,只是协议不一样,其他的框架借鉴它的不就可以了?
大概就这样,有编程经验又苦于认证不了的,不妨试试这个方法,自己动手,丰衣足食嘛!
没有编程经验的也没关系,可以找高人帮忙嘛。
我是刚接触linux没几天的菜鸟,瞎弄都可以弄出来,大家对自己还有什么不放心的?
接下来介绍我编写的这个客户端的用法:首先要安装libnet和libpcap,我装的是libnet-1.1.2.1.tar和FC6自带的软件包libpcap-devel-0.9.4-8.1.i386,安装方法我就不多说了,[/url]
安装完后,用控制台到my802目录下,然后输入make就编译好了,接着就是改配置my802.conf:
name=lgh //把lgh改成自己的用户名
password=123456 //把这个改成自己的密码
uploadip=1//如果要上传IP的话就写1,否则改成0
nic=eth0 //网卡,一般不用改
保存,然后直接运行./my802就可以了
说明:我的Linux系统是FC6,用的认证是华为的,可能大家下了不能用,那就得自己动手了。
libnet-1.1.2.1.tar下载地址:http://www.mirrors.wiretapped.ne ... construction/libnet |
|