发新话题
打印

Linux不能上网,有谁有办法吗

Linux不能上网,有谁有办法吗

Linux不能上网,有谁有办法吗
有高手写一个Linux下的密户端验证系统吗

[ 本帖最后由 cldsj 于 2007-4-8 10:31 编辑 ]
计科04级学术交流群:13630110

TOP

这是一些资料,后面的东西是自己解析的
1.客户端向认证系统发送EAPOL-Start数据包发起认证。
2.认证系统向客户端发送EAP-Request/Identity数据包,请求客户端发送身份标识。
3.客户端接收到认证系统发来的EAP-Request/Identity后,发送包含用户身份标识信息的EAP-Response-Identity数据包。
4.认证系统接收到客户端发送的EAP-Response/Identity后,查询用户名,如果验证成功,继续,否则返回错误信息,客户端执行步骤11。
5.认证系统向客户端发送EAP-Request/Md5-Challenge数据包,数据包中包含客户端进行Md5加密时所需的16字节Md5-Challenge。
6.客户端接收到认证系统发送的EAP-Request/Md5-Challenge,从中取出所需要的Md5-Challenge字段和Id字段,结合密码,运算得到16字节的加密结果,用于合成EAP-Response/Md5-Challenge数据包。合成完毕,发送数据包。
7.认证系统接收到客户端发送的EAP-Response/Md5-Challenge,进行验证,如果通过,则继续,否则返回错误信息,执行步骤11。
8.认证系统向客户端发送EAP-Success数据包,同时将用户端口Port状态置为Enable,客户端所在的电脑就此得到上网权限。
9.认证系统每隔一段时间主动向客户端发送EAP-Keepalive数据包。
10.客户端接收到EAP-Keepalive数据包后(与EAP-Request/Identity数据包内容相同),客户端执行步骤3,完成连接的保持工作。重复步骤10。
11.接收到错误信息,发送EAP-Logoff数据包,中止认证。
计科04级学术交流群:13630110

TOP

EAPOL-Start结构:
0000   01 80 c2 00 00 03 00 00 00 00 00 00 88 8e 01 01  ................
0010   00 00 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5  ................
0020   a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5  ................
0030   a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5  ................

解析如下:
01 80 c2 00 00 03 目的mac地址
00 00 00 00 00 00 源mac地址
88 8e 协议类型,802.1x的类型是88 8E
01 表示EAPOL 帧的发送方所支持的协议版本号,本规范使用值为0000 0001
01 表示传送的帧类型,如下:(1)EAP-Packet值为 0000 0000 (2)EAPOL-Start值为0000 0001 (3)EAPOL-Logoff值为0000 0010
00 00 表示Packet Body的长度
a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5
a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5
a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 剩余部分用a5填充
计科04级学术交流群:13630110

TOP

EAP-Request,Identity结构:
0000   00 03 0d 0f 0c 05 00 00 00 00 00 00 88 8e 01 00  ................
0010   00 05 01 01 00 05 01 a5 a5 a5 a5 a5 a5 a5 a5 a5  ................
0020   a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5  ................
0030   a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5  ................
0040  

解析如下:
00 03 0d 0f 0c 05 目的mac地址
00 00 00 00 00 00 源mac地址
88 8e协议类型,802.1x的类型是88 8E
01表示EAPOL 帧的发送方所支持的协议版本号,本规范使用值为0000 0001
00表示传送的帧类型,如下:(1)EAP-Packet值为 0000 0000 (2)EAPOL-Start值为0000 0001 (3)EAPOL-Logoff值为0000 0010
00 05表示Packet Body的长度
   以下部分为EAP协议
01表示EAP帧四种类型:1.Request;2.Response 3.Success;4.Failure
01用于匹配Request和Response
00 05表示EAP帧的总长度
01
a5 a5 a5 a5 a5 a5 a5 a5 a5
a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5
a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 填充
a5 a5 a5 a5 差错控制
计科04级学术交流群:13630110

TOP

EAP-Response,Identity:
0000   01 80 c2 00 00 03 00 00 00 00 00 00 88 8e 01 00  ................
0010   00 3c 02 01 00 0e 01 30 34 34 32 32 31 31 00 00  .<.....学号
0020   00 00 00 00 00 ff ff ff 00 0a 14 09 fe 00 00 00  ....!...........
0030   00 b4 29 b6 78 67 76 5e 1b ad f4 86 bc b8 d5 40  ..).xgv^.......@
0040   e9 33 2e 34 2e 32 30 30 36 2e 30 35 30 39        .3.4.2006.0509

解析如下:
01 80 c2 00 00 03 目的mac地址
00 00 00 00 00 00 源mac地址
88 8e 协议类型,802.1x的类型是88 8E
01表示EAPOL 帧的发送方所支持的协议版本号,本规范使用值为0000 0001
00表示传送的帧类型,如下:(1)EAP-Packet值为 0000 0000 (2)EAPOL-Start值为0000 0001 (3)EAPOL-Logoff值为0000 0010
00 3c表示Packet Body的长度
   以下部分为EAP协议
02表示EAP帧四种类型:1.Request;2.Response 3.Success;4.Failure
01用于匹配Request和Response,即对应刚才所收到01
00 0e表示帧的总长度
01
30 34 34 32 32 31 31 30 30 用户名,此处为0442211xx
00 用于与以下45字节的私有数据分隔
00 00 00 00 IP地址,此处为10.20.9.33
ff ff ff 00 子网掩码,此处为255.255.255.0
0a 14 09 fe 网关,此处为10.20.9.254
00 00 00 00 DNS地址,此处为0.0.0.0
b4 29 b6 78 67 76 5e 1b ad f4 86 bc b8 d5 40 e9 用户的MD5码
33 2e 34 2e 32 30 30 36 2e 30 35 30 39 版本信息
计科04级学术交流群:13630110

TOP

还有几个是一样的原理,就不发了

因本人考高程,没时间,所以只能发出来,靠大家的力量了

高手都来看看吧
以下是一点思路:
linux下可以用libpcap也可以直接用底层
用C,似乎要用到多线程
计科04级学术交流群:13630110

TOP

同情!!!  但我不会!!!默哀!!!!!!

TOP

神州数码官方有一个linux版客户端的源码包,自己尝试编译一下吧

TOP

不知道在哪儿下载,能给个下载地址吗
计科04级学术交流群:13630110

TOP

发新话题