首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Tor代理路由TCP流量?

如何通过Tor代理路由TCP流量?
EN

Stack Overflow用户
提问于 2022-08-17 19:35:12
回答 1查看 192关注 0票数 0

我想使用python库套接字创建一个TCP连接。这个流量应该通过Tor网络重定向,但是给出了socks.SOCKS5Error: 0x01:通用SOCKS服务器故障

下面的代码可以连接到Tor代理并提供一个新的Tor IP。

代码语言:javascript
复制
from stem.control import Controller
from stem import Signal
import socket
import socks

if __name__ == "__main__":
        with Controller.from_port(port=9051) as controller:
            # Creatting TOR connection
            controller.authenticate(password='password')
            controller.signal(Signal.NEWNYM)
    
            socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "192.168.1.148", 9050)
            socket.socket = socks.socksocket
            
            # Creatting socket connection
            new_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            host = '192.168.1.148'
            port = 50007
    
            new_socket.connect((host, port))
            new_socket.sendall('Hello world')
            print(new_socket.recv(1024))

这是给出的错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/socks.py", line 809, in connect
    negotiate(self, dest_addr, dest_port)
  File "/usr/lib/python3.10/site-packages/socks.py", line 443, in _negotiate_SOCKS5
    self.proxy_peername, self.proxy_sockname = self._SOCKS5_request(
  File "/usr/lib/python3.10/site-packages/socks.py", line 533, in _SOCKS5_request
    raise SOCKS5Error("{:#04x}: {}".format(status, error))
socks.SOCKS5Error: 0x01: General SOCKS server failure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/keylogger-project/./tor_proxy_connection.py", line 74, in <module>
    tor.__testing_socket_availability__()
  File "/home/pi/keylogger-project/./tor_proxy_connection.py", line 66, in __testing_socket_availability__
    self.socket.connect((host, port))
  File "/usr/lib/python3.10/site-packages/socks.py", line 47, in wrapper
    return function(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/socks.py", line 814, in connect
    raise GeneralProxyError("Socket error", error)
socks.GeneralProxyError: Socket error: 0x01: General SOCKS server failure

服务器端是一个简单的nc -lvp 50007

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-17 21:08:40

socket.socket = socks.socksocket ... host = '192.168.1.148' ... new\_socket.connect((host, port))

目标192.168.1.148是为专用网络预留的IP地址,因此无法从internet访问。但是Tor网络上的节点都在internet上,因此不能达到给定的目标。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73394038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档