I'm currently working in Kali and I'm trying to boost my security and anonymity online. Please, bear with me for I am no expert yet. Googling and searching here has yielded useful info but not enough so I though I'd ask a more specific question.

  • proxychains allow me to run network traffic trough a Tor proxy (socks5 9050)
  • dnscrypt encrypts my dns-requests and, if I understand correctly, sends them to the opendns nameservers. For this to happen I altered my resolv.conf (nameserver 53)
  • I have managed to get dnscrypt working with the Tor Browser so that's all well.

However, when I try to use proxychains with dnscrypt so that I could for example run software through the Tor network with encrypted DNS requests there are problems.

If I edit proxychains.conf so that the proxy is (socks5 53) it just times out over and over. How can I make it so that I can for example run nmap through Tor with dnscrypt? Am I missing something? Is this unnecessary? Is there a better way?

If I'm being unclear then let me know and I'll clarify.

  • 1
    I would not recommend running bandwidth intensive applications such as port scanners through TOR. The network as a whole has latency issues already. That being said here was a similar question security.stackexchange.com/questions/73486/…
    – user70532
    Commented Mar 17, 2015 at 14:36
  • 1
    Using Tor for port scanners has been known to have its share of problems like false positives etc. And its really not nice to suck up all that bandwidth. Commented Apr 3, 2015 at 15:41
  • Just curious, what's the motivation to use Tor for port scanners in the first place? Commented Jun 28, 2015 at 3:48

1 Answer 1


Running requests via proxy will break a lot of default options for tools. If you look into how proxychains works you'll find:

SOCKS is a layer 5 protocol. That means it doesn't care about anything below that layer in the OSI model! That means that you can't use it to tunnel protocols operating below layer 5. This includes things such as ping, ARP, etc.

So the default nmap -sS flag will not work (no session is established). Plus, nmap constructs its own packets. Instead with nmap you should use the -PN (no ping) and -sT (TCP Connect) The reason is :

Nmap asks the underlying operating system to establish a connection with the target machine and port by issuing the connect system call. This is the same high-level system call that web browsers, P2P clients, and most other network-enabled applications use to establish a connection.

You see here since nmap is using the OS API, it will run at a layer higher than 5, and establish a full session to get you more reliable results.

For hostname resolution try proxyresolv. It is meant to work with proxychains and is

Used to resolve host names via proxy or Tor.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .