校园网拨号器的C语言实现(一)——总体思路

  我网络方面的知识不多,刚刚想到要用C语言实现校园网拨号器时,一点思路都没有。偶然想到WIN7在设置本地自动连接的时候,要在802.1X协议处打上√(见图1),于是有了一点思路。

图1

  百度802.1X(http://baike.baidu.com/view/310804.htm),知802.1x协议是基于Client/Server访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。后又仔细阅读了http://wenku.baidu.com/view/c093a3d4b14e852458fb5744.html,对802.1X有了更进了步的了解,确认在拨号的过程中,通信双方采用802.1X协议。

  通过WireShark抓包,分别抓取了成功连接,用户名错误而复合失败连接,用户密码错误而失败连接3种情况,见图2到图4。

图2 连接成功

 图3 用户名错误

图4 用户密码错误

  通过分析WireShark抓取的数据包,对比上述文档,可以更加确定,拨号过程采用了802.1X协议。

  下一步又大致了解了一下Winpcap,WinPcap是用于网络封包抓取的一套工具,可适用于32位的操作平台上解析网络封包,包含了核心的封包过滤,一个底层动态链接库,和一个高层系统函数库,及可用来直接存取封包的应用程序界面。

  所以现在的思路就清楚了,用C语言调用Winpcap函数,实现网络收包,发包功能,其中收包,发包符合802.1X协议,就可以实现拨号功能了。

posted @ 2013-01-12 14:46  菜鸟飞  阅读(765)  评论(0编辑  收藏  举报