登录
  • 人们都希望被别人需要 却往往事与愿违
  • 一个人如果30岁以前没有相信过共产主义, 他缺乏良心; 如果到30岁以后还相信共产主义, 他没有头脑@克列蒙梭 (法国政治家)

UDP 53免费上网、DNS隧道经验谈

IT那些事 Benny小土豆 28472次浏览 2758字 188个评论
文章目录[显示]
这篇文章在 2018年05月18日13:23:34 更新了哦~
郑重声明:
本文仅供研究学习技术交流,请勿用于商业及非法用途。如产生任何纠纷,与本人无关。

这是一篇回炉重炒的福利文

本文将介绍一种绕过Web认证来免费上网的姿势,不敢保证在所有网络环境下都好用,但是至少我已经享受一段时间免费的待遇了。

一. 原理简介

在连接到某个需要Web认证的热点之前,我们已经获得了一个内网IP,此时,如果我们访问某个HTTP网站,网关会对这个HTTP响应报文劫持并篡改,302重定向给我们一个web认证界面(所以点HTTPS的网站是不可能跳转到web认证页面的)。详细原理可以戳这里

我们看到了,网关(或者说交换机)都默认放行DHCP 和DNS报文,也就是UDP53与UDP 67。有些网关甚至不会报文进行检查,这也就意味着任何形式的数据包都可以顺畅通过。

既然如此,我们就可以在公网搞一台服务器,然后借此来免费上网,顺便还能防止网络审计——再一次画了删除线的"免费",其实只是把钱花在服务器上了。我们这次免费上网的主要突破点就是UDP 53,当然了,据一位朋友实践,UDP 67也可以绕过Web认证,甚至是那些UDP 53无法绕过的热点。当然啦,TCP 53也行,毕竟DNS也有TCP的。

二. 环境检测

废话不多说了,连上热点并且不要进行认证,打开cmd(或者GNU/Linux的终端),输入如下内容

nslookup www.baidu.com

这是我的结果

UDP 53免费上网、DNS隧道经验谈

我在没有进行Web认证的情况下成功查询到的IP地址,但是我们并无法确定网关是放行了UDP 53的所有数据包还是只放行了DNS报文。所以我们要进一步测试下!如果连这都过不了,那还是洗洗睡吧。好吧,说实话,脚本其实是测试TCP的53。

2016年9月10日更新:用我的这个小工具试试吧(此工具测试的其实是TCP53,但是如果允许TCP,那么UDP也肯定没问题)

项目地址
去Git仓库下载源码,之后Linux用户运行

python UDP53.py

Windows用户直接双击dist下的udp.exe吧!

下图是Windows下的运行结果UDP 53免费上网、DNS隧道经验谈

有人会问,为何你两次nslookup得到的IP不同呢?想都不用想,百度肯定是在全国各地都部署了内容分发节点,就近访问啊。

三. 实战:允许任何类型数据包通过的网关(提示congratulations)

遇到这种情况,那就是人生中最幸运的事情啦!想法很简单,既然允许任何类型是数据通过UDP 53,那我就在外网搭建一个UDP 53的服务,然后连接上就好了。

使用UDP 53的OpenVPN(UDP 67同理)

这种情况我选择搭建OpenVPN的UDP 53(或者也可以试试UDP 67),搭建方法我已经在半年前的博文《SoftEther VPN Server安装手记+福利》提到了,只需要最后开启UDP 53的OpenVPN即可。

UDP 53免费上网、DNS隧道经验谈

PS,APP Store大陆区早就封杀了OpenVPN,我来给你们提供一个美国住址来注册美区账号吧

5200 Zoo Dr,Los Angeles, CA 90027
(323) 668-0104

其实,如果是完全放行53(TCP、UDP),那么弄个Shadowsocks也行,开个全局呗。
如果此时抓包,咱能发现,wireshark会告诉咱DNS协议下那些都是malformed packet,必然呐……

四. 实战:仅允许DNS报文通过的网关(提示sad face)

这种情况下,我劝你还是放弃吧。但是并不是不可以免费上网,有一种技术叫做DNS隧道,还有Ping隧道→_→人们为了免费上网还真是什么方法都用上了啊。

据称在某些情况下DNS隧道效果也很好,我没有测试过

万能的SoftEther VPN Server同样提供了这个略显鸡肋的功能

加密与网络-VPN over ICMP / DNS 设置

UDP 53免费上网、DNS隧道经验谈

注意,需要使用SoftEther VPN Client 管理工具4.0以上,VPN over DNS不可以与OpenVPN with UDP 53共存。

之后在SoftEther VPN Client 管理工具中新建连接,填入相关信息即可。

这里我的测试不太多,我从国外论坛上找到这么一句话:

Softether client got it's TCP protocol on top of it's priority as it's the stable one, UDP on Nat-t comes next, then ICMP and then DNS. of all these protocol only the vpn over DNS did not work for me as it fails to retrieve the right ip and gateway.

SoftEther VPN Client先尝试TCP协议,然后尝试UDP on Nat-t,然后再Ping隧道和DNS隧道。

下图是勉强成功建立DNS隧道的截图。

UDP 53免费上网、DNS隧道经验谈

五. 注意事项

1.速度

允许所有数据包通过UDP 53的情况下,速度主要取决于你的服务器的出网带宽热点本身的网速

2.IP问题

服务器在外地,所以淘宝支付宝之类的需要验证码之类的。以后如果申诉也要记得把登陆地区选上服务器所在地。

3.安全问题

某些热点是公开的、没有密码保护的,所以可以很轻松的搞中间人攻击——甚至是root的Android手机都可以做到。而OpenVPN可以防止中间人攻击(配置文件里有服务器的证书),同时我使用了AES-128-CBC加密,搞定网络审计简直是轻轻松松的。

六. 服务器的选购

国内VPS价格普遍离谱,恰巧我还是学生党,也算捡到了大便宜→_→不是学生党谁想着免费上网的心思啊?

其实大部分人最关心的问题还是速度吧!

UDP 53的OpenVPN速度主要限制就在热点本身的速度和服务器的出口带宽速度。腾讯云学生版带宽都是1Mbps,所以限制基本就是服务器出口带宽了……

所以下面给大家贴出来我在腾讯云和阿里云撕逼的经验(传说七牛今年也会推出云主机,我很期待啊

腾讯云:

策略是,每个月赠送"满65元减64元"优惠券,包年包月1核1G内存1Mbps恰巧是65元。至于你怎么凑满那65元,是没有限制的。但说实话,要是选择按流量计费,那流量是很不耐用的...!

阿里云:

价格要比腾讯云稍微贵一点点(接近十块钱),但是可以在购买界面直接选择其他数值的峰值带宽,并且每月赠送15G出网流量。

但是,他丫的要签到!自己看去……

UDP 53免费上网、DNS隧道经验谈

国内学生云服务器优惠也就这两个马家了……

七.买不起服务器、不会搭建、网速太慢

这你叫我咋办。

八. 最后

给大家看看百度的广告,或者是"推广"吧。

TMD整个第一屏都是广告,没有一个字和学生二字贴边。

UDP 53免费上网、DNS隧道经验谈

 


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://www.bennythink.com/udp53.html
喜欢 (81)
分享:-)
Benny小土豆
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论(代码和日志请使用Pastebin或Gist)
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(188)个小伙伴在吐槽
  1. openvpn 53端口连不上。。测试软件显示sad,。改用dns隧道。。就是客户端不会设置
    蓝色海洋2019-11-05 11:43 回复
  2. 用windows系统腾讯云搭了服务器。。不认证情况下openvpn053连不上。。改用dns 隧道。。服务器用SoftEtherVPN设置好了,也开了dns隧道的设置。请问自己笔记本客户端怎么连接?需要在客户端进行额外设置吗?
    蓝色海洋2019-11-05 11:41 回复
    • Benny小土豆
      dns隧道貌似要用softether vpn,就是他的那个客户端
      Benny小土豆2019-11-05 12:05 回复
      • 我用softether vpn client连不上。。。需要额外设置吗
        蓝色海洋2019-11-05 16:17 回复
        • Benny小土豆
          那就不知道了……😭
          Benny小土豆2019-11-05 16:18
  3. 使用openvpn连接是提示Options error: You must define CA file (--ca) or CA path (--capath)应该怎么办,Google搜了好久也没找到解决方案
    Alice2019-10-27 11:15 回复
    • Benny小土豆
      这个是你导出的配置文件不对,再次导出,或者把证书倒出来,手动添加
      Benny小土豆2019-10-27 17:23 回复
  4. 土豆土豆,我这边连接上后就显示WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for mor
    AKKO2019-10-16 14:05 回复
  5. 服务器网关端口都关闭怎么了破呢
    2019-10-14 17:59 回复
    • Benny小土豆
      什么意思呢?
      Benny小土豆2019-10-14 19:44 回复
      • 就是学校把网关都关闭了,53,67,68,69都不能上了,有什么办法解决吗? :???:
        2019-10-15 09:57 回复
        • Benny小土豆
          DNS隧道,ping隧道,嘿嘿
          Benny小土豆2019-10-15 13:00
      • 请问ping隧道和DNS隧道的实现方法,可以单独一个帖子嘛?
        晚饭2019-10-15 14:10 回复
        • Benny小土豆
          here https://www.bennythink.com/softether-vpnserver.html
          Benny小土豆2019-10-16 17:25
  6. 土豆你好,我在架设这个服务器的时候 udo53 和 67 并不能链接,按照下面的步骤打开了 vpn over dns,连上了之后速度和服务器的带宽明显对不上,服务器用的是美国的Hostwinds,1T的带宽,可是这样绕过去之后速度只有100k,这是为什么呢
    南风2019-10-08 19:50 回复
    • Benny小土豆
      vpn over dns本身就慢,再加上你服务器在美国:-(
      Benny小土豆2019-10-10 14:13 回复
  7. 大佬请问我用你的方法搭成功了裸连youtube可以2k但连国内网特别慢怎么办,我是景文互联的日本服务器.
    Satlno2019-09-19 10:58 回复
    • Benny小土豆
      你需要个国内的服务器
      Benny小土豆2019-09-22 20:06 回复
  8. 你好,我这个 windows 上的 softether 管理器连接不上设置的服务器怎么办,希望小土豆翻牌,感谢
    anan2019-04-27 21:30 回复
    • Benny小土豆
      他默认会监听8888 443 992 5555端口,换着试试。另外netstat -tunlp确保真的在监听了,确保不是因为防火墙(安全组)
      Benny小土豆2019-04-28 09:25 回复
  9. 土豆你好,我在架设这个服务器的时候 53 和 67、68 都不能链接,提示 TLS key negotiation failed to occur within 60 seconds (check your network connectivity)和 TLS handshake failed ,然后把.ovpn文件发给不同学校的人连却链接的上。自己这里却不行,怎么解!!!
    lavin2019-04-13 23:41 回复
    • 总觉着是你本地交换机不放行啊哈哈哈哈哈哈哈
      楚不觉2019-04-23 13:19 回复
  10. 给其他不愿意向学校屈服的人给个建议, 直接搭建openvpn。不要用vpnserver搭建, cpu占用问题解决了,而且延迟降低了。 然后推荐下各位,阿里服务器学生机不错,1G内存 1核 5M带宽,50G硬盘 10元一个月。
    1452019-04-13 19:03 回复
    • 大佬,直接搭openvpn有没有教程链接啊?
      酷乐猫2019-05-18 21:51 回复
      • Benny小土豆
        https://www.bennythink.com/softether-vpnserver.html
        Benny小土豆2019-05-18 22:24 回复
  11. 土豆你好,我在架设这个服务器的时候udo53和67并不能链接,提示TLS handeshake failed 按照下面的步骤打开了vpn over dns ,但是却不能和53端口同时使用,请问那openvpn的监听端口应该怎么改,客户端是用tcp还是udp
    速度小慢2019-04-04 23:31 回复
    • Benny小土豆
      在openvpn的设置那块,你改成别的或者直接禁用就好了
      Benny小土豆2019-04-05 11:58 回复
  12. 小土豆,openvpn最后一步链接是显示 Sat Mar 30 16:10:22 2019 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) Sat Mar 30 16:10:22 2019 TLS Error: TLS handshake failed 是啥情况?步骤我都按照教程来的 另外我openvpn也会出现 Sat Mar 30 16:11:52 2019 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. 我服务器是洛杉矶的vultr CenOS6 64位
    一路向北2019-03-30 16:13 回复
    • Benny小土豆
      嗯~其实我也不知道,你换个OpenVPN的端口试试?也许可能是因为GFW?
      Benny小土豆2019-03-30 23:03 回复
  13. 我ping手机热点ping百度延迟60 ,然后我用openvpn以后再ping百度延迟无限大,我用服务器端ping百度,延迟才2.3 为什么搭建了以后延迟那么高?
    1452019-03-22 13:21 回复
    • Benny小土豆
      也许是你的手机和openvpn之间延迟的缘故?或者openvpn服务器有防火墙策略
      Benny小土豆2019-03-22 13:25 回复
      • 我看我服务器莫名其妙cpu占用100% 会不会是这个原因?
        1452019-03-22 13:30 回复
        • Benny小土豆
          理论上来说,有可能。
          Benny小土豆2019-03-23 14:25
      • 我发现只要连上这个东西,服务器cpu占用率就直接100%,然后紧接着就是ping延迟各种跳, 即使没有任何设备连接到服务器, cpu占用还是很高, 有什么方法能解决?,顺便请教下, 什么加密算法对cpu要求小的。
        1452019-03-23 18:15 回复
        • Benny小土豆
          你是同时开了本地桥和secure NAT吧…
          Benny小土豆2019-03-23 18:16
      • 没开本地桥。 就开了secure nat。 但是cpu占用就是很高, 不过我vps蛮垃圾的,就1核心。
        1452019-03-23 19:55 回复
  14. 用ss的话最好用debian,ubuntu实测53端口会冲突。。。。
    bibi2019-03-21 20:30 回复
    • Benny小土豆
      那是因为Ubuntu 18.04之后DNS解析交给了systemd-resolved,默认监听TCP 53……
      Benny小土豆2019-03-22 08:55 回复
      • 话说openwrt的路由器的话,默认53端口也被dnsmasq占了,怎么破。。。
        bibi2019-03-23 14:20 回复
        • Benny小土豆
          换端口 哈哈哈!
          Benny小土豆2019-03-23 14:25
      • dnsmasq换dns解析端口后,好像路由器所有依赖dns解析的程序都挂了。。。。
        bibi2019-03-23 14:47 回复
        • Benny小土豆
          当然的啦~我是说让你VPN换端口???
          Benny小土豆2019-03-23 15:12
        • 额我是想路由器53端口开ss server,换了就没意义了。。。
          bibi2019-03-24 03:21
        • Benny小土豆
          那么~端口复用,这难度很高了
          Benny小土豆2019-03-25 09:49
        • SS支持resueport,但dnsmasq好像不行。不过dnsmasq只监听了内网的53好像。尝试用iptables -t nat -A PREROUTING -p tcp -i eth0.2 --dport 53 -j REDIRECT --to-port 9110这种把外网到路由器53端口的数据转发到ss监听的端口,勉强可以用了。但不知道为啥,路由器下面的设备连接外面设备的53端口全连不上了。。。
          bibi2019-03-25 10:22
  15. 大佬 我现在无论在softether client还是server管理软件上都找不到“加密与网络”跟“ VPN over ICMP / DNS 设置”这两个选项,问一下这个选项在哪里有?版本是4.29 ,build9678 谢谢大佬
    冲冲冲2019-03-07 11:44 回复
    • Benny小土豆
      看这里https://imgchr.com/i/kzyJb9
      Benny小土豆2019-03-08 15:57 回复
  16. 哦一键ss那设端口没说是端口没说tcp还是udp 我找找事怎么设udp的先 在服务器设就ok了吧(用的shandowsocks)因为ss软件里没有找到 感谢
    lay2019-02-26 19:44 回复
    • Benny小土豆
      shadowsocks原版是tcp协议的。
      Benny小土豆2019-02-27 14:06 回复
  17. 用ss的话该如何设置啊 服务器里端口设了53还有客户端里设了53端口(代理端口也一样)也不行啊到底是设置出问题了还是少了步什么东西啊
    lay2019-02-26 19:35 回复
    • Benny小土豆
      是这样配置。TCP 53不行就UDP 53吧,都不行就换个端口看看吧
      Benny小土豆2019-02-26 19:40 回复
  18. TLS吗? TLS Error: client->client or server->server connection attempted from [AF_INET]115.220.219.14:53
    tacnp2019-02-20 17:39 回复
    • openvpn登录时问题
      tacnp2019-02-20 18:01 回复
  19. 大佬请问我连上了,没网是什么情况呢。用的是53端口+腾讯云服务器。
    用盆吃饭2019-01-24 19:37 回复
    • Benny小土豆
      没网?哪种方式?连上了就应该没问题的吧
      Benny小土豆2019-01-25 09:18 回复
  20. 请问博主目前使用的vps是哪家的,小弟最近校内免费上网用的服务器失效了,目前有阿里云学生机购买资格,看了一下价格是114一年,带宽5m,问一下博主你用的是哪种vps?5m带宽是否可以后续加钱上更高带宽,小弟没有了解过国内vps价格,请博主解答一下,谢谢您一直的帮助。
    Leo2019-01-02 19:20 回复
    • Benny小土豆
      目前日本vultr,国内我只用过华为、阿里、腾讯、美团。国内这些计费挺复杂的……
      Benny小土豆2019-01-03 09:14 回复
      • 谢谢博主指路。目前拿下一台图书馆的xp电脑在做softher的server端,但是老师莫名其妙断网然后过一会又好了,期间qq可以发消息但是其他都不可以,openvpn没有断开,我一点思绪都没有,不知道问题出在哪里,貌似没有使用的时候不会出现这种情况,但是一使用,有时候几个小时有时候几分钟断一次,排除了客户端的问题,手机端和路由器端都是如此,不知博主有没有思绪,路由器的日志如下: Jan 3 15:59:54 K2P: starting OpenVPN client... Jan 3 15:59:54 openvpn-cli[2468]: WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead. Jan 3 15:59:54 openvpn-cli[2468]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts Jan 3 15:59:54 openvpn-cli[2468]: ******* WARNING *******: '--cipher none' was specified. This means NO encryption will be performed and tunnelled data WILL be transmitted in clear text over the network! PLEASE DO RECONSIDER THIS SETTING! Jan 3 15:59:54 openvpn-cli[2468]: WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this Jan 3 15:59:55 openvpn-cli[2468]: ******* WARNING *******: '--cipher none' was specified. This means NO encryption will be performed and tunnelled data WILL be transmitted in clear text over the network! PLEASE DO RECONSIDER THIS SETTING! Jan 3 15:59:55 openvpn-cli[2468]: do_ifconfig, tt->did_ifconfig_ipv6_setup=0 Jan 3 15:59:55 vpnc-script: tun0 up Jan 3 16:01:15 di: Internet state: 0, elapsed time: 86s. Jan 3 16:04:22 di: Internet state: 1, elapsed time: 197s. Jan 3 16:05:48 di: Internet state: 0, elapsed time: 86s. Jan 3 16:06:15 di: Internet state: 1, elapsed time: 37s. Jan 3 17:15:59 di: Internet state: 0, elapsed time: 4183s. Jan 3 17:18:27 di: Internet state: 1, elapsed time: 159s. Jan 3 19:56:27 di: Internet state: 0, elapsed time: 9479s. Jan 3 19:56:49 vpnc-script: tun0 down
        Leo2019-01-03 20:44 回复
        • Benny小土豆
          除了说你没设置加密方式,剩下的似乎没什么价值。也许电脑休眠待机了?
          Benny小土豆2019-01-04 09:28
  21. 图片全都不见了
    Ming2018-12-24 15:07 回复
    • Benny小土豆
      It's fine to me. https://imgchr.com/i/F65V6U
      Benny小土豆2018-12-24 15:14 回复
  22. 53 67 68全部不行,怎么整?
    Janch2018-11-26 08:03 回复
    • Benny小土豆
      当然是继续尝试其他端口辣ε=ε=ε=┏(゜ロ゜;)┛
      Benny小土豆2018-11-26 10:58 回复
      • 怎么查哪些端口是否可以?
        Janch2018-11-26 11:00 回复
        • Benny小土豆
          这个,一般来说Web认证是需要53 67 68的……
          Benny小土豆2018-11-26 11:17
        • 大佬现在查到哪些端口可以用了么?或者怎么测试67 68端口能用?
          如风自在2019-03-10 22:32
        • Benny小土豆
          看命呗!
          Benny小土豆2019-03-14 17:22
  23. 你好大佬!刚好社团有几台服务器可以免验证上网,并且也是24小时开机,那能不能也用同样的方式实现宿舍免费上网?
    Chauncy_zzz2018-11-24 15:50 回复
    • Benny小土豆
      如果你和那个服务器能够通的话就可以。
      Benny小土豆2018-11-25 09:29 回复
  24. 大神,冒昧打扰您。 我nslookup可以通,openvpn udp53端口连不上,67 68都可以连上但是速度极慢,用的是内网的一台服务器,我们内网也需要认证。 dns隧道我试过也是连不上,请大神指示。
    小烂毛2018-09-26 18:14 回复
    • Benny小土豆
      67 68连到的是内网的需要认证的服务器?那有什么用嘛……
      Benny小土豆2018-09-27 12:01 回复
      • 你好,那台电脑是不需要认证的,而我在的宿舍是需要认证的,表达有误, :mrgreen:
        小烂毛2018-09-27 12:03 回复
        • Benny小土豆
          那这么说来,如果未认证时你和内网的服务器是通的话,任意端口的openVPN都是可以的;如果不通的话,那就只能尝试特殊端口了,比如53 67 68 等……
          Benny小土豆2018-09-27 12:08
  25. 博主,请问下vpn over dns和openpvn with udp53不能兼容是指我在softether的配置客户端里将udp端口设置成53后会打不开vpn over dns因为这样53就被占用了是嘛? 但是如果我单纯打开vpn over dns然后把端口设置成默认的1194好像并没有办法绕过校园网验证啊
    x1nc3nt2018-09-22 05:10 回复
    • Benny小土豆
      试试67 68
      Benny小土豆2018-09-22 10:00 回复
      • 大佬,如果显示SAD FACE想要用DNS的话是不是也需要买云服务器啊
        如风自在2019-03-10 22:37 回复
        • Benny小土豆
          Benny小土豆2019-03-14 17:22
  26. 嗯嗯不过不知道会不会被学校顺着网线来找我的呀,怕学校会留后门什么的
    lay2018-09-09 14:24 回复
1 2