Proxychains:如何链式使用SOCKS5代理
proxychains-ng强制任何命令行程序通过一个或多个代理,即使是没有自己代理选项的工具。本指南展示了如何安装它,配置SOCKS5代理,链式多个跳转,并避免经典的DNS泄漏错误。
proxychains 的功能
proxychains-ng(proxychains的维护分支)是一个拦截程序网络调用并强制通过代理的工具——即使是没有代理设置的程序。你可以在任何命令前加上proxychains4,它的TCP连接将通过你配置中的代理进行路由。它是Kali和渗透测试工作流程中的一个基本工具,正是因为它可以与否则直接连接的工具一起使用。
它支持HTTP、SOCKS4和SOCKS5代理,并且可以链接多个代理,以便你的流量依次通过多个跳点。一个重要的限制是:proxychains通过钩住库调用来工作,因此它只影响动态链接的程序——静态链接的二进制文件和某些工具会绕过它。它路由TCP,而不是原始的UDP或ICMP(因此无法代理普通的ping)。
理解三种链式模式是有帮助的,因为它们在失败时表现得非常不同。在strict_chain中,流量必须按照给定的确切顺序通过每个列出的代理,如果其中任何一个代理不可用,连接就会失败——当顺序和每个跳点都很重要时,这正是你想要的。在dynamic_chain中,proxychains会跳过任何失效的代理,并按顺序使用其余的,这对不稳定的列表更为宽容。在random_chain中,它为每个连接选择一个随机子集,这对分散流量有用,但不可预测。无论你选择哪种模式,请记住,每个额外的跳点都会增加延迟,并增加另一个可以看到你连接元数据的操作员,因此要有意识地链式连接,而不是为了模糊的额外安全感而堆叠代理。
安装并配置它
在 Debian/Ubuntu/Kali 上;配置文件位于 /etc/proxychains4.conf 或 ~/.proxychains/proxychains.conf。
安装 proxychains-ng
安装软件包(在基于 Debian 的系统上使用 apt install proxychains4,或从源代码构建 proxychains-ng 以获取最新版本)。
编辑配置
打开配置文件。选择一个链模式(strict_chain、dynamic_chain 或 random_chain),并且关键是启用 proxy_dns 以通过链路路由 DNS。
在底部添加您的代理
在 [ProxyList] 部分添加您的 SOCKS5 行:类型、主机、端口,以及对于需要身份验证的代理,用户名和密码。s4m SOCKS5 在端口 1080 上。
通过它运行命令
在任何命令前加上 proxychains4,例如 proxychains4 curl https://api.ipify.org, 并确认退出 IP 是代理的,而不是您的。
示例proxychains4.conf
启用proxy_dns以避免泄漏查找,选择链模式,并列出您的代理。在strict_chain中,流量按顺序通过每个代理。
# /etc/proxychains4.conf # Route all connections through the proxies in ORDER, all must be up: strict_chain # (alternatives: dynamic_chain = skip dead ones; random_chain = random subset) # CRITICAL: resolve DNS through the chain, not your local resolver: proxy_dns [ProxyList] # type host port user pass socks5 proxy.s4m.online 1080 USER PASS # Chain a second hop by adding another line below (strict_chain): # socks5 another.proxy.host 1080 USER2 PASS2 # Usage: # proxychains4 curl https://api.ipify.org # proxychains4 nmap -sT -Pn target (TCP connect scan only)
问题,已解答
我如何阻止 proxychains 泄漏 DNS?
在 proxychains4.conf 中启用 proxy_dns 选项。没有它,您的 DNS 查询将发送到本地解析器,并揭示您正在访问的域,即使连接是通过代理的。有了它,查询将通过代理链解析。
proxychains 能否路由 ping 或 UDP 流量?
不。proxychains 在 TCP 连接级别工作,通过钩住库调用,因此无法代理原始 ICMP(ping)或任意 UDP。它也只影响动态链接的程序。如果需要透明地路由非 TCP 流量,请使用完整的 VPN。
我可以使用proxychains链式多个代理吗?
是的。向 [ProxyList] 部分添加多行。在 strict_chain 模式下,您的流量按顺序通过所有代理;dynamic_chain 跳过任何不可用的代理;random_chain 使用随机子集。每增加一个跳转会增加延迟,因此只链式连接您需要的数量。
人们通过搜索找到此页面
- Proxychains:如何链式使用SOCKS5代理
- 什么是 IP 地址?
- Proxychains:如何链式使用SOCKS5代理 用于抓取
- VPN 的专用 IP 与共享 IP:禁令、验证码、电子邮件
- 最佳 Proxychains:如何链式使用SOCKS5代理 2026
- 代理设置 用于抓取
- 代理认证
- 用于抓取Wildberries、Ozon和Avito的代理
- http 代理 用于 Windows
- 代理设置 按国家
- VPN 断开开关 解释
- 如何配置用于抓取的代理
此页面回答的真实搜索短语 — 链接的短语打开详细覆盖它们的页面。