.TH dns2tcpc 1 .SH NAME dns2tcpc \- A tunneling tool that encapsulate TCP traffic over DNS. .SH SYNOPSIS .B dns2tcpc [ .B \-h ] [ .B \-c ] [ .B \-z .I domain zone ] [ .B \-d .I debug_level ] [ .B \-r .I resource ] [ .B \-k .I key ] [ .B \-f .I config_file ] [ .B \-e .I command ] [ .B \-T .I request type ] [ .B \-l .I local_port ] [ .I server ] .br .ad .SH DESCRIPTION dns2tcpc is a network tool used to encapsulate TCP communications in DNS. When connections are received on a specific port all TCP traffic is sent to the remote dns2tcpd server and forwarded to a specific host and port. Multiple connections are supported. .PP dns2tcpc was written for demonstration purposes. .SH OPTIONS .TP .BI -h Help Menu .TP .BI -c Enable DNS compression. When used, be sure that all relay and DNS server support compression and really use it. .TP \fB\-z\fR \fBdomain zone\fR Use this domain as endpoint. .TP \fB\-d\fR \fBdebug level\fR Change debug level. Levels available are 1, 2 or 3. .TP \fB\-r\fR \fBresource\fR Remote resource to access. .TP \fB\-k\fR \fBkey\fR Pre shared key used for authentication (identification). .TP \fB\-f\fR \fBconfig file\fR Configuration file to use. .TP \fB\-T\fR \fBrequest type\fR Request type to use. Actually only KEY and TXT requests are supported. .TP \fB\-e\fR \fBcommand\fR Command to execute, I/O are redirected in the tunnel. .TP \fB\-l\fR \fBlocal_port\fR Local port accepting incoming connections (or - for stdin on UNIX systems). .TP \fB\-t\fR \fBconnection timeout\fR Maximum DNS server's answer delay in seconds. A valid delay is between 1 and 240 seconds. Default is 3. .TP \fBserver\fR DNS server to use. The first entry in resolv.conf file will be chosen if the server is not specified. .SH CONFIGURATION FILES By default ${HOME}/.dns2tcprc is used if no configuration file is specified. Here is an example : .TP .nf .in 7 domain = dns2tcp.hsc.fr resource = ssltunnel local_port = 4430 enable_compression = 0 debug_level = 1 key = mykey # DNS to use server = ns.hsc.fr .fi .SH EXAMPLES .PP .IP "\fB\f(CWdns2tcpc -k mykey -z dns2tcp.hsc.fr mydns\fP" .IP Ask the dns2tcp server to list available resources. .IP .IP "\fB\f(CWssh -o 'ProxyCommand dns2tcpc -r ssh -l - -z dns2tcp.hsc.fr -k mykey mydns' myserver\fP" .IP Use dns2tcp as a proxy command with ssh. We try to connect to the ssh resource with the key 'mykey' and the DNS mydns. .IP .IP "\fB\f(CWdns2tcpc -r socat-resource -e '/bin/bash -i' -k mykey -z dns2tcp.hsc.fr mydns\fP" .IP Use dns2tcp as a reverse shell, the remote shell will appear on the socat-resource. .IP .IP "\fB\f(CWdns2tcpc -d 1 -f /dev/null -r ssl-tunnel -l 2000 -k mykey -T KEY -z dns2tcp.hsc.fr mydns\fP" .IP Do not use the default configuration file, bind local port 2000 and forward all the traffic on the remote ssl-tunnel resource, use the first debug level. Use KEY type DNS requests. .IP .SH AUTHORS Olivier Dembour .SH SEE ALSO ssltunnel