Tor网络Python接口工具Stem的几个替代用法
Stem是Tor netword的一个Python 控制类库,也就是Tor的Python语言接口API。程序员可以通过Python编程,利用Tor匿名网络来传递自己的隐蔽信息。需要注意的是,Tor在中国被许多人用于突破防火长城,这主要是因为中国屏蔽了大量的海外网站和服务器。Tor会自动检测节点是否可达目标地址。如果返回错误无法到达,它会自动更换节点。相应地,这种技术也可以用在中国境外模拟中国境内的节点,以访问一些境外无法访问的内容。
Stem所需的Python版本最低是Python 2.6,它还兼任Python3.x版本。
但很多时候你并不一定需要使用一个编程类库来和Tor网络交互,有四种方法你可以直接通过命令行来和Tor网络交互。
你可以使用ControlPort
使用ControlPort是最简单的利用Telnet和Tor网络交互的方法。这种方法在连接后需要安全认证。
% cat ~/.tor/torrc ControlPort 9051 % telnet localhost 9051 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. AUTHENTICATE 250 OK GETINFO version 250-version=0.2.5.1-alpha-dev (git-245ecfff36c0cecc) 250 OK QUIT 250 closing connection Connection closed by foreign host.
你可以使用ControlSocket
ControlSocket是基于文件的socket交互,所以,你可以是socat连接它..
% cat ~/.tor/torrc ControlSocket /home/atagar/.tor/socket % socat UNIX-CONNECT:/home/atagar/.tor/socket STDIN AUTHENTICATE 250 OK GETINFO version 250-version=0.2.5.1-alpha-dev (git-245ecfff36c0cecc) 250 OK QUIT 250 closing connection
你可以使用cookie认证
Cookie认证的意思就是说你的信用凭证依赖于TorDataDirectory里的一个文件的内容。你可以通过调用PROTOCOLINFO来了解Tor的更多认证方法。
% cat ~/.tor/torrc ControlPort 9051 CookieAuthentication 1 % telnet localhost 9051 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. PROTOCOLINFO 250-PROTOCOLINFO 1 250-AUTH METHODS=COOKIE,SAFECOOKIE COOKIEFILE="/home/atagar/.tor/control_auth_cookie" 250-VERSION Tor="0.2.5.1-alpha-dev" 250 OK
Cookie认证有两个小的工具: COOKIE 和 SAFECOOKIE。下面我们演示的是使用 COOKIE。而使用SAFECOOKIE需要更多的技术知识,牵涉更多的问题。
我们需要是hexdump命令来进行认证…
% hexdump -e '32/1 "%02x""\n"' /home/atagar/.tor/control_auth_cookie be9c9e18364e33d5eb8ba820d456aa2bc03444c0420f089ba4569b6aeecc6254 % telnet localhost 9051 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. AUTHENTICATE be9c9e18364e33d5eb8ba820d456aa2bc03444c0420f089ba4569b6aeecc6254 250 OK GETINFO version 250-version=0.2.5.1-alpha-dev (git-245ecfff36c0cecc) 250 OK QUIT 250 closing connection Connection closed by foreign host.
使用密码认证
Tor的另外一个认证方法就是使用密码。你需要让Tor来hash你的密码,然后…
% tor --hash-password "my_password" 16:E600ADC1B52C80BB6022A0E999A7734571A451EB6AE50FED489B72E3DF
其余的就很简单了
% cat ~/.tor/torrc ControlPort 9051 HashedControlPassword 16:E600ADC1B52C80BB6022A0E999A7734571A451EB6AE50FED489B72E3DF % telnet localhost 9051 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. AUTHENTICATE "my_password" 250 OK GETINFO version 250-version=0.2.5.1-alpha-dev (git-245ecfff36c0cecc) 250 OK QUIT 250 closing connection Connection closed by foreign host.
你也许感兴趣的:
- 程序员如何在自己的软件中使用Tor Network(Tor network API)?
- 具有魔法的 H.264
- 多用户环境中的 rootless Docker
- 【外评】微软的人工智能聊天机器人将 “回忆 “您在其新 PC 上所做的一切
- 【外评】苹果需要解释重新出现已删除照片的错误
- 你需要知道的现代 CSS 技巧(2024 年春季版)
- 使用 :has() 作为 CSS 父选择器及其他更多内容
- 【外评】大科技公司致欧盟:“去死”
- npm又被滥用,灰产用《庆余年2》盗版资源——把开源公共基础设施的羊毛薅秃了
- 【外评】如果您没有在 Edge 中使用必应,微软现在会说您的电脑需要 “修复”
你对本文的反应是: