使用proxychains4解决你linux上的依赖安装问题

406 阅读3分钟

proxychains4 是一个强大的 Linux/UNIX 下的代理工具,可以将任何 TCP 连接(包括没有内置代理支持的程序)通过一个或多个代理服务器(SOCKS4、SOCKS5、HTTP CONNECT)进行转发,实现“全局代理”效果。

核心功能

  • 代理类型支持:支持 SOCKS4、SOCKS5、HTTP CONNECT 代理,支持基本认证(用户名/密码)。
  • 代理链(Proxy Chain):可将多个代理服务器串联,形成“代理链”,提升匿名性与绕过限制能力。
  • 多种链路模式
    • dynamic_chain:按列表顺序使用代理,遇到不可用代理自动跳过,适合稳定性需求。
    • strict_chain:严格按列表顺序使用代理,链中任意代理不可用则连接失败,适合需要确定链路的场景。
    • random_chain:每次随机选择代理链,提高匿名性。
    • round-robin_chain:轮询使用代理,实现负载均衡。
  • DNS 代理:可将 DNS 请求通过代理链转发,防止 DNS 泄漏,提升隐私保护。
  • 适用范围广:可“代理”任何 TCP 客户端程序,包括 telnet、curl、nmap、firefox 等,不依赖程序本身是否支持代理。

配置与使用

1. 安装

sudo apt install proxychains4

2. 配置文件

  • 主要配置文件一般为 /etc/proxychains4.conf/etc/proxychains.conf
  • 需要编辑该文件,添加代理服务器信息,并选择合适的链路模式。

3. 配置示例

# 选择链路模式(只保留一个未注释项)
dynamic_chain
#strict_chain
#random_chain

# 代理 DNS 请求
proxy_dns

# 代理服务器列表(支持 socks4、socks5、http)
[ProxyList]
socks5 127.0.0.1 1080
http   192.168.1.100 8080 user pass
socks4 10.0.0.2 1080
  • 每一行格式为:类型 IP 端口 [用户名 密码]

4. 使用方法

  • 只需在命令前加 proxychains4 即可让该程序走代理:
proxychains4 curl ipinfo.io
proxychains4 firefox
proxychains4 nmap -sT -p 80 example.com
  • 可通过 -f 参数指定自定义配置文件:
proxychains4 -f /path/to/your.conf curl ipinfo.io
  • 检查代理是否生效:先运行 curl ipinfo.io,再用 proxychains4 curl ipinfo.io,对比 IP 是否变化。

进阶特性

  • 混合代理类型:代理链中可混合不同类型的代理(如 socks5 → http → socks4)。
  • 端口扫描:配合 nmap 等工具可实现匿名端口扫描。
  • 自定义超时:可在配置文件中设置 TCP 连接和读取超时时间,提高稳定性。
  • 支持服务器端程序:不仅支持客户端程序,也可用于 squid、sendmail 等服务器端程序。

注意事项

  • 仅支持 TCP 流量,不支持 UDP。
  • 运行某些 suid/sgid 程序(如 ssh)时,需以 root 权限运行 proxychains4。
  • 代理链中任意一个代理失效,strict_chain 模式下会导致连接失败,dynamic_chain 模式下会自动跳过。

典型应用场景

  • 提升依赖获取速度。
  • 提升匿名性,隐藏真实 IP。
  • 让不支持代理的程序也能通过代理访问外网。
  • 多级代理转发,提升安全性。