麻烦蟒蛇认证的Tor [英] Trouble authenticating Tor with python

查看:208
本文介绍了麻烦蟒蛇认证的Tor的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能做一些很无聊的在这里,但我有一些麻烦,通过Tor的自动验证。

Probably doing something very silly here, but I'm having some trouble authenticating automatically through Tor.

我使用的是32位的Ubuntu 12.04与混淆的桥梁。

I'm using 32 bit ubuntu 12.04 with obfuscated bridges.

这应该是所有相关的code,但让我知道如果有别的东西,会在调试这个问题上是有用的:

This should be all the relevant code, but let me know if there's something else that would be useful in debugging this issue:

import socket
import socks
import httplib

def connectTor():
    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050, True)
    #9050 is the Tor proxy port
    socket.socket = socks.socksocket

def newIdentity():
    socks.setdefaultproxy() #Disconnect from Tor network

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(("127.0.0.1", 46594))

s.send("AUTHENTICATE\r\n")

response = s.recv(128)
#128 bytes of data for now, just to see how Tor responds

print response
if response.startswith("250"): #250 is the code for a positive response from Tor
    s.send("SIGNAL NEWNYM\r\n") #Use a new identity
s.close()

connectTor() #Just to make sure we're still connected to Tor

每当我运行此我得到以下错误:

Whenever I run this I get the following error:

515 Authentication failed: Password did not match HashedControlPassword value from configuration. Maybe you tried a plain text password

我尝试使用--hash密码选项,并粘贴,在验证字符的地方,但只是导致脚本挂起。思考?

I tried using the --hash-password option and pasting that in the place of the AUTHENTICATE string, but that just caused the script to hang. Thoughts?

推荐答案

这是错误意味着你设置你的torrc的HashedControlPassword选项。我建议为选项 CookieAuthentication 1 来代替,然后使用一个控制器库,而不是从头开始这样做。

That error means that you set the HashedControlPassword option in your torrc. I would suggest option for CookieAuthentication 1 instead then using a controller library rather than doing this from scratch.

你想在这里做什么(发出NEWNYM)是一种非常普遍的要求(<一个href=\"http://stackoverflow.com/questions/17013707/how-can-i-change-my-tor-process-endpoint-in-stem\">1, <一href=\"http://stackoverflow.com/questions/16987518/how-to-request-new-tor-identity-in-terminal\">2)所以我只是增加了一个 FAQ条目它。这是一个使用 ...

What you're trying to do here (issue a NEWNYM) is a very, very common request (1, 2) so I just added a FAQ entry for it. Here's an example using stem...

from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
  controller.authenticate()
  controller.signal(Signal.NEWNYM)

这篇关于麻烦蟒蛇认证的Tor的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆