通过分析移动宽带的数据包了解PPPoE
来源:互联网 发布:淘宝三大零食店铺 编辑:程序博客网 时间:2024/04/30 05:25
先来介绍下PPPoE的工作流程:
PPPoE协议的工作流程包含发现和会话两个阶段,目的是获得PPPoE终结端的MAC地址,并建立一个唯一的PPPoE SESSION-ID。发现阶段结束后,就进入标准的PPP会话阶段。
当一个主机想开始一个PPPoE会话,它必须首先进行发现阶段,并建立一个PPPoE SESSION-ID。
这是我抓到的数据包
发现阶段:
在发现阶段中主机以广播方式寻找所连接的接入设备,并获得其以太网MAC地址。然后选择需要连接的主机,并确定所要建立的PPP会话标识号码。发现阶段有4个步骤,当此阶段完成,通信的两端都知道PPPoE SESSION-ID和对端的以太网地址,他们一起唯一定义PPPoE会话。这4个步骤如下。
1.PADI
主机广播发起分组(PADI),分组的目的地址为以太网的广播地址0×ffffffffffff,CODE(代码)字段值为0×09,SESSION-ID(会话ID)字段值为0×0000,向接入设备提出所要求提供的服务。
2.PADO
接入设备收到在服务范围内的PADI分组,发送PPPoE有效发现提供包(PADO)分组,以响应请求。其中CODE字段值为0×07,SESSION-ID字段值仍为0×0000,表明可向主机提供的服务。
3.PADR
主机在可能收到的多个PADO分组中选择一个合适的PADO分组,然后向所选择的接入设备发送PPPoE有效发现请求分组(PADR)。其中CODE字段为0×19,SESSION_ID字段值仍为0×0000。当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。
4.PADS
接入设备收到PADR分组后准备开始PPP会话,它发送一个PPPoE有效发现会话确认PADS分组。其中CODE字段值为0×65,SESSION-ID字段值为接入交换机所产生的一个唯一的PPPoE会话标识号码(这里是0x6430)。当主机收到PADS分组确认后,双方就进入PPP会话阶段。
会话阶段:
LCP:
LCP用于建立、拆除和监控PPP数据链路,还用于链路层参数的协商,如MRU、验证方式。如果通信双方希望通过PPP协议建立点对点的通信,无论哪一端都要发送LCP报文来建立链路。LCP配置参数选项协商完后,通信双方就会根据LCP配置请求报文中所协商的认证配置参数选项,决定链路两端设备所采用的认证方式。这里经协商采用CHAP认证方式。
CHAP:
接入设备通过Challenge报文发送给认证客户端,客户端收到Challenge报文后,将密码和Challenge做MD5算法后的Challenge—Password,在Response回应报文中把它发送给接入设备。接入设备将Challenge、challenge-Password和用户名一起送到RADIus用户认证服务器,由RADIUS用户认证服务器进行认证。RADIUS用户认证服务器根据用户信息判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束。接入设备将认证结果返回给客户端。
IPCP:
用户进行IPCP协商,通过接入设备获取到规划的IP地址等参数。认证如果成功,接入设备发起计费开始请求给RADIUS用户认证服务器。RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕,开始上网
结束:
退出时用户和接入设备先互相发送PPP-LCF Termination再发送PADT。
PADT分组,它可以在会话建立后的任何时候发送,来终止PPPOE会话。它可以由客户端或者PPPOE服务器发送。当接收到一个PADT,不再允许使用这个会话来发送PPP业务。
但是我不懂得是为什么在PADT前还要加入PPP-LCF Termination Request Ack 的过程呢?
若有人明白为什么,请告诉我。
- 通过分析移动宽带的数据包了解PPPoE
- 通过fidder抓取移动端设备的数据包,来分析移动app的技术
- Windows XP 下建立PPPoE宽带连接的方法
- 查看宽带虚拟拨号PPPoE的上网口令密码
- ubantu pppoe 拨号 宽带上网
- 2.pppoe客户端宽带拨号
- Centos宽带链接ADSL-pppoe
- Ubuntu 通过无线 连PPPOE的 上网
- POS的数据包分析
- 拨号上网,即PPPoE方式,即点击“宽带连接”输入账号和密码的方式,没有“宽带连接”怎么办?
- (others)抓取PPPOE数据包
- (others)编写PPPOE数据包
- 如何利用rp-PPPoE连接带用户名和密码的宽带连接
- 在linux下使用PPPOE程序拨号连接小区宽带xDSL的方法
- 分析一下PPPOE用户上网的过程
- [PPPOE]RP-PPPOE脚本分析
- [PPPOE]RP-PPPOE源码分析
- 宽带认证技术比较 PPPoE 和 IPoE
- 每日算法之一:Two Sum
- JSTL 入门
- Nyoj 712 探 寻 宝 藏
- hdu 2222 ac自动机
- 高速数据采集卡 5GSPS 10bit
- 通过分析移动宽带的数据包了解PPPoE
- <读书笔记>Windows内核安全——第五章磁盘的虚拟
- linux中使用cron制定系统定时任务
- 尾递归的本质
- HTML Scripts,美丽的网页、多功能网页,重要的js代码知识基础
- 如何设置圆角的EditText——Android移动开发
- Xcode自定义Eclipse中常用的快捷键
- 安卓网络-冰山一角之httpurlconnection
- ubuntu 重启命令和重启网卡方法