}
if(((EAP *)(p+12+sizeof(EAPOL)))->;code==EAP_Success)
{
printf("EAP authentication success!\n");
//printf("Keeping sending echo every 20s... \n");
}
}
else
{
printf("EAP authentication fail!\n");
goto retry;
}
//sleep(3600);
//goto retry; //睡眠1小时后重新认证
close(bpf);//不会到这
return 0;
}
void sig_intr(int signo)
{
if(buf!=NULL)
{
//构造802.1X的EAPOL-Logoff帧
memset(buf,0,blen);
if((dstMAC[0]==0)&&(dstMAC[1]==0)&&(dstMAC[2]==0))
memcpy(buf,standardMAC,6);
else
memcpy(buf,dstMAC,6);
((EAPOL *)(buf+12))->;ethertype=htons(0x888E);
((EAPOL *)(buf+12))->;version=1;
((EAPOL *)(buf+12))->;type=EAPOL_Logoff;
((EAPOL *)(buf+12))->;length=0;
if((12+sizeof(EAPOL))!= write(bpf,buf,12+sizeof(EAPOL))) //发送802.1X的EAPOL-Logoff帧
{
perror("write EAPOL_Logoff error");
}
}
_exit(0);
}
程序参考了IEEE Std 802.1X-2001,RFC1994 PPP Challenge Handshake Authentication Protocol (CHAP)和RFC2284 PPP Extensible Authentication Protocol (EAP)。
[ 本帖最后由 xdkui 于 2005-11-7 22:49 编辑 ]
xdkui 回复于:2005-07-08 19:15:13
如有指教,感激不尽^_^
jervis0211 回复于:2005-10-27 07:52:35
这么好的东西没人顶,中国的大学生都在哪?
剑心通明 回复于:2005-10-27 08:11:00
这个不精华,天理不容啊:)
xichen 回复于:2005-10-27 09:31:10
恩,请教一下。
从ISO七层的二层上取,然后用EAP-MD5算法是吗?
你写的应该是个BSD无线上网的验证程序。
我希望能更详细的贴出过程来,比如编译安装,配置。
代表大家谢谢了!
hongzjx 回复于:2005-10-27 09:40:50
没注释?哎......
剑心通明 回复于:2005-10-27 09:42:27
引用:原帖由 "xichen" 发表:
恩,请教一下。
从ISO七层的二层上取,然后用EAP-MD5算法是吗?
你写的应该是个BSD无线上网的验证程序。
我希望能更详细的贴出过程来,比如编译安装,配置。
代表大家谢谢了!
支持!越详细越好 :m01:
linuxunix1 回复于:2005-10-27 10:03:35
确实鸟啊
jervis0211 回复于:2005-10-27 13:06:36
此贴封存很久,作者不知还经常来否,最好帮大家介绍下,搞定802.1x在UNIX下的认证,大家都自己现在大学校园很多都用这个认证,但大多是给WINODWS设计软件,前段时间看到过MYSTAR,XSUPPLICANT,但对DHCP不知道怎么办!
xdkui 回复于:2005-11-07 22:47:55
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 客户端 认证 buf sizeof EAPOL EAP // bpf 回复 if perror |
注册
个人空间
