zoukankan      html  css  js  c++  java
  • 基于常规DNS隧道进行的tcp端口转发dns2tcp的使用

    0x01 安装Dns2TCP

    dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发。

     

    sudo apt-get install dns2tcp

    0x02配置dns2tcp

     

    配置DNS2TCP服务端

    首先,将你的某个域名(这里以creke.net为例)开个二级域名a.creke.net,类型为NS,NS记录指向b.creke.net。然后将b.creke.net建立A记录指向你的Linux服务器IP(这里以1.2.3.4为例)。如下表所示。

    a.creke.net NS b.creke.net

    b.creke.net A 1.2.3.4

     

     

     

     

    /etc目录建立一个名为dns2tcpd.conf的文件,然后输入以下配置:

    listen = 1.2.3.4(Linux服务器的IP) 
    port = 53 
    user = nobody 
    chroot = /var/empty/dns2tcp/ 
    domain = a.creke.net(上面配置NS记录的域名) 
    resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:8082

    最后的resources里面配置的是dns2tcp供客户端使用的资源。作用是:客户端在本地监听一个端口,并指定使用的资源,当有数据往端口传送后,dns2tcp客户端将数据用DNS协议传动到服务器,然后服务器将数据转发到对应的资源配置的端口中。

    好了,DNS2TCP的服务端配置到此完毕。接下来就是要慢慢等待域名记录的生效了。

     

     

     

     

    0x03启动与关闭DNS2TCP服务端

    以下命令用于启动DNS2TCP的服务端:

    dns2tcpd -f /etc/dns2tcpd.conf

     

    以下命令用于关闭DNS2TCP的服务端:

    killall dns2tcpd

     

     

     

    启动DNS2TCP客户端

    这里再次提醒,要等待a.creke.net的NS记录生效后,才能够继续正常使用客户端。查询是否生效可以使用从各个在线网站查询。

     

    启动DNS2TCP客户端的命令如下;

    dns2tcpc -c -d 1 -l 8118 -r http -z a.creke.net

     

     

    其中:-c表示启用数据压缩;-d表示启动调试,1为调试等级;-l表示监听本地端口,8118为端口名;-r为使用服务端上的哪个资源,http为资源名;-z后的a.creke.net为前面配置的NS记录的域名。

    然后就可以通过将浏览器的代理服务器地址设为127.0.0.1:8118,代理类型为HTTP代理,来通过DNS隧道上网了。

    如果要使用SOCKS代理,则为:

    dns2tcpc -c -d 1 -l 7070 -r socks -z a.creke.net

    以上是通过系统DNS来发送DNS请求的,如果要通过某个DNS服务器,如87.65.43.21来发送DNS请求,则为:

    dns2tcpc -c -d 1 -l 8118 -r http -z a.creke.net 87.65.43.21

    这里要注意,需要首先在Linux服务器配置好HTTP代理或者SOCKS代理。才能利用DNS隧道转发数据包来实现代理。具体可以参考如何使用KingateHTTP代理和SOCKS代理。

     

    就是这样,采用DNS2TCP搭建了DNS隧道,慢慢折腾吧!

     

     

     

  • 相关阅读:
    Webstorm 2018|2019 官网各大版本破解永久有效
    如何在IDEA 中使用Git
    maven的安装与配置(本地仓库、阿里云镜像设置)
    如何设置使chrome新标签页中打开链接自动跳转到新标签页?
    VMware虚拟机安装Linux系统
    Git安装和使用
    Navicat Premium 12.0.18 安装与激活
    HBuilder mui 报错No 'Access-Control-Allow-Origin' header
    spring+redis 报错 org.springframework.core.serializer.support.DeserializingConverter.<init>(Ljava/lang/ClassLoader;)V
    JAVA 注解
  • 原文地址:https://www.cnblogs.com/-qing-/p/10708020.html
Copyright © 2011-2022 走看看