2010-12-01 28 views
1

J'essaie de faire un appel signal newnym via Tor control protocol lié à un port interne. Juste pour tester, j'essaye sans aucun champ d'authentification pour le moment.Protocole de contrôle TOR de Perl

En telnet, si j'appelle simplement AUTHENTICATE je suis authentifié et peut ensuite procéder à des appels de signal.

En Perl utilisant les deuxIO::Socket et Socketsend méthodes je finis avec cette erreur:

551 Invalid quoted string. You need to put the password in double quotes.

Un exemple d'appel J'utilise dans IO :: Socket regarderait environ comme ceci:

print "SIG-TOR:Connecting..."; 

my $TORSOCK = new IO::Socket::INET(
    PeerAddr => $torcont, 
    PeerPort => $torconp, 
    Proto => 'tcp' 
); 
$TORSOCK or die "no socket :$!"; 

print "OK!\n"; 

print "SIG-TOR:authenticating..."; 

print $TORSOCK $torauth; 

while (<$TORSOCK>) { 
    print $_; 
} 

print "OK!\n"; 
sleep(1); 
+0

Quelle est la valeur de $ torauth? – DVK

Répondre

1

De

551 Invalid quoted string. You need to put the password in double quotes.

je en déduire la nécessité d'

print $TORSOCK '"', $torauth, '"'; 

Mais vous devez être certain ce qui est dans torauth de $.