gpt4 book ai didi

通过 Tor 网络的 Python 脚本

转载 作者:行者123 更新时间:2023-11-30 23:09:25 40 4
gpt4 key购买 nike

我编写了一个简单的 python 脚本来获取我的 IP。

import urllib
import socks
import socket

#set the proxy and port
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9150)

#initialize the socket
socket.socket = socks.socksocket

#store the URL that we want
url = 'https://check.torproject.org/'

#open the URL and store it into 'response'
response = urllib.urlopen(url)

#parse the response
html = response.read()

#print to console
print html

没什么太复杂的,但是在分析 check.torbrowser 的响应时问题就开始了。该网站将始终为我提供一个与我当前运行的同一页面上的 Tor 浏览器不同的地址。然而,html 响应会说我正在通过 Tor 网络路由,但它看起来并不是来自“标准”Tor 浏览器。我理解后一部分,尽管我没有将其包含在上面的代码中,但我正在使用 User-Agent 字符串和其他 header ,所以我将其归结为主要原因。我不明白的是,IP 是来自 h-e-double 曲棍球棒的哪里,作为 py 脚本的响应?

我的下一个问题是建立在所有这些之上的,是如何将我的 python 脚本正确连接到 tor 网络?经过一番谷歌搜索后,我发现 tor 会阻止除ocks协议(protocol)之外的所有流量,另一种选择是将 privoxy 与 tor 结合使用。我最初的想法是进行某种路由,从而实现软件分层。在我看来,它看起来像:

Python -> Privoxy -> Tor -> 目标

我所有这一切的最终目标是获取基于 .onion 的地址并保存/读取它。然而,在所有这些问题开始发生之后,我已经把它放在一边了。一些有助于获得更好答案的信息:我正在使用一台 Windows 机器,尽管我有一台 Linux 机器,如果那里可能存在一些功能可以帮助此过程,并且我正在使用 Python 2.7,不过,这可以很容易改变。

我想要求列出实现这一切的步骤 - 或者至少一些链接/方向,我绝不害怕阅读一些关于该主题的好博客/教程。然而,我觉得这确实是几个单独的问题,需要一个安静的冗长答案,所以在我撕掉更多头发之前,我会很高兴知道我走在正确的道路上:)

最佳答案

您的代码是正确的,但您认为 Tor 将始终为您提供相同 IP 地址的假设是错误的。由于电路隔离(Tor 的一项隐私功能,可确保您打开的连接之间的隔离),您可以通过与 Tor 浏览器不同的退出节点来路由请求。

可靠地模拟 Tor 浏览器行为很困难,我建议不要这样做。您连接 Tor 网络的方法看起来是正确的。

Tor 将允许您使用任何您想要的协议(protocol),但是您需要通过 SOCKS 协议(protocol)进行连接。不过这很好:几乎所有网络协议(protocol)(包括 http)都可以很好地与 SOCKS 配合。

关于通过 Tor 网络的 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228711/

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