Tell me more ×
IT Security Stack Exchange is a question and answer site for IT security professionals. It's 100% free, no registration required.

For a long time now I have been wondering how to find out where you actually connect to with Tor.

The only thing you can do in Vidalia is show a Network Map of all available Nodes worldwide, which is not related to the nodes you are actually connected to right now.

share|improve this question
Related watching, from Dec 2011: How governments have tried to block Tor. (There's some PG cursing in the video.) – msanford Jan 17 at 16:38

2 Answers

Tor options are configured in your torrc file (/etc/tor/torrc on Linux/Unix, probably somewhere in Program Files on Windows).

In it you can set lots of options like:

ExitNodes {US}
StrictExitNodes 1

To list all valid options you can run tor --list-torrc-options.

If you're comfortable with the command line, there's a nice interface for Tor called arm that will show you a lot more information than Vidalia does (including what nodes are in all of your current streams). More info on that here: https://www.torproject.org/projects/arm.html.en

As for how the actual network functions, info on that can be found on this page: https://www.torproject.org/about/overview.html.en#overview

I'll also write up a basic overview below.

A Basic Overview of how Tor Works

In brief, there are several Tor nodes that are trusted called 'Directory Authorities.' These nodes contain a list of all other public nodes and some metadata (fingerprint, exit policy, bandwidth / rate info, etc.). They also vote on various properties in the tor network (what nodes are bad, what nodes are included in the directory, etc.). When you first create a connection to the Tor Network you download a list from these directory authorities, and pick three (by default, there's no real reason to change this either) nodes to use.

Then you start sending traffic by encrypting first to the last (or 'exit' node), then encrypting your traffic again to the middle node, then again to the first node. Then you send the encrypted traffic to the first node who decrypts it, sees that the second layer is for the middle node, sends it on, the middle node decrypts the next layer, and sends it onto the exit node which decrypts the final layer and sends it on to the final destination (eg. 'stackexchange.com').

Then the whole process happens in reverse. In this manner, the first node knows that you're sending traffic, but now where the traffic is going, the second node just knows that someone is sending traffic (but not whom or where it's going) and the final node knows where the traffic is going but not who sent it in the first place).

This question was a bit vague, but I hope I answered it all. Let me know if I missed anything.

share|improve this answer

You are never connected to all nodes, only one. The whole principle of Tor is that only the first node knows where you are. The other ones needn't know.

share|improve this answer
1  
Thanks Lucas, but how is it that you can define a (country) specific exit node? Is this the only information that is unencryptedly chained through all nodes? And how is the number of nodes defined? And what about a session, I guess every node has its own mapping table with Onion addresses? You don't need to answer these questions in detail, I would be glad if you could link to a web site explaining the concept of it, if you have one. Thanks! – Eric Jan 16 at 23:02
1  
But the client knows all of the nodes it's routing through. So vidalia could show this information. – CodesInChaos Jan 17 at 20:20
Of course, because you need to know the public keys of those nodes – Lucas Kauffman Jan 18 at 6:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.