dns2tcp包装说明

Dns2tcp是一种网络工具,通过DNS流量中继的TCP连接。封装完成在TCP层,因此没有特定的驱动程序是必要的(即:TUN / TAP)。 Dns2tcp客户端并不需要与特定权限运行。

Dns2tcp是由两部分组成:一服务器端工具和一个客户端的工具。服务器具有在配置文件中指定的资源的列表。每个资源是本地或远程服务监听TCP连接。客户端侦听一个预定义的TCP端口和继电器通过DNS到最终服务的每个入站连接。

资料来源:http://www.hsc.fr/ressources/outils/dns2tcp/
dns2tcp首页 | 卡利dns2tcp回购

  • 作者:奥利维尔Dembour
  • 许可:GPL第二版

包含在dns2tcp包工具

dns2tcpd - dns2tcp服务器组件
[email protected]:~# dns2tcpd
Usage : dns2tcpd [ -i IP ] [ -F ] [ -d debug_level ] [ -f config-file ] [ -p pidfile ]
     -F : dns2tcpd will run in foreground

dns2tcpc - dns2tcp客户端组件

[email protected]:~# dns2tcpc
No DNS given, using 192.168.1.1 (first entry found in resolv.conf)
Missing parameter : need a dns zone
dns2tcp v0.5.2 ( http://www.hsc.fr/ )
Usage : dns2tcpc [options] [server]
    -c          : enable compression
    -z <domain> : domain to use (mandatory)
    -d <1|2|3>  : debug_level (1, 2 or 3)
    -r <resource>   : resource to access
    -k <key>    : pre-shared key
    -f <filename>   : configuration file
    -l <port|-> : local port to bind, '-' is for stdin (mandatory if resource defined without program )
    -e <program>    : program to execute
    -t <delay>  : max DNS server's answer delay in seconds (default is 3)
    -T <TXT|KEY>    : DNS request type (default is TXT)
    server  : DNS server to use
    If no resources are specified, available resources will be printed

dns2tcpd用法示例

[email protected]:~# cat >>.dns2tcpdrc <<END
listen = 0.0.0.0
port = 53
user=nobody
chroot = /root/dns2tcp
pid_file = /var/run/dns2tcp.pid
domain = dns2tcp.kali.org
key = secretkey
resources = ssh:127.0.0.1:22
END
[email protected]:~# dns2tcpd -f .dns2tcpdrc
[email protected]:~#

dns2tcpc用法示例

[email protected]:~# cat >>.dns2tcprc <<END
domain = dns2tcp.kali.org
resource = ssh
local_port = 2139
key = secretkey
END
[email protected]:~# dns2tcpc -f .dns2tcprc
[email protected]:~# ssh [email protected] -p 2139 -D 8090
The authenticity of host '[localhost]:2139 ([127.0.0.1]:2139)' can't be established.
ECDSA key fingerprint is aa:bb:1f:cc:f1:ab:7c:71:9b:62:37:8c:f1:60:2e:98.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:2139' (ECDSA) to the list of known hosts.
[email protected]'s password:
Linux flw 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64

The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue May  6 22:54:15 2014 from beast.fritz.box
[email protected]:~#

dns2tcpc实例详细信息

在这种情况下,我们将隧道的一些交通来自客户端的外围防火墙,以我们自己的服务器后面。由于dns2tcp使用DNS(请求TXT记录(子)域内)存档的目标,我们需要创建一个NS记录为一个新的子域名指向我们的服务器的地址。

dns2tcp.kali.org. IN NS lab.kali.org.

没有必要为一个DNS服务器安装。但请记住,你可能添加了一个新的NS到一个真正的DNS区域。它可能需要一段时间,直到新的子域名为“主动”。

在接下来的步骤(dns2tcpd用法示例),我们建立我们的服务器上的配置文件(lab.kali.org),然后启动守护进程。为了确保一切工作正常,你会考虑使用选项“-F”(在前台运行)和“-d 1”(调试)在第一次启动。

现在,您可以配置主机(dns2tcpc用法示例),并运行该工具的客户端部分。现在的隧道建立,并可以使用ssh([email protected] 2139 -D 8090)连接到远程框。请记住使用遥控盒(lab.kali.org)的用户名,因为连接进入端口2139(-p 2139)。交通到此端口获取通过DNS隧道(因为dns2tcp客户端侦听此端口)连接到远程服务器(如您的dns2tcp服务器等待端口53上的入站连接)。虽然通过ssh连接到远程机器,你还创建了一个额外的侦听器,您的ssh命令(-D 8090)。该端口可以作为SOCKS代理,交通也将tunneld到远程框。