- 环境搭建并捕获通信数据包
2,结合RFC规范文档,对数据包就行解析:提取挑战随机数、对等挑战随机数、挑战响应值等关键数据;
如上图所示搭建完成。然后打开wireshark开始抓包。Win10端是192.168.73.131,Ubuntu端是192.168.73.137
协商为chapV2为通信算法。
客户端发送的十六字节的哈希验证码。
用户端发送的49字节的哈希。
验证成功后捕获到success的数据包。
3,编程进行chap验证
可以看出与第二个包中的24个字节是一样的。
Ubuntu的配置自不必多说,CHAP-2的验证原理就像上文中图片抓到的数据包显示的那样,通过客户端的十六个字节和认证端的前十六个字节的认证,得到认证端中间24个随机数列。
【P.S】特别鸣谢各个大佬:
代码来源(代码记得配置好环境,并且头文件引用有问题的话还需要修改include文件夹的user权限然后将头文件代码中的引用位置修改为自己的安装位置):CHAP验证.zip资源-CSDN文库https://download.csdn.net/download/weixin_43778378/12544971openssl环境配置(尽量使用文中展示的openssl版本):在Ubuntu18.04.2服务器下搭建PPTP_ubuntu18.04搭建pptp服务器_日暮天涯的博客-CSDN博客
https://blog.csdn.net/luo920605/article/details/97814353?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168083330716800180694582%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168083330716800180694582&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-13-97814353-null-null.142^v81^wechat,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=pptp%20vpn%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA&spm=1018.2226.3001.4187