抓取pppoe宽带账号和密码只供学习和网络实验
抓取pppoe宽带账号和密码只供学习和网络实验(一)
宽带密码怎么改PPPOE中的PAP与CHAP
1.首先了解pppoe拨号认证方式!
  一般情况下,我们讨论PAP和CHAP都是讨论的NAS和用户之间的验证方式。当用户上网时,NAS决定对用户采用何种验证方法。下面分别在本地验证和Radius验证两种情况下介绍用户与NAS之间的PAP和CHAP验证方式。
1)NAS本地认证
PAP 验证(Password AuthenticationProtocol:密码验证协议):用户以明文的形式把用户名和密码传递给NAS。NAS根据用户名在NAS端查本地数据库,如果存在相同的用户名和密码表明验证通过,否则表明验证未通过。
CHAP 验证(Challenge Handshake Authentication Protocol:挑战握手验证协议):当用户
请求上网时,服务器产生一个16字节的随机码(challenge)给用户(同时还有一个ID号,本地路由器的 hostname)。用户端得到这个包后使用自己独用的设备或软件对传来的各域进行加密,生成一个SecretPassword传给NAS。NAS根据用户名查自己本地的数据库,得到和用户端进行加密所用的一样的密码,然后根据原来的16字节的随机码进行加密,将其结果与SecretPassword作比较,如果相同表明验证通过,如果不相同表明验证失败。
Secret Password = MD5(Chap ID + Password + challenge)
Radius认证
2)RADIUS认证
如果用户配置了RADIUS验证而不是本地验证,过程略有不同。
PAP验证:用户以明文的形式把用户名和他的密码传递给NAS,NAS把用户名和加密过的密码放到验证请求包的相应属性中传递给RADIUS服务器。RADIUS服务器对NAS上传的帐号进行验证并返回结果来决定是否允许用户上网。
Secret password =Password XOR MD5(Challenge + Key)
(Challenge就是Radius报文中的Authenticator)
CHAP验证:当用户请求上网时,NAS产生一个16字节的随机码给用户(同时还有一个ID号,
本地路由器的 hostname)。用户端得到这个包后使用自己独有的设备或软件对传来的各域进行加密,生成一个SecretPassword传给NAS。NAS把传回来的CHAP ID和SecretPassword分别作为用户名和密码,并把原来的16字节随机码传给RADIUS服务器。RADIUS根据用户名在服务器端查数据库,得到和用户端进行加密所用的一样的密码,然后根据传来的16字节的随机码进行加密,将其结果与传来的Password作比较,如果相同表明验证通过,如果不相同表明验证失败。另外如果验证成功,RADIUS服务器同样可以生成一个16字节的随机码对用户进行挑战询问(魔术字),该部分内容由于应用较少,此处略。
Secret password = MD5(Chap ID + Password + challenge)
从上面的过程看得出来,如果NAS到用户端都是一个用户一个PVC,或者一个用户一个VLAN,这时,BAS到用户端(MODEM)设置为PAP和CHAP都是无所谓的。但是如果BAS到用户端如果不是一个独立的链路,例如是一个VLAN下来到很多用户,这时,最好设置为CHAP。因为对用户的用户名和密码,CHAP是加密传送,而PAP是明文传送的的。但是,现在有些MODEM或系统不支持CHAP,也有NAS不支持,这时就没有选择了。