gpt4 book ai didi

sockets - 使用 python 对 Tor 进行身份验证时遇到问题

转载 作者:行者123 更新时间:2023-12-04 19:10:45 26 4
gpt4 key购买 nike

可能在这里做了一些非常愚蠢的事情,但是我在通过 Tor 自动进行身份验证时遇到了一些麻烦。

我正在使用带有混淆网桥的 32 位 ubuntu 12.04。

这应该是所有相关的代码,但请告诉我是否还有其他有助于调试此问题的内容:

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

每当我运行它时,我都会收到以下错误:
515 Authentication failed: Password did not match HashedControlPassword value from configuration. Maybe you tried a plain text password

我尝试使用 --hash-password 选项并将其粘贴到 AUTHENTICATE 字符串的位置,但这只会导致脚本挂起。想法?

最佳答案

该错误意味着您在 torrc 中设置了 HashedControlPassword 选项。我建议选择 CookieAuthentication 1而是使用 Controller 库而不是从头开始。

你在这里尝试做的(发布一个 NEWNYM)是一个非常非常常见的请求( 12 )所以我刚刚添加了一个 FAQ entry为了它。这是使用 stem 的示例...

from stem import Signal
from stem.control import Controller

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

关于sockets - 使用 python 对 Tor 进行身份验证时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com