[tor-dev] Stegotorus now available from gitweb.torproject.org

Zack Weinberg zackw at panix.com
Tue Jun 5 04:35:10 UTC 2012


On 2012-06-04 8:13 PM, David Fifield wrote:
>
> $ git clone https://git.torproject.org/stegotorus.git
> $ cd stegotorus
> $ autoreconf -i
> $ ./configure&&  make
> $ ./stegotorus null socks 127.0.0.1:5000
> [info] ./stegotorus process 28359 now initialized
> $ tor ClientTransportPlugin "stegotorus socks4 127.0.0.1:5000" UseBridges 1 Bridge "stegotorus 87.73.82.145:8080"
>
> I found the bridge IP address in scripts/torrc. At this point stegotorus
> printed out:
>
> [info] 127.0.0.1:5000: new connection to socks client from 127.0.0.1:42233
> [info]<1>  trying to connect to 87.73.82.145:8080
> [info]<1.1>  network error in read: Connection reset by peer
>
> [error] Segmentation fault at 0000000000000010
> ./stegotorus[0x4054b6]
> /lib/x86_64-linux-gnu/libc.so.6(+0x324f0)[0x7fcff4cee4f0]
> ./stegotorus[0x40ec11]
> ./stegotorus[0x405f7a]
> /usr/lib/libevent-2.0.so.5(+0x1bc4a)[0x7fcff5df8c4a]
> /usr/lib/libevent-2.0.so.5(event_base_loop+0x414)[0x7fcff5dee254]
> ./stegotorus[0x404e76]
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fcff4cdaead]
> ./stegotorus[0x405291]
> Segmentation fault

This looks like a genuine bug - probably failure to handle ECONNRESET 
correctly somewhere.  I'll see if I can reproduce it, but it would be 
helpful to me if you changed your stegotorus invocation to

./stegotorus --log-min-severity=debug \
   null socks 127.0.0.1:5000 >& stegotorus.log

and sent me (off-list) the log file.

> I tried running the "chop" mode but didn't figure out the usage. I seems
> I need a "down_address" but I don't know what to put there.

In "chop" mode, the information Tor provides StegoTorus via SOCKS is 
insufficient to contact the remote peer correctly, so it ignores that 
and just does what you tell it on the command line.  You would need 
something like

./stegotorus chop socks 127.0.0.1:5000 \
     87.73.82.145:8080 http

And then 87.73.82.145 had better be running

./stegotorus chop server 127.0.0.1:9000 \
    87.73.82.145:8080

with the actual Tor bridge listening on :9000.  BTW, on the server side 
you should only specify each listener once, but on the client side, if 
you duplicate each address N times that allows making N simultaneous 
connections.

./stegotorus chop socks 127.0.0.1:5000 \
     87.73.82.145:8080 http \
     87.73.82.145:8080 http \
     87.73.82.145:8080 http \
     87.73.82.145:8080 http

That's more like a real web browser, and also will give _much_ better 
performance (as in "Tor won't successfully build circuits if you don't 
do this").

zw



More information about the tor-dev mailing list