曲径通幽论坛
标题:
PPPOE 抓包分析(Discovery 阶段)
[打印本页]
作者:
easy
时间:
2014-4-1 17:56
标题:
PPPOE 抓包分析(Discovery 阶段)
对 PPPOE 协议抓包,主要分析一下 Discovery 阶段。
实验方法是,通过 PC 机直连 ADSL Modem,然后使用系统自带的拨号设置进行拨号,注意不是通过路由器来拨号上网。这里使用 wireshark 作为抓包工具。
关于 PPPOE 协议中一些字段的说明,可以参考《
PPPoE 技术白皮书
》,这里重点关注流程。
先从第一个包开始查看(PADI)
:
[attach]2803[/attach]
从图中的 Protocol 栏中看到,其协议为 "PPPoED" ,其中最后的 'D' 表示 "Discovery" ,也就是现在处于 “发现阶段”,现在是该阶段的第一步,该报文由用户端发送(PADI,PPPOE Active Discovery Initiation)。
从图中以太网帧里看到源地址 Source 是 ---
bc:5f:f4:e3:ed:42
;这个地址是本机的 MAC 地址(注意,不是 Modem 中的 MAC 地址)。
目的地 “Destination” 里看到的地址是是个广播地址 ---
ff:ff:ff:ff:ff:ff
,目的是为了找到一个PPPoE Server(宽带接入服务器);当集中器收到该报文后,会回应一个 PAD0 的报文给主机。
现在,集中器收到 PADI 广播后,就给客户机回应一个名为 PAD0 的报文
:
[attach]2804[/attach]
从上面可以看到,目的地址变为了本机的网卡地址,源地址就是运营商集中器的网卡地址了(08:19:a6:24:9c:e0),从网卡地址(包中也已经注释出)上可以了解到该集中器的制造商是华为;此外,在 Tags 下的 AC-Name 里也标识出了集中器的名字。
接下来是 PADR (PPPOE Active Discovery Request) 报文
:
[attach]2805[/attach]
这是发现阶段的第 3 步, 根据网络的拓扑结构,PPPoE 客户端可能收到多个 PPPoE Server 发送的 PADO 报文,PPPoE Client 选择最先收到的 PADO 报文对应的 PPPoE Server 做为自己的 PPPoE Server,并单播发送一个 PADR 报文。
再接着是 PADS (PPPOE Active Discovery Session-confirmation) 报文
:
[attach]2806[/attach]
这是发现阶段的最后一步, PPPoE Server 产生一个唯一的会话ID(SESSION ID,如上图所示,此会话 ID 为 0x6f94),标识和 PPPoE 客户端的这个会话,通过发送一个 PADS 报文把会话ID 发送给 PPPoE 客户端,如果没有错误,会话建立后便进入PPPoE Session 阶段。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2