You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写可实现类似proxychains全局代理效果的Python程序

可行实现方案

以下方案均在socket传输层实现流量代理,不受HTTP/HTTPS应用层协议限制,可以覆盖端口扫描的TCP/UDP流量,达到类似proxychains的全局代理效果:

  • 方案一:使用PySocks做全局socket monkey patch
    这是改造成本最低的方案,只需要在代码开头添加少量配置,原有端口扫描逻辑不需要做任何修改:
    1. 安装依赖:pip install pysocks
    2. 代码开头添加如下配置:
    import socks
    import socket
    # 按需替换代理类型、地址、端口,支持SOCKS4/SOCKS5/HTTP代理
    socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 1080)
    # 替换原生socket实现,后续所有调用标准socket的代码自动走代理
    socket.socket = socks.socksocket
    
    如果需要使用UDP代理,开启SOCKS5的UDP关联配置即可。
  • 方案二:使用python版本proxychains直接运行脚本
    完全不需要修改原有代码,和系统级proxychains使用逻辑完全一致:
    1. 安装依赖:pip install proxychains4-python
    2. 按照常规proxychains的配置方式写好代理配置文件后,运行命令:proxychains4-python 你的端口扫描脚本.py
  • 方案三:自行封装适配代理协议的socket类
    如果不想依赖第三方库,可以按照SOCKS5/HTTP CONNECT代理协议规范自行实现握手逻辑,在端口扫描建立连接前先完成和代理服务器的握手,再发送实际探测流量,该方案灵活度最高,适合有定制化代理逻辑需求的场景。

注意事项

  • 普通SOCKS/HTTP代理不支持ICMP协议转发,如果你的端口扫描包含ping探测逻辑,该部分流量无法通过上述方案走代理,需要搭配IP层转发的VPN/TUN类代理使用。
  • PySocks的monkey patch仅对同步标准socket生效,如果使用asyncio等异步IO框架,需要更换为对应异步代理实现如aiosocks。

内容的提问来源于stack exchange,提问作者Muhammed Özen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:45:03