校园教育网认证一直是很多大学同学换用学习linux的拦路虎,首先是对各种操作不熟悉,苦于没有地方搜索,因为上不了网,上网的问题又在于需要认证,而很多学校一直是使用的瑞捷的认证系统。
对于初学Linux的童鞋来讲,熟悉linux命令还不容易,例如,理解 这个 “./” 的意义,刚开始还是使用GUI比较方便,但是在linux下面一直没有一个好用的 GUI认证客户端,所以我就在去年,用QT3写了一个GUI版,因为是在KDE环境现写的,所以随便起了名字Kstar,基于Mystar的认证机理,这个是在Fedora Core8下面调试运行的。
本来很早就应该写一个使用说明的,现在我把在Ubuntu里面的使用方法简单的些一下:
1.首先,mystar认证机理是抓包,所以需要root权限,同样,Kstar也一样,为了方便,还是现在Ubuntu中启用root登录,具体方法这里有提到 。
2.下载好 libqt3-mt 的支持包,安装,如果已经能够上网(比如命令行的mystar/supplicat),设置好更新源后执行:
apt-get install libqt3-mt
3. 下载这个 kstar-bin-1.0.tgz ,解压到某个文件夹。
将 kstar 程序拷贝到 /usr/bin , 将 libpcap.so 拷贝到 /usr/lib, 改名为 libpcap.so.0.9
然后在命令行中运行kstar了。
4.可以创建一个 快捷方式在桌面上
在桌面上右键,然后新建启动器,输入名称“认证”,命令 填写 kstar 即可
上述方法比较麻烦,麻烦有麻烦的好处,你可以知道程序是怎么运行的,需要什么运行库的支持。
如果不想这么麻烦,直接下载这个文件,里面是包含了 qt3和libpcap 运行时的,可以在Windows中下载好,到Linux直接运行 里面的 ./install.sh 即可。
注意: 请以root登录系统运行
下载: Kstar-bin-1.0-qt3-included.tgz
安装后到菜单里面“网络”可以找到:

可以最小化到系统托盘:

运行的截图:

先截两个图:



近来学习QT,发现积极性不是很大,后来索性就想做一个什么实际的东西出来把,细想了一下,现在教育网很多用户都用锐捷认证,官方的版本限制太多,没有考 虑我们广大用户的利益,所以Windows下面有一Meto锐捷的东西,Linux下面也有相应的官方认证软件supplicant,但是这个不好用,所 以后来就有人写了mystar。但是一直没有一个GUI的,虽然使用Linux的高手云集,命令行可以搞定一切,貌似没有人准备为他写一个GUI,毕竟 Linux的推广于普及最终还是要让普通的来百姓能够使用,而他们迫切的需要图形界面的支持。
我一想,这个还不错,既学习Qt,巩固C++,又可以学习网络编程,当然少不了特定平台的系统调用,最后还可将学习Qt在BSD,windows,嵌入式等上面的移植,那个想法是相当的不错阿.说感就干。
首先分析Mystar的源代码,核心应该是参考Meto的,都是使用了libpcap库来实现网络抓包。libnet实现发帧。大概花了一上午的时间,将 mystar封装成类,然后开始学习QT,其实学习QT也挺快的,首先了解程序框架,然后了解各种文件用法,编译连接过程,然后根据doc/html下面 的帮助文档就可以了,不懂的地方Google一定能找到答案。
编写这个Kstar(名字瞎起的),用了RSA的MD5函数,读取配置文件还使用了专用的库CIniFile,为了在X11中使用系统托盘,使用了第三方 的TrayIcon类(Qt3中没有TrayIcon的相关类,哎),最后弄得这个可执行文件足有1M大小,真是惭愧…..尽管libcap使用的是 共享…
下面是ldd的结果
[root@localhost bin]# ldd kstar
linux-gate.so.1 => (0×00110000)
libpcap.so.0.9 => /usr/lib/libpcap.so.0.9 (0x00d2e000)
libqt-mt.so.3 => /usr/lib/qt-3.3/lib/libqt-mt.so.3 (0×02000000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00d5d000)
libX11.so.6 => /usr/lib/libX11.so.6 (0×00111000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x003f7000)
libm.so.6 => /lib/libm.so.6 (0x00ccc000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002b2000)
libc.so.6 => /lib/libc.so.6 (0x00b71000)
libmng.so.1 => /usr/lib/libmng.so.1 (0x007b7000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x003d3000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0×00253000)
libz.so.1 => /lib/libz.so.1 (0x00d19000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x0027b000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0×00286000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0029d000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0×00291000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x002a6000)
libXft.so.2 => /usr/lib/libXft.so.2 (0x007a2000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00d6f000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0×00222000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x003ac000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x003b7000)
libdl.so.2 => /lib/libdl.so.2 (0x00cf7000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00cfe000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x0020d000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0×00210000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x002be000)
/lib/ld-linux.so.2 (0x00b52000)
liblcms.so.1 => /usr/lib/liblcms.so.1 (0x0076a000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x002ab000)
libexpat.so.1 => /lib/libexpat.so.1 (0x002da000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0×00212000)
整个工程使用Kdevelop开发,用Qmake处理pro文件,源码如下:
kstar-src-1.0.tar.gz
在 Fedoro Core 8下面的编译的二进制包:
kstar-bin-1.0.tar.gz