Seite 1 von 1

Signal an Tor senden generiert Fehlermeldung

Verfasst: Montag 28. März 2011, 15:18
von snakeseven
Hallo,
mich beschäftigt die Frage, wie ich erfolreich an Tor Signale senden kann. Deshalb habe ich einen minimal Versuchsaufbau erstellt und werde bei dem Versuch, über das Signal "NEWNYM" einen neuen Circuit zu generieren, mit einer Fehlermeldung "belohnt". Da ich die nicht verstehe, frage ich mal an, ob mir jemand die erklären kann ? Hier Code + Fehlermeldung:

Code: Alles auswählen

#!/usr/bin/env python

import os, socks, socket
from time import sleep

WORKSPACE = os.getcwd() 
        
# starting tor
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9050)
socket.socket = socks.socksocket
os.system('start ' + WORKSPACE +'/tor.exe -f')

sleep(5)

s = socket.socket()
s.connect(('127.0.0.1', 9050))
s.send("AUTHENTICATE\r\n")
s.send("signal NEWNYM\r\n")
s.close()

# closing tor
os.system("taskkill /im tor.exe /f")
Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "newnym_tor.py", line 16, in <module>
    s.connect(('127.0.0.1', 9050))
  File "C:\Programme\Python25\lib\site-packages\socks.py", line 369, in connect
    self.__negotiatesocks5(destpair[0],destpair[1])
  File "C:\Programme\Python25\lib\site-packages\socks.py", line 236, in __negotiatesocks5
    raise Socks5Error(ord(resp[1]),_generalerrors[ord(resp[1])])
TypeError: __init__() takes exactly 2 arguments (3 given)
Gruss, Seven

Re: Signal an Tor senden generiert Fehlermeldung

Verfasst: Montag 28. März 2011, 15:32
von BlackJack
@snakeseven: Das sieht mir nach einem Fehler im `socks`-Modul aus.

Re: Signal an Tor senden generiert Fehlermeldung

Verfasst: Dienstag 29. März 2011, 08:50
von snakeseven
ja, scheint so. Wenn ich es mit Telnet versuche, kommt dieselbe Fehlermeldung.
Gruss, Seven

Code: Alles auswählen

tn = telnetlib.Telnet("127.0.0.1", 9050)
tn.write("AUTHENTICATE\r\n")
res = tn.read_until('250 OK', 5)
    
tn.write("signal NEWNYM\r\n")
res = tn.read_until('250 OK', 5)
tn.close()

Code: Alles auswählen

Traceback (most recent call last):
  File "newnym_tor.py", line 53, in <module>
    tn = telnetlib.Telnet("127.0.0.1", 9050)
  File "C:\Programme\Python25\lib\telnetlib.py", line 208, in __init__
    self.open(host, port)
  File "C:\Programme\Python25\lib\telnetlib.py", line 229, in open
    self.sock.connect(sa)
  File "C:\Programme\Python25\lib\site-packages\socks.py", line 369, in connect
    self.__negotiatesocks5(destpair[0],destpair[1])
  File "C:\Programme\Python25\lib\site-packages\socks.py", line 236, in __negotiatesocks5
    raise Socks5Error(ord(resp[1]),_generalerrors[ord(resp[1])])
TypeError: __init__() takes exactly 2 arguments (3 given)