、前言
近年来
网络数据业务发展迅速
宽带用户呈爆炸式
增长
运营商在采用xDSL
LAN
HFC
无线等多种接入方式
同时
为了构建
个可运营、可管理、可盈利
宽带网络
十分关心如何有效地完成用户
管理
PPPoE(PPP over Ethernet)就是随的出现
多种认证技术中
种
1、PPP over Ethernet
1998年后期问世
以太网上点对点协议(PPP over Ethernet)技术是由Redback 网络公司、客户端软件Software开发商RouterWare公司以及Worldcom子公司UUNET Technologies公司在IETF RFC制
基础上联合开发
通过把最经济
局域网技术——以太网和点对点协议
可扩展性及管理控制功能结合在
起
网络服务提供商和电信运营商便可利用可靠和熟悉
技术来加速部署高速互联网业务
它使服务提供商在通过数字用户线、电缆调制解调器或无线连接等方式
提供支持多用户
宽带接入服务时更加简便易行
同时该技术亦简化了最终用户在动态地选择这些服务时
操作
PPPoE 基于以太网
点对点协议
当前
PPPOE 主要被 ISP用于 xDSL 和 cable modems 和用户端
连接
他们几乎和以太网
样
PPPoE 是
种标准
点对点协议 (PPP)
他们的间只是传输上
差异:PPPoE 使用 modem 连接来代替普通
以太网
般来说
PPPoE 是基于和用户认证和通过分发 IP 地址给客户端
个PPPoE连接由客户端和
个访问集线服务器组成
客户端可以是
个安装了 PPPoE 协议
windows电脑
PPPoE 客户端和服务器能工作在任何以太网等级
路由器接口
2、网通宽带接入方式
网通
宽带接入方式通常都是LAN
方式
即所有
用户都位于
个大
局域网中
客户端要上网
需要先使用相应
账号进行PPPoE拨号
通过验证的后获得公网IP
然后才能上网
2、PPPoE验证过程
1、PPPoE验证过程
首先了解
下PPPoE验证过程:
假如客户端要通过
个局域网和远程
PPPoE服务器进行身份验证
这时
它们会有两个区别
会话阶段
Discovery阶段和PPP会话阶段
当
个客户端想开始
个PPPoE会话时
它必须首先进行发现阶段以识别对端
以太网MAC地址
并建立
个PPPoESESSON_ID
在发现阶段
基于网络
拓扑结构
客户端可以发现多个PPPoE服务器
然后从中选择
个
不过通常都是选择反应最快
个
Discovery阶段是
个无状态
阶段
该阶段主要是选择接入服务器
确定所要建立
PPP会话标识符Session ID
同时获得对方点到点
连接信息;PPP会话阶段执行标准
PPP过程
当此阶段完成
通信
两端都知到PPPoESESSON_ID和对端
以太网地址
它们
起定义了
个唯
PPPoE会话
这些步骤包括客户端广播
个发起分组(PASI)
个或多个PPPoE服务器发送响应分组(PADO)
客户端向选中
服务器发送请求分组(PADR)
选中
PPPoE服务器发送
个确认分组(PADS)给客户端
当客户端接收到确认分组
它可以开始进行PPP会话阶段
当PPPoE服务器发送出确认分组
它可以开始PPP会话
当客户端在指定
时间内没有接收到PADO
它应该重新发送它
PADI分组
并且加倍等待时间
这个过程会被重复期望
次数
如果客户端正等待接收PADS
应该使用具有客户端重新发送PADR
相似超时机制
在重试指定
次数后
主机应该重新发送PADI分组
PPPOE还有
个PADT分组
它可以在会话建立后
任何时候发送
来终止PPPOE会话
它可以由客户端或者PPPOE服务器发送
当接收到
个PADT
不再允许使用这个会话来发送PPP业务在发送或接收PADT后
即正常
PPP不能使用时
可以使用PADT
旦PPPOE会话开始
PPP数据就可以以任何其它
PPP封装形式发送
所有
以太网帧都是单播
身份验证是发生在会话阶段
PPPoE会话
SESSION_ID
定不能改变
并且必须是发现阶段分配
值
2、PPP over Ethernet基本帧格式
建立
个以太网上点对点协议会话包括两个阶段:1
发现(Discovery)阶段
在Discovery过程中用户主机以广播方式寻找可以连接
所有
接入集线器
并获得其以太网MAC地址
然后选择需要连接
主机并确定所要建立
PPP会话识别标号
2
PPP会话阶段
用户主机和接入集线器根据在发现阶段所协商
PPP会话连接参数进行PPP会话
因此对应于这两种过程
以太网上点对点协议帧格式(如图2)也包括两种类型:发现阶段
以太网帧中
类型字段为0x8863;PPP会话阶段
以太网帧中
类型字段为0x8864
它们均已得到IEEE
认可
PPPoE包中
版本(VER) 字段和类型(TYPE)字段长度均为4比特
在当前版本PPPoE建议中这两个字段值都固定为0x1
代码(CODE)字段长度为8比特
根据两阶段中各种数据包
区别功能而值区别
在PPP会话阶段CODE字段为0x00
发现阶段中
各种数据包格式将在下面详细介绍发现阶段时给出
版本标识号码(SESSION_ID)字段长度为16比特
在
个给定
PPP会话过程中它是固定不变
值0xffffff为保留值
长度(LENGTH)字段为16比特长
指示PPPoE净荷长度
发现阶段PPPoE载荷可以为空或由多个标记(TAG)组成
每个标记都是TLV(类型-长度-值)
结构;PPP会话阶段PPPoE载荷为标准
点对点协议包
3、发现(Discovery)阶段详细介绍
个典型
发现(Discovery)阶段共包括4个步骤:
1、主机发出PPPoE有效发现启动(PADI)包
以太网目
地址为广播地址0xffffffffffff
CODE字段为0x09
SESSION_ID为0x0000
PADI包必须至少包含
个服务名称类型
标签(标签类型字段为0x0101)
向接入集线器提出所要求提供
服务
2、接入集线器收到在服务范围内
PADI包后
发送PPPoE有效发现提供(PADO)包以响应请求
其CODE字段为0x07
SESSION_ID仍为0x0000
PADO包必须包含
个接入集线器名称类型
标签(标签类型字段为0x0102)以及
个或多个服务名称类型标签
表明可向主机提供
服务种类
3、主机在可能收到
多个PADO包中选择
个合适
然后向所选择
接入集线器发送PPPoE有效发现请求(PADR)包
其CODE字段为0x19
SESSION_ID仍为0x0000
PADR包必须包
个服务名称类型标签
确定向接入集线器请求
服务种类
4、接入集线器收到PADR包后准备开始PPP会话
它发送
个PPPoE有效发现会话确认(PADS)包
其CODE字段为0x65
SESSION_ID为接入集线器所产生
个唯
PPPoE会话标识号码
PADS包也必须包含
个接入集线器名称类型
标签确认向主机提供
服务
当主机收到PADS包确认后
双方就进入PPP会话阶段
3、PPPoE验证利用
从上面
过程我们需要注意两点:发现阶段是广播方式进行
会话阶段是单播;客户端通常选择反应最
PPPOE服务器进行身份验证和接入
什么是反应快?我们可以理解成客户端将和最近
PPPOE服务器进行身份验证
利用思路:这就是今天要说
关键
如果我们架设
个PPPOE服务器
那么和我们同
交换机或集线器(通常是
个楼层)
用户都将会选择这个服务器进行接入和身份验证
而不会去寻找远方
PPPOE服务器
下面说
下利用过程:
1、架设PPPOE服务器
架设PPPOE服务器
原作者是利用Windows Server2003
“路由和远程访问”服务来架设
然后安装PPPoE驱动
这样使得路由和远程访问服务增加了PPPOE服务
当然也可使用Linux系统
网上有
篇有关Linux+PPPoE服务器
文章
2、将PPPOE身份验证设为未加密方式(具体情况还得取决和PPPOE服务器)
不用多说
这主要是为了方便明文嗅探
3、使用Sn
fer进行嗅探
上篇文章: 利用HTTP指令进行攻击——Cache篇
下篇文章: 简析网络安全中人为恶意攻击和漏洞
延伸阅读
最新评论