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)請求和響應。

相關文章
相關標籤/搜索