uwu
早已听闻可以绕过校园网验证实现无验证上网功能,以前早就想做了却一直拖啊拖,直到前天晚上直接肝完了这个玩意,中途踩了阿里云这个坑设置弄了半天。折腾一时爽,一直折腾一直爽就对了,最终效果还是不错的,至少能在紧急时候或者话费欠费时候弥补下。这片文章就直接以实验目的为主,具体原理的话后期有空会补充上,那么就直接来看看吧
实现原理
在连接到某个需要 Web 认证的热点之前,我们已经获得了一个内网 IP,此时,如果我们访问某个 HTTP 网站,网关会对这个 HTTP 响应报文劫持并篡改,302 重定向给我们一个 web 认证界面(所以点 HTTPS 的网站是不可能跳转到 web 认证页面的),可以见得是利用了dns查询地址信息,但网关并不会将未验证后的我们的IP信息转发到互联网上,了解到大部分的网络设备都会放行DHCP(UDP67)和DNS(UDP53)的报文,我们就可以利用DNS隧道和DHCP隧道来进行转发绕过验证
准备工具
- 一台VPS(要带公网ip)
- 一台主机
- Softether server
- Softether client
- xShell或者别的连接SSH的软件
折腾开始
本次试验在无网络验证下进行
这里我先试着用阿里云的学生优惠的ECS主机,因为价格便宜可以买下玩玩,反正1个月9.8元左右还是算挺好的,于是就买了3个月。
首先连上自己的热点不连接校园网情况下,在命令提示符下敲
nslookup www.baidu.com(或者别的)
查询dns服务器,要是看到有回显服务器和IP地址的话,说明没有对dns报文进行过滤,可以尝试下一步
检测下网络上是否对53端口所有的UDP数据包进行过滤,可以用github上的这款工具进行检测
UDP53测试
,在命令提示符下运行测试的python文件。
如果出现图上箭头所显示的
**Sad face, but DNS Tunnel is an option.**
那么基本上宣告了成功不了(放弃)
如果显示的是:
**Congratulations, you may wanna try OpenVPN!**
那么恭喜那你就能尝试接下来的步骤
Softether 云端的搭建
打开我们刚买的云服务器,通过Xshell连接上去或者别的方法都可以,这里我就直接用阿里云上直接远程连接到服务器了。
vps的系统环境我选择linux系统中的Centos 7
32位下载的地址:
wget http://cfya.cfyqy.com/vpn_tool/softether-vpnserver-v4.27-9668-beta-2018.05.29-linux-x86-32bit.tar.gz
64位下载的地址:
wget http://cfya.cfyqy.com/vpn_tool/softether-vpnserver-v4.27-9668-beta-2018.05.29-linux-x64-64bit.tar.gz
下载完后用 tar -zxvf 解压这个压缩包
等待解压完后 用ls命令可以看到一个vpnserver文件夹的位置,接着
cd vpnserver
移动到此路径下进行安装命令
./.install.sh
然后输入3个连续的1(1是查看说明,3好像可以直接跳过,没试过下次试试)
当上面的步骤结束后,开启服务
./vpnserver start
然后进行简单的配置,输入
./vpncmd
依次1,回车到底后输入
ServerPasswordSet
设置好自己的服务器管理密码后,就可以退出了
Softether server manager 设置
关于Softether的官网已经被国内墙了,所以你需要翻墙出去才能下载。
下载完Softether server manager软件后,打开新建一个设置
按照以下图上说明进行设置
连接你设置的服务器,首次连接需要输入服务器的管理员密码,然后在弹出的”SoftEther VPN Server/Bridge 简单安装”面板中,选择“VPN的其他高级配置”即可
完成后连接进入后,显示此界面
创建一个虚拟HUB或者用默认的都可以
接着进入虚拟 NAT 和 虚拟DHCP进行设置(如果会网络的可以在配置里进行更改)
完成设置后,再回到连接进去时候的界面,点击加密与网络完成以下设置
这样就已经把服务端管理设置完毕了,接下来只需下载Softether client进行连接即可。
Softether client 连接设置
新建VPN连接设置
设置完后进行连接即可,快来试试是不是可以免验证上网吧owo
性能测试
看这测试的结果也算是比较满足吧,毕竟小水管,推荐可以去国外的主机商如:vulter或是搬瓦工购买vps,带宽会比国内高些,国内的话基本上都是很大限制带宽就连提升1M都要花不少的费用还是算了吧。
注意事项
如果按照上面步骤后完成后依然无法在未验证情况连接上服务的话,请检查下云服务器的防火墙设置,阿里云的话要自行开放端口53出入站规则,否则无法连接。
结尾语
其实折腾下也蛮好玩的,虽然1M的小水管真的只能拿来看看网页和聊QQ,其他的还是算了吧,不过可以在有时候断网情况下继续利用校园网免验证的方法去上网查找资料。这次也算是学习到了,这次只是一种最简单方便的dns隧道绕过校园网验证方法,当然还有邻居八比特提到的 tcp over dns 的方法只不过还没尝试,别的还有dns2tcp等一系列的方法,在之后我有空会一一尝试并写成文章发表。感兴趣的也可以看看dns隧道技术原理。还有些方法后期会补上哒。
Comment here is closed