KStar 校园网锐捷认证GUI版

先截两个图:

KStar1
KStar1
KStar1

近来学习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

  1. 我的网络


  2. 标签云

  3. 推荐服务

  4. 分类目录


  5. 最近文章

    1. 2011年度小结
    2. 美国主机与翻墙
    3. Archos101平板安装openAOS系统
    4. 折腾能力下降
    5. 新浪微博与腾讯QQ正面竞争已经展开
    6. Google Talk 和 Google Voice 的终极整合
    7. “无法访问Windows Installer服务”解决方法
    8. 跨平台的移动应用开发框架-PhoneGap
    9. 七月
    10. 在电脑上K歌的设置
    11. 中国通货膨胀的原因
    12. 关于家族字辈
    13. 15款免费云存储服务
    14. 基于PHP的开源在线OA软件 Feng Office
    15. 在WordPress中展示Facebook相册
    16. MusicBrainz Picard–MP3自动标签匹配工具
    17. 荧光灯为啥不能直接装在普通调光台灯上
    18. 打电话时”已关机”和“无法接通”的区别
    19. Ubuntu下使用WindowsMediaCenter遥控器控制XBMC
    20. 非常酷的开源Media Center-XBMC
  6. 最近评论

    1. ninee's avatarninee
      不错,有收获,有计划!
    2. febird's avatarfebird
      你说的是 Virtual-WiFi ? 只要是通过Windows的“共享网络连接"功能的,作为网关的那块网卡就支持NAT功能,也就起到了路由器的作用。 至于说一块网卡怎么能生成两个接口,那是网卡的一种模式,可以理解为AP-STA模式。
    3. jk's avatarjk
      问一下啊。。。W7下系统就能自动有一个虚拟网卡。通过它可以共享网络。那么这个虚拟网卡和物理网卡是怎么连的?我觉得是NAT吧。问一下。还有我G+上加你了。
    4. febird's avatarfebird
      哥的地盘,要开始实名制了。
    5. 就不告诉你's avatar就不告诉你
      公子啊,第5条是亮点啊~
    6. 龙龙Fred's avatar龙龙Fred
      那我一定要试一试
    7. NoAnyLove's avatarNoAnyLove
      对,GoAgnet是个不错的解决方案,不仅免费,而且速度也快,基本上可以达到你的带宽的全速(但是好像不能超过500 KB/s ,话说,国内个人用的带宽还很少有能达到这个速度的),比许多收费的SSH和VPN还要快。用于看Youtube绝对死最好的选择,访问一些美国网站也不是问题
    8. a nerd's avatara nerd
      GoAgent不就解决了