[tor-dev] how to simulate TOR network through chutney?
Mohiuddin Ebna Kawsar
mohiuddin.kawsar at gmail.com
Sun Jan 11 13:09:56 UTC 2015
Hi teor,
Thanks for quick reply. i just download new chutney from github and able to
run chutney for nodes = a(3) + r(1) + c(1) but when i set nodes = a(3) +
c(1) i got following message
##############################################################
./chutney start networks/basic-min
Starting nodes
<type 'exceptions.IOError'>
Python 2.7.8: /usr/bin/python2
Sun Jan 11 14:00:27 2015
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/usr/lib/python2.7/runpy.py in
_run_module_as_main(mod_name='chutney.TorNet', alter_argv=1)
160 sys.argv[0] = fname
161 return _run_code(code, main_globals, None,
162 "__main__", fname, loader, pkg_name)
163
164 def run_module(mod_name, init_globals=None,
fname = '/home/raboon/chutney-master/lib/chutney/TorNet.py'
loader = <pkgutil.ImpLoader instance>
pkg_name = 'chutney'
/usr/lib/python2.7/runpy.py in _run_code(code=<code object <module> at
0x7f9cbd16e3b0, file "/...n/chutney-master/lib/chutney/TorNet.py", line
10>, run_globals={'ConfigureNodes': <function ConfigureNodes>, 'DEFAULTS':
{'auth_cert_lifetime': 12, 'authorities': 'AlternateDirAuthority bleargh
bad torrc file!', 'authority': False, 'bridge': False, 'bridgeauthority':
False, 'bridges': 'Bridge bleargh bad torrc file!', 'chutney_dir': '.',
'connlimit': 60, 'controlport_base': 8000, 'core': True, ...},
'LocalNodeBuilder': <class '__main__.LocalNodeBuilder'>,
'LocalNodeController': <class '__main__.LocalNodeController'>, 'Network':
<class '__main__.Network'>, 'Node': <class '__main__.Node'>, 'NodeBuilder':
<class '__main__.NodeBuilder'>, 'NodeController': <class
'__main__.NodeController'>, 'TorEnviron': <class '__main__.TorEnviron'>,
'_BASE_ENVIRON': <__main__.TorEnviron object>, ...}, init_globals=None,
mod_name='__main__',
mod_fname='/home/raboon/chutney-master/lib/chutney/TorNet.py',
mod_loader=<pkgutil.ImpLoader instance>, pkg_name='chutney')
70 __loader__ = mod_loader,
71 __package__ = pkg_name)
72 exec code in run_globals
73 return run_globals
74
code = <code object <module> at 0x7f9cbd16e3b0, file
"/...n/chutney-master/lib/chutney/TorNet.py", line 10>
run_globals = {'ConfigureNodes': <function ConfigureNodes>, 'DEFAULTS':
{'auth_cert_lifetime': 12, 'authorities': 'AlternateDirAuthority bleargh
bad torrc file!', 'authority': False, 'bridge': False, 'bridgeauthority':
False, 'bridges': 'Bridge bleargh bad torrc file!', 'chutney_dir': '.',
'connlimit': 60, 'controlport_base': 8000, 'core': True, ...},
'LocalNodeBuilder': <class '__main__.LocalNodeBuilder'>,
'LocalNodeController': <class '__main__.LocalNodeController'>, 'Network':
<class '__main__.Network'>, 'Node': <class '__main__.Node'>, 'NodeBuilder':
<class '__main__.NodeBuilder'>, 'NodeController': <class
'__main__.NodeController'>, 'TorEnviron': <class '__main__.TorEnviron'>,
'_BASE_ENVIRON': <__main__.TorEnviron object>, ...}
/home/raboon/chutney-master/lib/chutney/TorNet.py in <module>()
952 return -1
953 return 0
954
955 if __name__ == '__main__':
956 sys.exit(main())
sys = <module 'sys' (built-in)>
sys.exit = <built-in function exit>
main = <function main>
/home/raboon/chutney-master/lib/chutney/TorNet.py in main()
948 args = parseArgs()
949 f = open(args['network_cfg'])
950 result = runConfigFile(args['action'], f)
951 if result is False:
952 return -1
result undefined
global runConfigFile = <function runConfigFile>
args = {'action': 'start', 'network_cfg': 'networks/basic-min'}
f = <open file 'networks/basic-min', mode 'r'>
/home/raboon/chutney-master/lib/chutney/TorNet.py in
runConfigFile(verb='start', data=<open file 'networks/basic-min', mode 'r'>)
925 return
926
927 return getattr(network, verb)()
928
929
builtingetattr = <built-in function getattr>
network = <__main__.Network object>
verb = 'start'
/home/raboon/chutney-master/lib/chutney/TorNet.py in
start(self=<__main__.Network object>)
832 else:
833 print("Starting nodes")
834 rv = all([n.getController().start() for n in self._nodes])
835 # now print a newline unconditionally - this stops poll()ing
836 # output from being squashed together, at the cost of a blank
rv undefined
builtinall = <built-in function all>
n = <__main__.Node object>
n.getController = <bound method Node.getController of <__main__.Node
object>>
).start undefined
self = <__main__.Network object>
self._nodes = [<__main__.Node object>, <__main__.Node object>,
<__main__.Node object>, <__main__.Node object>]
/home/raboon/chutney-master/lib/chutney/TorNet.py in
start(self=<__main__.LocalNodeController object>)
584 else:
585 raise
586 if self.waitOnLaunch():
587 # this requires that RunAsDaemon is set
588 p.wait()
self = <__main__.LocalNodeController object>
self.waitOnLaunch = <bound method LocalNodeController.waitOnLaunch of
<__main__.LocalNodeController object>>
/home/raboon/chutney-master/lib/chutney/TorNet.py in
waitOnLaunch(self=<__main__.LocalNodeController object>)
636 # RunAsDaemon default is 0
637 runAsDaemon = False
638 with open(self._getTorrcFname(), 'r') as f:
639 for line in f.readlines():
640 stline = line.strip()
builtinopen = <built-in function open>
self = <__main__.LocalNodeController object>
self._getTorrcFname = <bound method LocalNodeController._getTorrcFname of
<__main__.LocalNodeController object>>
f undefined
<type 'exceptions.IOError'>: [Errno 2] No such file or directory:
'/home/raboon/chutney-master/net/nodes/003c/torrc'
__class__ = <type 'exceptions.IOError'>
__delattr__ = <method-wrapper '__delattr__' of exceptions.IOError
object>
__dict__ = {}
__doc__ = 'I/O operation failed.'
__format__ = <built-in method __format__ of exceptions.IOError object>
__getattribute__ = <method-wrapper '__getattribute__' of
exceptions.IOError object>
__getitem__ = <method-wrapper '__getitem__' of exceptions.IOError
object>
__getslice__ = <method-wrapper '__getslice__' of exceptions.IOError
object>
__hash__ = <method-wrapper '__hash__' of exceptions.IOError object>
__init__ = <method-wrapper '__init__' of exceptions.IOError object>
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of exceptions.IOError object>
__reduce_ex__ = <built-in method __reduce_ex__ of exceptions.IOError
object>
__repr__ = <method-wrapper '__repr__' of exceptions.IOError object>
__setattr__ = <method-wrapper '__setattr__' of exceptions.IOError
object>
__setstate__ = <built-in method __setstate__ of exceptions.IOError
object>
__sizeof__ = <built-in method __sizeof__ of exceptions.IOError object>
__str__ = <method-wrapper '__str__' of exceptions.IOError object>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__unicode__ = <built-in method __unicode__ of exceptions.IOError object>
args = (2, 'No such file or directory')
errno = 2
filename = '/home/raboon/chutney-master/net/nodes/003c/torrc'
message = ''
strerror = 'No such file or directory'
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/raboon/chutney-master/lib/chutney/TorNet.py", line 956, in
<module>
sys.exit(main())
File "/home/raboon/chutney-master/lib/chutney/TorNet.py", line 950, in
main
result = runConfigFile(args['action'], f)
File "/home/raboon/chutney-master/lib/chutney/TorNet.py", line 927, in
runConfigFile
return getattr(network, verb)()
File "/home/raboon/chutney-master/lib/chutney/TorNet.py", line 834, in
start
rv = all([n.getController().start() for n in self._nodes])
File "/home/raboon/chutney-master/lib/chutney/TorNet.py", line 586, in
start
if self.waitOnLaunch():
File "/home/raboon/chutney-master/lib/chutney/TorNet.py", line 638, in
waitOnLaunch
with open(self._getTorrcFname(), 'r') as f:
IOError: [Errno 2] No such file or directory:
'/home/raboon/chutney-master/net/nodes/003c/torrc'
#############################################################
i also attached torc and template files.
i used wire-shark just to make sure that exit node reside on my host rather
then using TOR network,nothing else.
Regards
kawsar
On Sun, Jan 11, 2015 at 1:16 PM, teor <teor2345 at gmail.com> wrote:
> Date: Sun, 11 Jan 2015 12:29:34 +0100
>
> From: Mohiuddin Ebna Kawsar <mohiuddin.kawsar at gmail.com>
>
> Thank's for your answer with good explanation. yes it worked for
> (Authority.getN(3) + Relay.getN(1) + Client.getN(1) ) . For this i have
> installed tor-0.2.6.2-alpha-dev and download newest chutney where exit-v4.i
> or exit-v6.i don't exist .
>
>
> These files exist in the latest version.
> Several bugs that make tor network bootstrap fail or slow have been fixed
> recently.
> (And others are being fixed soon.)
> Please get the newest chutney from git and keep it up to date.
>
> now i can see thorough wire-shark that which server i'm queering.
> But i got "Couldn't launch test003c (tor --quiet -f
> chutney/net/nodes/003c/torrc): 255" when i use (Authority.getN(3) +
> Client.getN(1) ) as you mentioned.
>
>
> Your client torrc is broken - this should not happen if you only edited
> the authority.tmpl file.
> How did you change the common.i or client.tmpl files?
>
> Run the command in the error message without the "--quiet" flag to find
> out why tor is failing.
>
> and is it also possible to find which authority is acting exit-node?
>
>
> Each authority/relay can act as an exit, and the client may use different
> exits for different connections.
> You can use arm to access the client's control port and it should tell you
> the path(s) it is using.
> Or you can set up debug logging on the client and it should tell you the
> path as well.
>
> However, wireshark will never tell you, because that's the whole point of
> Tor: you can only ever see the connections, not how the packets are being
> relayed.
>
> There is documentation on arm in its manual page, and tor logging in its
> manual page.
>
> teor
>
> teor2345 at gmail dot com
> pgp 0xABFED1AC
> https://gist.github.com/teor2345/d033b8ce0a99adbc89c5
>
> teor at blah dot im
> OTR C3C57B23 349825DE 929A1DEF C3531C25 A32287ED
>
> _______________________________________________
> tor-dev mailing list
> tor-dev at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: authority.tmpl
Type: application/octet-stream
Size: 1732 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0011.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: relay.tmpl
Type: application/octet-stream
Size: 280 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0012.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: relay-non-exit.tmpl
Type: application/octet-stream
Size: 453 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0013.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: relay-exit-v6-only.tmpl
Type: application/octet-stream
Size: 171 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0014.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: relay-exit-v4-only.tmpl
Type: application/octet-stream
Size: 171 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0015.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exit-v6.i
Type: application/octet-stream
Size: 681 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0016.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exit-v4.i
Type: application/octet-stream
Size: 663 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0017.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: common.i
Type: application/octet-stream
Size: 1215 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0018.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: client.tmpl
Type: application/octet-stream
Size: 418 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0019.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: torrc
Type: application/octet-stream
Size: 5252 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0020.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: torrc
Type: application/octet-stream
Size: 2215 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150111/ef2156a0/attachment-0021.obj>
More information about the tor-dev
mailing list