proxychains
Table of Contents
1 概述
proxychains-ng 是一个 UNIX 程序,它通过预加载的 DLL(dlsym(),LD_PRELOAD)hook 动态链接程序中与网络相关的 libc 函数,然后通过 SOCKS4a/5 或 HTTP 代理重定向连接。它仅支持 TCP(不支持 UDP/ICMP 等)。
它的工作方式基本上是 HACK;所以有可能无法适配您的程序,特别是脚本或启动许多进程的程序,例如后台守护程序或使用 dlopen()进行加载“模块”。
它应与简单的已编译(C/C++)动态链接程序一起使用。
如果您的程序不适用于代理链,请考虑使用 基于 iptables 的解决方案;这要强大得多。
支持的平台:Linux,BSD,Mac。
1.1 什么时候使用呢?
- 当从局域网连接“外部”的唯一方法是通过代理服务器。
- 从筛选出端口的限制性防火墙后面出来。
- 要在链中使用两个(或多个)代理: 如:your_host <-> proxy1 <-> proxy2 <-> target_host
- “代理”某些没有内置代理支持的程序(例如 telnet)
- 通过代理从外部访问 Intranet。
- 在代理后面使用 DNS。
- 访问隐藏的洋葱服务。
1.2 一些很酷的功能:
- 该程序可以在同一链中混合使用不同的代理类型如:your_host <-> socks5 <-> http <-> socks4 <-> target_host
- 支持不同的链路选项
- 随机顺序
- 确切顺序
- 动态顺序(智能从链中排除死代理)
- 可以将其用于大多数 TCP 客户端应用程序,甚至可以用于网络扫描程序,只要它们使用标准的 libc 功能。基于 pcap 的扫描不起作用。
- 可以将其与 squid,sendmail 等服务器一起使用。
- 通过代理解析 DNS。
2 安装
2.1 源码
需要一个有效的 C 编译器,最好是 gcc
./configure --prefix=/usr --sysconfdir=/etc make && make install && make install-config (installs proxychains.conf)
如果不安装,则可以使用 build 目录中的 proxychains:
2.2 debian
apt install proxychains4
3 配置
proxychains 按以下顺序查找配置文件:
- 环境变量
PROXYCHAINS_CONF_FILE
中列出的文件或 作为-f 参数提供给 proxychains 脚本或二进制文件。 ./proxychains.conf
$(HOME)/.proxychains/proxychains.conf
$(sysconfdir)/proxychains.conf
,通常是/etc/proxychains.conf
4 使用
proxychains4 -f src/proxychains.conf telnet google.com 80
prxoychaing4 open -a "App"