安装server端
yum install –y pptpd安装,会安装2个包,pptpd和ppp。
配置server端
vim /etc/pptpd.conf
localip 66.66.66.1
remoteip 66.66.66.2-100
#Encryption
require-chap
#Network and Routing
ms-dns 114.114.114.114
ms-dns 8.8.8.8
vim /etc/ppp/chap-secrets
配置用户和密码
#client server secret IP addresses
test-pptp * 123456 *
*为不指定
启动systemctl start pptpd
vpn连接抓包
三次握手建立tcp连接
10.2.21.19->10.2.21.13向端口1723发起连接请求

PPTP控制链接和隧道的建立






client向server发起outgoing-call-request请求建立pptp隧道,消息中包含GRE报头中的callid,该callid可以唯一标示一条隧道。
server向client响应outgoing-call-replay,应答客户端建立PPTP隧道请求,消息中包含自身的callid和Peer call ID。
PPP协议的LCP协商
LCP是PPP协议的链路控制协议,负责建立、拆除和监控数据链路。协商链路参数,如认证方法,压缩方法,是否回叫等。


PPP协议的身份认证

PPP协议的NCP协商和CCP协商
NCP协议是PPP协议的网络控制协议,主要协商双方网络接口参数、配置虚拟端口、分配IP和DNS等信息。

PPTP协议参考RFC文档https://tools.ietf.org/html/rfc2637
通过VPN访问网站抓包
客户端66.66.66.2访问183.3.224.114。
客户端10.2.21.19向pptp server 10.2.21.13发起vpn请求
IP层之后有GRE头,PPTP头,payload(IP层66.66.66.2->183.3.224.114,TCP层srcPort:59724->dstPort:80)

PPTP server10.2.21.13再请求183.3.224.114

183.3.224.114响应PPTP server 10.2.21.13

PPTP server 10.2.21.13响应消息给10.2.21.19

2万+



被折叠的 条评论
为什么被折叠?



