• DNS隧道绕校园网(原理篇)


    原理分析:

    这里先重点介绍一下原理,以及使用的这几个端口。毕竟知其然不如知其所以然。

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

    这里我做个简单的试验给大家演示一下。就以我的校园网CDTU为例。

    在连接校园网,没有认证的情况下,分别发起一个http和https的请求。

    https请求,脚本会报错,我加了异常处理。

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

    原理图:

    来自百度上的解释:

    53端口:端口说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。

    67和68端口:67是用来接收下级客户请求分配IP 68是向客户发请求成功或失败回应。

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。

    使用这三个端口原理都是相同的。我们就可以在公网搞一台服务器,然后借此来免费上网。

  • 相关阅读:
    使用反射调用某个类的成员方法
    java反射机制
    SVProgressHUD
    __objc__
    loadView
    v2ex 下拉刷新 SCRootViewController
    stuck with
    v2ex 下拉刷新模块
    转载
    vue-cli脚手架构建了项目如何去除Eslint验证(语法格式验证)
  • 原文地址:https://www.cnblogs.com/FSHOU/p/12793436.html
Copyright © 2020-2023  润新知