CHAP協議抓包分析


目的:

根據所給的RFC參考文檔熟悉CHAP協議流程以及加解密算法的細節,提取所捕獲數據包中相應字段

開始抓包:

 

 

 

 

 

 

 

分析:

建立TCP連接

 

   PPTP控制層協議是建立在TCP協議的基礎上,所以剛開始即使普通的TCP三次握手

 

 

 

 

 

1、  Client端向Server的1723端口發TCPSYN包,請求建立TCP連接。

 2、  Server接收TCP連接請求,回SYN ACK。

3、  Client端向Server發送確認包ACK

 PPTP控制連接和隧道的建立

在此過程,完成PPTP控制層連接和Gre隧道建立的工作

 

 

 

 

 

1  ClientServer發送Start-Control-Connection-Request,請求建立控制連接

2  ServerClient發送Start-Control-Connecton-Reply,應答客戶端的請求

3  ClientServer發送Outgoing-Call-Request,請求建立PPTP隧道,該消息包含GRE報頭中的Callid,該id可唯一地標識一條隧道

4  ServerClient發送Outgoing-Call-Reply,應答客戶端的建立PPTP隧道請求

 5、  Client或者Server任意一方發出Set-Link-info,設置PPP協商的選項

PPP協議的LCP協商

   LCPPPP協議的鏈路控制協議,負責建立、拆除和監控數據鏈路。協商鏈路參數,如認證方法,壓縮方法,是否回叫等。

1  Client發送一個Configuration Request,把自己的配置參數發送給Server

2Server發送一個Configuration Request,把自己的配置參數發送給Client,並向客戶端發送ACK表示所有配置參數全部認識且可以接受

3  Client發送一個Configuration Reject,將自己不能識別的參數告知Server,讓Server進行修正

4Server修改配置項后再次發送Configuration Request

5.Client發送一個Configuration Nak 表示所有LCP選項都可識別,但有些選項的值不可接受

6Server修改配置項后再次發送Configuration Request

7Client發送一個Configuration Ack,標示所有配置參數全部認識且可以接受

PPP協議的身份認證

LCP協商完成后,PPP協議的Server端會對Client端進行身份驗證,在LCP協商中已經協商好身份驗證協議,本文以MS-CHAP-2為例說明

 

 

 

   1  ServerClient發送Challenge,其中包括一個Challenge string(value字段)Server Name(pptpd)

    2  ClientServer發送Response,其中用戶名使用明文發送,密碼(syberos)Challenge字段混合hash后以密文(value字段)形式發送

    3  Server讀取密碼文件,對用戶身份進行驗證,驗證成功,向Client發送Success,表示身份驗證成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM