PPTP虚拟专用网搭建与抓包分析实验
实验目的:掌握PPP协议VPN的搭建,通过分析pptp建立,理解chap连接建立的过程
实验过程:
环境搭建
Windows 11系统
VMware虚拟机、kaliLinux系统,kali系统使用NAT模式上网
Wireshark抓包软件
RFC2759文档
配置pptp
安装pptp服务
安装wireshark服务
2.配置pptpd.conf
3.编辑PPP选项配置文件
4.编辑用户文件添加用户
5.重启PPTPD服务
Windows主机作为客户端连接PPTP VPN
连接成功
使用wireshark抓包分析
Pptp建立在tcp协议上,首先是tcp三次握手建立连接
客户端向服务器的1723端口发送syn包,服务端收到回复SYN,ACK;客户端回复ACK
Pptp控制-链接请求建立:
客户端发送start-control-connection request
服务端回应start-control-connection reply
客户端发送Outgoing-Call-Request,请求建立PPTP隧道,该消息包含GRE报头中的Callid,该id可唯一地标识一条隧道
服务端发送Outgoing-Call-Reply,应答客户端的建立PPTP隧道请求
客户端发出Set-Link-info,设置PPP协商的选项
PPP协议的LCP协商
双方协调配置参数
身份认证
1.Server向Client发送Challenge,其中包括一个Challenge string(value字段)和Server Name(pptpd)MS-CHAP-V2身份验证程序发送16个八位字节的质询值字段
2、Client向Server发送Response,格式如下
1 octet : Code 1 octet : Identifier 2 octets : Length 516 octets : Encrypted-Password 16 octets : Encrypted-Hash 16 octets : Peer-Challenge 8 octets : Reserved 24 octets : NT-Response 2-octet : Flags
3、Server读取密码文件,对用户身份进行验证,验证成功,向Client发送Success,表示身份验证成功,消息字段包含42个八位字节的验证器响应字符串和可打印消息