Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/haad/proxychains
网络安全渗透测试红队DNS 分析
GitHubhaad/proxychains

proxychains

proxychains - 一个强制任何给定应用程序发起的 TCP 连接通过代理(如 TOR 或任何其他 SOCKS4、SOCKS5 或 HTTP(S) 代理)进行转发的工具。支持的认证类型:SOCKS4/5 的“user/pass”,HTTP 的“basic”。

查看仓库网站
7.9k67762年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ProxyChains 版本 4.3.0 README

build-badge

ProxyChains 是一个 UNIX 程序,它通过预加载的 DLL 钩住动态链接程序中的网络相关 libc 函数,并将连接重定向到 SOCKS4a/5 或 HTTP 代理。

警告:此程序仅适用于动态链接的程序。此外,proxychains 和要调用的程序必须使用相同的动态链接器(即相同的 libc)。

当前版本的已知限制

当进程 fork 时,在子进程中进行 DNS 查找,然后在父进程中使用该 IP,对应的 IP 映射将找不到,这是因为 fork 无法写回父进程的映射表。IRSSI 表现出这种行为,因此你必须将解析后的 IP 地址传递给它。(你可以使用 proxyresolv 脚本(需要 "dig")来实现)

这意味着你目前无法在 irssi 中使用 tor onion 网址。要解决这个问题,需要一个外部数据存储(文件、管道等)来管理 DNS <-> IP 映射。当然必须有适当的锁定。shm_open、mkstemp 是基于文件的方法的可能候选,另一个选项是生成某种管理映射查找的服务器进程。由于 connect() 等被钩住,这不能是一个 TCP 服务器。

我不愿意进行这一更改,因为所描述的行为似乎相当愚蠢(仅仅为了 DNS 查找而进行 fork),而且 irssi 是目前唯一已知受影响的程序。

安装

使用发布版本

Proxychains-4.3.0 可通过 pkgsrc 提供给在 Linux、NetBSD、FreeBSD、OpenBSD、DragonFlyBSD 或 Mac OS X 上使用 pkgsrc 的用户。你只需要安装 pkgsrc-wip 仓库,然后在 wip/proxychains 目录中运行 make install

你可以通过 link:http://www.pkgsrc.org[pkgsrc] 了解更多关于 pkgsrc 的信息,通过 link:https://pkgsrc.org/wip[Pkgsrc-wip 主页] 了解更多关于 pkgsrc-wip 的信息。

在 Mac OS X 上使用 homebrew 安装

你可以使用 homebrew 在 Mac OS X 上安装当前版本的 proxychains。你需要从以下位置下载非官方的 link:https://gist.github.com/3792521[homebrew formula] 到你的 BREW_HOME(默认为 /usr/local/Library/Formula/),然后运行

root@kitploit:~
$ brew install proxychains

运行当前源代码版本

root@kitploit:~
# 需要一个可用的 C 编译器,最好为 gcc
./configure
make
sudo make install

更新日志

版本 (4.x) 移除了 dnsresolver 脚本,该脚本需要一个动态链接的 "dig" 二进制文件来进行远程 DNS 查找。这加速了任何涉及 DNS 的操作,因为旧脚本必须使用 TCP。此外,它允许在与 TOR 一起使用时使用 .onion 网址。此外,它用简单的 Makefile 替换了损坏的 autoconf 构建系统。不过为了方便,还有一个 ./configure 脚本。它还增加了对通过命令行选项/环境变量传递配置文件的的支持。

版本 (3.x) 引入了通过代理进行 DNS 解析的支持,支持 SOCKS4、SOCKS5 和 HTTP CONNECT 代理服务器。

  • 认证类型 ** socks - "user/pass", ** http - "basic"

何时使用

  • 当从你的局域网获得“外部”的唯一方式是通过代理服务器时。
  • 为了摆脱过滤出站端口的限制性防火墙。
  • 使用两个(或更多)代理链:
root@kitploit:~
   例如:your_host <--> proxy1 <--> proxy2 <--> target_host
  • 为没有内置代理支持的程序(如 telnet)添加代理功能。
  • 通过代理从外部访问内网。
  • 在代理后面使用 DNS。

一些很酷的功能

  • 此程序可以在同一个链中混合使用不同的代理类型
root@kitploit:~
   例如:your_host <-->socks5 <--> http <--> socks4 <--> target_host
  • 支持不同的链选选项 从列表中随机顺序(用户定义链长度)。 精确顺序(按列表中的顺序) 动态顺序(智能排除链中的死代理)
  • 你可以将其与任何 TCP 客户端程序一起使用,甚至是网络扫描器 是的,是的 - 你可以通过代理(或代理链)进行端口扫描 例如使用 Nmap 扫描器(www.insecure.org/nmap)。
root@kitploit:~
  proxychains nmap -sT -PO -p 80 -iR  (通过代理查找一些 web 服务器)
  • 你可以将其用于服务器,如 squid、sendmail 等。
  • 通过代理进行 DNS 解析。

配置

proxychains 按以下顺序查找配置:

  • 环境变量 ${PROXYCHAINS_SOCKS5_HOST} 和 ${PROXYCHAINS_SOCKS5_PORT} 中的 SOCKS5 代理主机 IP 和端口 (如果设置了 ${PROXYCHAINS_SOCKS5_PORT},将不再搜索进一步配置。如果未设置 ${PROXYCHAINS_SOCKS5_HOST},主机 IP 将变为 "127.0.0.1")
  • 环境变量 ${PROXYCHAINS_CONF_FILE} 中列出的文件,或作为 -f 参数提供给 proxychains 脚本或二进制文件。
  • ./proxychains.conf
  • $(HOME)/.proxychains/proxychains.conf
  • /etc/proxychains.conf

详见 /etc/proxychains.conf

使用示例

root@kitploit:~
$ proxychains4 telnet targethost.com

在此示例中,它将通过 proxychains.conf 指定的代理(或代理链)运行 telnet。

使用示例

root@kitploit:~
$ proxychains4 -f /etc/proxychains-other.conf targethost2.com

在此示例中,它将使用与 proxychains.conf 不同的配置文件连接到 targethost2.com 主机。

使用示例

root@kitploit:~
$ proxyresolv targethost.com

在此示例中,它通过 proxychains.conf 指定的代理(或代理链)解析 targethost.com。

使用示例

root@kitploit:~
$ ssh -fN -D 4321 some.example.com
$ PROXYCHAINS_SOCKS5_HOST=127.0.0.1 PROXYCHAINS_SOCKS5_PORT=4321 proxychains zsh

在此示例中,它将运行一个 shell,所有流量都通过 localhost 端口 4321 上的 OpenSSH "动态代理"(SOCKS5 代理)进行代理。

使用示例

root@kitploit:~
$ export PROXY_DNS_SERVER=8.8.8.8
$ proxychains4 telnet targethost.com

在此示例中,它将使用用户通过 PROXY_DNS_SERVER 提供的 8.8.8.8 名称服务器 telnet 到 targethost.com。

下载工具