On 2011-08-08, Joel Hobson hobs2820@mylaurier.ca wrote:
I'm an undergraduate student working as a research assistant for the summer. My current task is to figure out a way to measure delay caused by individual nodes (we want to replicate this paper: http://cis.poly.edu/~ross/papers/Tor.pdf). It seems to me that the easiest way of accomplishing this would be to run an exit node and construct a two-hop circuit to it.
OP ------> Node to be measured -------> Exit node
Since the OP and exit node are under my control, I could measure the time it takes for any packets to reach the exit node from the OP. I want to be the only one who can use this exit node so I don't have to worry about getting approval from the school to run an exit node (could be time-consuming). I realize this is pretty far from any design goals the developers have, but is there some way of running a hidden exit node? One that doesn't appear on any directory server (PublishServerDescriptor 0 might work)****, but can still be used if you know its IP address? The Tor Control Protocol makes it easy enough to create a custom circuit (discussed here: http://thesprawl.org/memdump/?entry=8), but it won't accept IP addresses for nodes. I can put an IP in exitnodes in the torrc file, but exitnodes doesn't seem to have any effect, even when StrictExitNodes is set.
* Configure the exit node with 'PublishServerDescriptor 0'.
* Retrieve its 'server descriptor' using the control-port command 'GETINFO desc/id/<fingerprint of your exit node, as a hex string with no spaces or leading "$">'.
* Add the descriptor for your exit node to your Tor client by sending the following to your client's control port: +POSTDESCRIPTOR purpose=general cache=no <put the descriptor here> .
* Build circuits using the client's control port.
For more information, see control-spec.txt in https://gitweb.torproject.org/torspec.git/tree ..
Robert Ransom