找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 服务器 Linux/BSD 查看内容

KStar 校园网锐捷认证GUI版

2009-12-20 13:14| 发布者: admin| 查看: 90| 评论: 0|原作者: 琴姬



学习编程技术,还是一边学习一边实践来感觉更容易,近来学习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 => (0x00110000)
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 (0x02000000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00d5d000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00111000)
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 (0x00253000)
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 (0x00286000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0029d000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00291000)
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 (0x00222000)
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 (0x00210000)
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 (0x00212000)
整个工程使用Kdevelop开发,用Qmake处理pro文件,源码如下:

kstar-src-1.0.tar.gz

在 Fedoro Core 8下面的编译的二进制包:

kstar-bin-1.0.tar.gz

使用截图说明:
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://lh4.ggpht.com/daneyn/SLyuhTBaF4I/AAAAAAAAGWw/Ebo-p-rQrSk/s800/Kstar-1.jpeg');}" onmousewheel="return imgzoom(this);" alt="" />
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://lh3.ggpht.com/daneyn/SLyuhfIFzOI/AAAAAAAAGW4/gb5Hc30Ux5A/s800/Kstar2.jpeg');}" onmousewheel="return imgzoom(this);" alt="" />
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://lh4.ggpht.com/daneyn/SLyuhXZywHI/AAAAAAAAGXA/KA7R-Aiqva4/s800/Kstar3.jpeg');}" onmousewheel="return imgzoom(this);" alt="" />











最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:28 , Processed in 0.133142 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部