Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

asche910/FreeWireless

Repository files navigation

FreeWireless

绕过校园网、公共热点认证,从而实现免费上网

前言

很多时候,当流量不够用时,看着周围那么多热点又连不上,是不是有点心痒痒呢?那么有没有办法不需要要通过这些热点的认证即可上网呢?当然是有的。 另外在此强调一点,本教程仅用于学习测试用途,请勿用于不正当的途径!

大体思路

连上那些公共热点,往往都能成功,但是也往往还需要进一步的认证才能够上网。没有认证的时,当我们访问http的网站时,我们的请求会被拦截并跳转至热点(下文就以校园网代表热点了)的登陆认证页面,如图所示。

image

但是,如果直接访问https的话,就是响应超时了,原因应该是https的一些加密导致的吧。

但是,我们发现,某些udp的端口还是开放的,毕竟由于他们的特殊作用。先看看下图

image

上面那个是dns解析的,没有认证的情况下可以成功的解析到结果,说明dns的端口53是开放的。

而下面的ping命令却是超时,这就说明了ping的icmp协议被拦截下来了。因此我们就在dns端口53上下功夫。

后面要做的就是在外部服务器上搭建相应的环境,然后在本地也搭建下环境,这样我们就可以将我们的网络请求通过53端口发送到外部服务器上,外部服务器解析之后请求目标服务器,再将结果返回到本地,总体流程大致即这样。

详细步骤

服务端

这里以我的ubuntu为例,默认gcc环境等依赖安装完成。

ssh登陆服务器后,下载vpnserver

wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.28-9669-beta/softether-vpnserver-v4.28-9669-beta-2018年09月11日-linux-x64-64bit.tar.gz

解压

tar -zxvf softether-vpnserver-v4.28-9669-beta-2018年09月11日-linux-x64-64bit.tar.gz

cd到对应目录,make编译

make

此时提示输入,一路输入1 即yes就是了。

然后启动该服务

./vpnserver start

紧接着

./vpncmd

输入1之后两次回车,后面会提示输入密码,这个密码就当时连接vpnserver的密码吧。

注意:这时如果端口被占用的话,可能会报错,就导致没到密码那一步提前结束了,还是建议为本应用留着那几个端口吧,不行的话可以手动更改目录下的配置文件修改端口。

到这里,服务端的安装完毕。

本地配置

首先下载 SoftEtherVPN ,按我的理解,这个应该是为我们待会的openvpn生成配置文件准备。 下载完成后安装,选择最下面的一个安装 image

安装完成后如下图

image

点击新设置,填写相关信息。名称可以随意填一个,主机名就填你之前的服务器地址,下面端口默认端口443(之前服务端启动监听的),右下角密码就是之前说的那个vpnserver密码。然后确定。之后再连接

image

管理虚拟HUB

image

管理用户

image

再新建

image

其中用户名和密码待会在openvpn中登陆要用到的。

确认之后会弹框显示成功,紧接着

image

image

再确认。之后回到管理界面,点击下图中的

image

然后先填写端口,通常53用的比较多,其次67、68这些。然后点击下面那个,生成配置文件之后解压出来。

image

提取出那个含有remote字眼的文件。

然后还要下载openvpn文件。安装完成之后打开会在任务栏中出现相应的图标,鼠标右键选择导入配置文件,再选中之前解压出来的那个配置文件。然后该图标右键会多了一个选项,选中之后再点击连接。随后会出现用户名密码的认证框,输入之前添加的用户即可。 成功之后如下图所示。

image

这时应该就可以未认证免费上网了。速度的话基本取决于你服务器的带宽。比如我的是1Mb速度,实际也就是100多k吧。如果嫌慢可以选择国外的大带宽vps服务。

跨平台三端

刚刚windows上的已经介绍了,还有Android和ios端。 Android端的安装包,可以在我github中下载,安装完成之后,把之前windows上准备好的配置文件拷贝到手机,然后手机上进入文件管理器,找到文件,打开方式选择openvpn即可。

Ios的为openvpn-connect 国区商店自然是下载不到的,自备美区账号下载吧。下载完成之后,可以先将配置文件通过qq传送到手机,然后打开方式同样的选择openvpn-connect即可。

一些问题

一路上也遇到了不少问题,也简单说下吧。 openvpn那里老是连接不上,报错信息大概是握手失败,多久之后重试之类的。我服务器安全组之前记得放通所有端口了,所以没太在意,后来发现还是这里的问题。原因在于我放通的是TCP端口,UDP还是被我关了,所以打开之后问题解决。

还有就是中午连接成功,也正常上网,可是大概过了几十分钟后,突然又上不了。此时我将端口从53换为67、68皆可以上网,只是速度极慢,看服务器日志显示这些信息

image

感觉是校园网那边检测到dns端口流量异常,因此直接切断了我的这些连接。不过此时nslookup命令同样能工作。

后来到今天晚上,我又试了试53端口,发现又可以成功连接了,而且接下来的几个小时都没有出现啥问题。查看服务器日志,发现还是有不少像之前那样的连接被删除的信息,这里我就有点迷了!

了解到softether还有加密与网络 - VPN over ICMP / DNS的功能,我也试了试,发现打开之后生成的配置文件与之前的比较没啥差别,具体我也仍在探索中。

最后,本文github连接 https://github.com/asche910/FreeWireless

同时,参考文章:

https://blog.csdn.net/qq_35422558/article/details/84316063

https://www.bennythink.com/udp53.html

About

绕过校园网、公共热点认证,从而实现免费上网

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /