本文将介绍一种通过绕过校园网Web认证来实现免费上网的姿势,不敢保证在所有的网络环境下此方法都适用
一.背景介绍
内地很多大学的校园网都是使用了锐捷认证客户端来认证上网的,大多数校园网存在限制上网流量,零点过后限制上网问题。当然这也是出于学校对学生管理的限制以及校园带宽小问题。
二.原理介绍
在连接到某个需要 Web 认证的热点之前,我们已经获得了一个内网 IP,此时,如果我们访问某个 HTTP 网站,网关会对这个 HTTP 响应报文劫持并篡改,302 重定向给我们一个 web 认证界面,详细原理可以戳这里
网关(交换机)都默认放行 DHCP 和 DNS 报文,也就是 UDP53 与 UDP67/UDP 68。有些网关甚至不会报文进行检查,这也就意味着任何形式的数据包都可以顺畅通过。
既然如此,我们就可以在公网搞一台服务器,然后借此来免费上网,顺便还能防止网络审计,也就是说我们只需把钱花在服务器上,就可以实现免费上网了(是不是很溜~)。
三.环境检测
在未Web认证的情况下向一些公共DNS服务器发送DNS查询包是可以得到正确响应的(这里查询的是百度),而DNS服务器为53端口,通过UDP协议传送数据,由此可见校园网服务器在重定向的时候没有对53端口进行劫持。
废话不多说,先检测网络环境是不是符合免流量上网,先不要进行Web认证(不要登蝴蝶),打开cmd(或者Linux Terminal),输入以下命令:
1 >nslookup www.baidu.com
我的结果如下:
上面在没有进行 Web 认证的情况下成功查询到的 IP 地址,但是我们并无法确定网关是放行了 UDP 53 的所有数据包还是只放行了 DNS 报文。所以我们要进一步测试下!如果连这都过不了,那还是洗洗睡吧。下面提供的工具实际是测试TCP 53端口,但是如果允许 TCP,那么 UDP 也肯定没问题。
去 Git 仓库下载源码,之后 Linux 用户运行
1 >python UDP53.py
Windows 用户直接双击 dist 下的 udp.exe
下图是 Windows 下的运行结果
四.实战(搭建基于UDP53的VPN)
接下来介绍基于UDP53端口的VPN搭建使用的工具、搭建的具体步骤以及注意的事项。
购买云服务器
准备一台具有公网IP的云服务器,国内的云服务商(阿里云、腾讯云、京东云 等等),国外的云服务商(搬瓦工、Vultr 等等)
在这里我推荐购买国内的服务器,理由是阿里云或者腾讯云的云服务器性价比高,而且针对在校学生有学生优惠,这里我购买的是腾讯10RMB/月学生机(可能现在的优惠价格不一样了,之前的学生优惠是1RMB/月)
使用Xshell登录云服务器
Xshell是一个要收费的远程登录工具,下载免费Xshell 戳这里百度网盘 密码:2a3a
下面是登录远程云服务操作:
安装SoftEther VPN Server服务
SoftEther VPN 是日本筑波大学的一个研究项目,是一个开放源代码的跨平台多协议 VPN 程序,它包括服务器端、客户端、服务器端管理工具等数个软件,支持 SSL-VPN (SoftEtherVPN) 协议、 L2TP/IPsec 协议、 OpenVPN 协议和 Microsoft SSTP 协议,Windows、Linux、Android 和 IOS 等操作系统都可以连接到 SoftEther VPN 服务器。
安装SoftEther VPN Server之前,先安装升级GCC环境,输入以下命令:
1 [root@VM_0_6_centos ~]# yum install gcc gcc-c++ make tar -y
下载安装linux版的SoftEther
32 位系统下载,执行下面命令:
1 [root@VM_0_6_centos ~]# wget http://oks2t4o68.bkt.clouddn.com/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x86-32bit.tar.gz
64 位系统下载,执行下面命令:
1 [root@VM_0_6_centos ~]# wget http://oks2t4o68.bkt.clouddn.com/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
将软件包进行解压,然后进入解压后的vpnserver目录,make执行安装
1
2
3 [root@VM_0_6_centos ~]# tar -zxvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
[root@VM_0_6_centos ~]# cd vpnserver/
[root@VM_0_6_centos vpnserver]# make
接下来会有三次选择要求选yes还是no,都选择yes,回车就成功安装softether
1
2
3
4 //启动softether服务
[root@VM_0_6_centos vpnserver]# ./vpnserver start
//进入softether命令行
[root@VM_0_6_centos vpnserver]# ./vpncmd
执行./vpncmd后连续回车两次,进入softether server管理命令行,然后输入ServerPasswordSet,设置管理密码(记住这个密码,马上要用到)。
在本地远程配置softether VPN Server
先在Windows系统下下载安装softether软件,百度网盘 密码: i3e2
安装好以后,按以下步骤配置softether
安装配置openvpn客户端
要下载安装openvpn,戳这里
把这个ovpn文件提取出来,然后放在openVPN的config目录下。
我已经把文件名改为快连我
把所有登陆校园网的账号退出。
打开openVPN,右下角出现一个带锁的电脑图标。
输入之前我们设置的用户的账号密码
电脑图标变为绿色,打开浏览器,就可以无限上网了,拯救地球村的计划成功~,嘻嘻嘻嘻