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