Is it possible to know which entry node, middle node, and exit node one is using while using TBB online. Also, be informed as node changes or additional nodes being added online while using TBB.
This information have traditionally been available in Vidalia, the graphical controller that used to come with TBB (Tor Browser Bundle). Since TBB 3, Vidalia have however been replaced with Tor Launcher, the latter which still is missing information about which Tor nodes are being used.
What you instead need to do until this functionality is implemented in Tor Launcher (if it will be), is to hook up a Tor controller to your started TBB. Jens Kubieziel's answer suggest using "arm", which is one alternative.
The other alternative is to use the well-known Vidalia controller. See here for information on how to get and hook up Vidalia to your TBB.
How to see which is guard, middle and exit
Once Vidalia has started, go to "View the network" and you will see a list at the bottom with headers "Connection, Status". That list lists all circuits currently open (for example it may say: "IPredator,Unnamed,kramse", "Open"). There is usually a few different circuits open at any time. To see which one your Tor Browser is currently using, visit a website and you will see that some streams are listed just below the circuit they are using (for example "qa.sockets.stackexchange.com:443", "Open").
Now click on that circuit and you will get information about it in the box to the right. There will be three Tor relays listed, with some additional information about them. The first one in the top is the guard, the second one is the middle node, and the last one in the bottom is the exit.
Sometimes circuits with only one node is listed. They are never used by Tor Browser. Also, all circuits are usually replaced every 10 minutes.
You can use arm for this purpose. arm is a command line program and it shows several information about the current running Tor instance. When you use the Tor Browser Bundle 3.5 you should enter the following command:
arm -i 127.0.0.1:9151
The TBB uses port 9151 by default. When the program has started you'll see an overview of the bandwidth usage. The right arrow (->) brings you to the next window. Here you see information about circuits.
You see there are three circuits and information about guard, middle and exit node.
If you're using a version of TBB without Vidalia and don't want to install Arm or other control software you can get this information directly from the control port. First you'll want to get the authentication string to use from the auth cookie (this is where it's stored in the TBB, if you've got Tor installed on your system some other way you'll have to use the correct control cookie path):
hexdump -e '32/1 "%02x""\n"' Data/Tor/control_auth_cookie
Then telnet to the control port (
9151 by default, this may be different on your system):
telnet 127.0.0.1 9151 AUTHENTICATE $PASSWORD
$PASSWORD is the string given by hexdump above.
You can then run:
getinfo circuit-status which will dump out the circuit info including fingerprints for each hop. Something like this:
250+circuit-status= 4 BUILT $9F937131215E4AAE90D685B97AC63938F26A9D5C=alarm,$8587B6C7E22C7DF6F4F79FFD38A0740BF537EFD1=TorAustralisXXVIII,$841C635F57FE77F354DA26AEEB4D12EDF44AF076~Unnamed BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY,NEED_UPTIME PURPOSE=GENERAL TIME_CREATED=2014-02-28T23:09:10.107304 3 BUILT $9F937131215E4AAE90D685B97AC63938F26A9D5C=alarm,$1363782D5C2F0345A43076F2EAA9F443B3AD4B76~Unnamed,$EC01CB4766BADC1611678555CE793F2A7EB2D723=sprockets BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY,NEED_UPTIME PURPOSE=GENERAL TIME_CREATED=2014-02-28T23:09:09.116112 2 BUILT $9F937131215E4AAE90D685B97AC63938F26A9D5C=alarm,$7B4DAFCF17D626828492CE5E587937F57C708681=wtfrelayyoh,$2C289C7F9A303E3A10341368B10A457EC7B2B8D1=Janus0 BUILD_FLAGS=NEED_CAPACITY PURPOSE=GENERAL TIME_CREATED=2014-02-28T23:09:08.123212 1 BUILT $628664B08BD81BB0BF467347F3CE14CB5B915786=Chandler05,$5097CB04C09C0A26E27E86217983C0A374676550=CzechMix,$D64366987CB39F61AD21DBCF8142FA0577B92811=kasperskytor01 BUILD_FLAGS=NEED_CAPACITY PURPOSE=GENERAL TIME_CREATED=2014-02-28T23:09:07.107064 . 250 OK
This should work for any version of Tor (TBB or otherwise) which has a control port configured (and on any OS to boot; pretty much everything is going to have telnet or an equivalent). If you've got a control password configured instead of a cookie, skip the hexdump bit and authenticate with that password. If no password is set you can skip the authenticate command.