PPPOE

Point-to-Point Protocol Over Ethernet协议,以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。服务器

可使用ros 软路由在虚拟机中搭建PPPoE服务器网络

PPPOE发现阶段和会话阶段。
打开wireshark,选择要目标网卡->设置路由器的上网方式PPPoE,设置帐号密码。接下来抓包分析协议:session

发现阶段

该阶段目标:客户端和服务器确认彼此的Mac地址,创建PPPoE的Session_ID框架

发现阶段主要四个过程:PADI,PADO,PADR,PADS:3d

wireshark抓包查看发现阶段:调试

PADI

发送广播PADI报文,请求创建连接。blog

若是服务器端配置了service name,服务器端配置的service name和PADI报文中的service name相同则进行下一步交互,不然交互终止。ip

PADO

服务器对请求给出响应。路由

PADR

选择一个AC,发送PADR报文,请求与该服务器创建连接。虚拟机

PADS

目标服务器建立Seesion Id,单播给该客户端做为响应。发现阶段完成。

会话阶段

协商阶段

客户端和服务器互相发送LCP Request以确认发送的最大传输单元,认证方式等,协商的内容写在option字段中,会话阶段的SESSION ID必须是发现阶段分配的ID。

协商阶段的报文分为如下几种:

  1. 链路发现:肯定惟一链路的相关信息如:Configure-Request、Configure-Ack、Configure-Nak和Configure-Reject报文
  2. 链路维护:管理调试链路,如:Code-Reject、Protocol-Reject、Echo-Request、Echo-Reply、Discard-Request报文
  3. 链路终止:断开链路,如:Terminate-Request和Terminate-Reply报文

链路配置

服务器->客户端: Configuration Request 认证方式

客户端->服务器:Configuration Request 最大传输单元

服务器->客户端:Configuration Ack 最大传输单元

服务器->客户端: Configuration Request 认证方式

客户端->服务器:Configuration Ack 认证方式

认证方式有4种:

  1. PAP
  2. CHAP
  3. MS-CHAP
  4. MS-CHAP2

上面协商的为 MS-CHAP-2

响应报文有如下几种:

  1. Configuration ACK: Configuration Request协商经过
  2. Configuration NAK: 支持Configuration Requst的option,协商未经过,响应携带指望的内容
  3. Configuration Reject: 不支持Configuration Request协商的option,协商未经过,响应携带不支持的option

以上只演示了ACK报文

认证阶段

chap认证

wireshark查看

challenge:

response:

success:

NCP协商阶段(IPCP协议)

包括动态分配IP,DNS功能,也会进行屡次协商,若是不一样意就会出现NAK或者Reject报文。

过程:

客户端->服务器ACK确认ip

最后服务器->客户端ACK确认了分配的IP 和 DNS,网关等:

链路(会话)维护 Session Keep-alive

客户端发送Echo Request进行PPPoE心跳保活,若3次未获得服务器的响应,则客户端主动释放地址。发LCP Echo Request 的时候,Magic Number字段要和以前的Configure Request使用的Configure Request一致。

客户端->服务器:Echo Request

服务端->客户端:Echo Reply

会话结束(Session Termination)

发送PADT(PPPOE Active Discovery Terminate)请求和响应。

相关文章
相关标签/搜索