協議
(PAP:Password Authentication Protocol)
密碼認證協議(PAP),是 PPP 協議集中的一種鍊路控制協議,主要是通過使用2次握手提供一種對等結點的建立認證的簡單方法,這是建立在初始鍊路确定的基礎上的。
完成鍊路建立階段之後,對等結點持續重複發送 ID/ 密碼給驗證者,直至認證得到響應或連接終止。
對等結點控制嘗試的時間和頻度。所以即使是更高效的認證方法(如CHAP),其實現都必須在 PAP 之前提供有效的協商機制。
該認證方法适用于可以使用明文密碼模仿登錄遠程主機的環境。在這種情況下,該方法提供了與常規用戶登錄遠程主機相似的安全性。
協議結構
密碼認證協議的配置選項格式:
8 16 32 bit
Type Length Authentication-Protocol
Type ― 3
Length ― 4
Authentication-Protocol ― C023(Hex)
PAP 數據包格式
8 16 32 bit variable
Code Identifier Length Data
Code ― Code 字段為8字節,用于識别 PAP數據包類型。PAP Code 字段分配如下:1、Authenticate - Request;2、Authenticate - Ack;3、Authenticate-Nak 。
Identifier ― Identifier 字段為8字節,用于匹配 Request 和 Reply。
Length ― Length 字段為16字節,表示 PAP 數據包的長,包括 Code、Identifier、Length 和 Data 字段。Length 字段外的八位位組用作數據鍊路層間隙,且在接收方忽略。
Data ― Data 字段為0或更多字節。Data 字段格式取決于 Code 字段。
配置
步驟一:配置路由器的IP地址。
基礎配置省略,串行鍊路要記得配置時鐘頻率。
步驟二:将R1的 s1接口改為ppp協議. 并配置雙向身份驗證
R1(config)#inter serial 0/3/0
R1(config-if)#encapsulation ppp
R1(config-if)#exit
R1(config)#hostname R1 //R1 将作為PPP 的用戶名
R1(config)#username R2 password cisco
//配置本地用戶名密碼數據庫。用于确認其它設備的身份。
R1(config)#interface serial 0/3/0
R1(config-if)#ppp authentication [chap|pap]
//指定采用chap的進行身份驗證([chap|pap]是2選1)
步驟三:将R2的S0改為PPP協議,并配置身份驗證
R2(config)#host R2
R2(config)#username R1 password cisco
R2(config)#interface serial 0
R2(config-if)#encapsulation ppp
R2(config-if)#ppp authentication [chap|pap]
步驟四:确認雙方是否可以PING通。
步驟五:配置CHAP單向的身份驗證,R2配置基礎上添加一個新的用戶
R2(config)#username wy password 123
步驟六:配置R1的PPP認證。
R1(config)#interface serial 1
R1(config-if)#encapsulation ppp
R1(config-if)#pppchaphostname wy //發送chap 的用戶名
R1(config-if)#pppchappassword 123 //配置chap 的密碼
R1(config-if)#exit
步驟七:确認雙方是否可以PING通。
步驟八:配置PAP的單向的身份驗證,在原先的配置基礎上将R2改為pap的認證
R2(config)#interface serial 0
R2(config-if)#encapsulation ppp
R2(config-if)#ppp authentication pap
R2(config-if)#exit
步驟九:配置R1的PPP認證
R1(config)#interface serial 1
R1(config-if)#encapsulation ppp
R1(config-if)#ppppapsent-username wy password 123 //發送pap 的用戶名和密碼
步驟十:确認雙方是否可以PING通。
排查命令
debug ppp negotiation-确定客戶端是否可以通過PPP協商;這是您檢查地址協商的時候。
debug ppp authentication-确定客戶端是否可以通過驗證。如果您在使用Cisco IOS軟件版本11.2之前的一個版本,請發出debug pppchap命令。
debug ppp error–顯示和PPP連接協商與操作相關的協議錯誤以及統計錯誤。
debug aaa authentication-要确定在使用哪個方法進行驗證(應該是RADIUS,除非RADIUS服務器發生故障),以及用戶是否通過驗證。
debug aaa authorization-要确定在使用哪個方法進行驗證,并且用戶是否通過驗證。
debug aaa accounting-查看發送的記錄。
debug radius-查看用戶和服務器交換的屬性。
2、PAP (Wap Push Access Protocol)推送訪問協議PAP協議屬于HTTP協議的擴展,使用.NET的HttpWebRequest類庫便可以方便的實現PAP的通訊層.剩下的工作便是PAP協議内容的組合了,
PAP協議主要有四個方法及一個交互方法,分别是:
·Submit a Push提交一個Push信息
·Cancel a Push取消一個Push信息
·Query for status of a Push查詢提交Push信息的狀态
·Query for wireless device capabilities查詢無線設備能力