Signal an Tor senden generiert Fehlermeldung

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

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
BlackJack

@snakeseven: Das sieht mir nach einem Fehler im `socks`-Modul aus.
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

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)
Antworten