determining which are the ORs a Tor circuit is using

Roger Dingledine arma at mit.edu
Tue Nov 11 22:32:37 UTC 2008


Btw, please pick only one mailing list to send your mail to. Your
follow-up mail actually sent it to three lists, not just two. This is
not cool. :)

On Tue, Nov 11, 2008 at 02:50:14PM -0500, Sambuddho Chakravarty wrote:
> Hello All
>  I have a general question. I am using the default torrc (without
> specifying which ORs to select and letting the client determine the
> "best" ones for itself). Is there a way to detect which are the ORs the
> client picks up for the entry , middleman and exit nodes (rather than
> hacking into the source code of the tor client). I am using a rather
> dated version of the client - 0.1.2.18.

The traditional way to do this is to open your Tor's control port,
and then attach a controller program (lika Vidalia, but you can write
your own too with the torctl libraries) to ask questions like this. See
doc/spec/control-spec.txt for many more details.

For example, if you send
  setevents extended circ stream

Then for streams you get lines like this

650 STREAM 17 NEW 0 www.google.com:80 SOURCE_ADDR=127.0.0.1:51279 PURPOSE=USER
650 STREAM 17 SENTCONNECT 5 www.google.com:80 
650 STREAM 17 REMAP 5 72.14.235.104:80 SOURCE=EXIT
650 STREAM 17 SUCCEEDED 5 72.14.235.104:80 
650 STREAM 18 NEW 0 www.google.com.tw:80 SOURCE_ADDR=127.0.0.1:51280 PURPOSE=USER
650 STREAM 18 SENTCONNECT 5 www.google.com.tw:80 
650 STREAM 18 REMAP 5 72.14.235.99:80 SOURCE=EXIT
650 STREAM 18 SUCCEEDED 5 72.14.235.99:80 
650 STREAM 17 CLOSED 5 72.14.235.104:80 REASON=END REMOTE_REASON=unknown

and interspersed with that you get circ info like
650 CIRC 10 LAUNCHED PURPOSE=GENERAL
650 CIRC 10 EXTENDED $43AF24071B400911629D5BC9FC20DE335F9DFC00 PURPOSE=GENERAL
650 CIRC 10 EXTENDED $43AF24071B400911629D5BC9FC20DE335F9DFC00,ratator PURPOSE=GENERAL
650 CIRC 10 EXTENDED $43AF24071B400911629D5BC9FC20DE335F9DFC00,ratator,$D3EAC880BECBE5F80DB4609F225D351CC4F72395 PURPOSE=GENERAL
650 CIRC 10 BUILT $43AF24071B400911629D5BC9FC20DE335F9DFC00,ratator,$D3EAC880BEC

You can also do a command like
  getinfo circuit-status
which will spit out a summary:

getinfo circuit-status
250+circuit-status=
9 EXTENDED gremlin,pickaproxy
8 BUILT BostonUCompSci,$D0FF59689F9148D47B03DC03025853C80315A930,$D1C0C9FF2F88EB291DD436A1485DD471EB80D40F
6 BUILT gremlin,myrnaloy,godzilla,tor26
4 BUILT gremlin,SEC,vallenator
3 BUILT $43AF24071B400911629D5BC9FC20DE335F9DFC00,$8318A0A99B26785C6AB59FB3A290F6A04ADDD42C,vallenator
2 BUILT BostonUCompSci,$2682892CB12EDA0B69049C42A8483A680F70F56F,$83044401FD17BB48723049ED5BF7F1E9A9AB1A00,EviDancerDirServer
1 BUILT gremlin,SEC,$F701FBB7B5B70B765751D71DA8FE40E517223331
.

--Roger



More information about the tor-talk mailing list