// DevOps

ProxyChains (и ProxyChains-NG): инструмент для анонимного трафика и сетевого тестирования

Опубликовано 22.09.2026


В мире, где приватность данных и доступ к ресурсам часто ограничены геоблоками или корпоративными политиками, инструменты вроде ProxyChains становятся незаменимыми помощниками. ProxyChains — а точнее его современный форк ProxyChains-NG — это открытый утилитарный инструмент для Unix-подобных систем (Linux, macOS и пр.), который позволяет перенаправлять сетевой трафик любого приложения через цепочку прокси-серверов. Он особенно популярен среди разработчиков, пентестеров и энтузиастов безопасности. В этой статье разберём, что умеет ProxyChains, почему он полезен разработчикам, приведём примеры использования и обсудим его ограничения.


Кратко: что такое ProxyChains-NG и как он работает

ProxyChains — программа, которая “оборачивает” TCP-соединения приложений и заставляет их проходить через последовательность прокси-серверов (SOCKS4, SOCKS5, HTTP/HTTPS).

Механизм работы на Linux: ProxyChains-NG использует LD_PRELOAD. Он подсовывает свою библиотеку приложению, перехватывает системные вызовы для работы с сетью (например, connect()), и перенаправляет их через прокси, указанные в конфигурационном файле.

Поддерживаемые режимы цепочки:

  • strict_chain — трафик идёт строго по списку; если один прокси упал — цепочка не работает. Этот режим включён в стандартном конфиге проекта.
  • dynamic_chain — если прокси недоступен, он пропускается; удобен, когда в списке несколько прокси и нужна устойчивость.
  • random_chain — выбирает случайный прокси из списка для каждого соединения.

Важно: оригинальный proxychains (версии 3.x) устарел. Сегодня рекомендуется использовать proxychains-ng (в пакетах часто бинарь называется proxychains4).


Установка и базовая настройка

На Debian/Ubuntu/Kali:

bash
sudo apt update
sudo apt install proxychains4
# команда запуска — proxychains4

В Debian и Ubuntu пакет называется proxychains4 (это и есть proxychains-ng, в Debian 13 — версия 4.17); пакет proxychains — старая ветка 3.1.

Файл конфигурации обычно находится в /etc/proxychains4.conf. Пример секции ProxyList:

ini
[ProxyList]
# Tor
socks5 127.0.0.1 9050
# HTTP прокси
http 192.168.1.100 8080

Проксирование DNS управляется директивой proxy_dns. В стандартном конфиге proxychains-ng она включена; проверьте, что в конфиге вашего пакета строка не закомментирована:

ini
proxy_dns

При proxy_dns приложение вместо настоящего IP-адреса получает условный адрес из служебной подсети (параметр remote_dns_subnet, по умолчанию 224), а при подключении proxychains передаёт прокси само имя хоста — адрес определяет уже прокси. Поэтому запросы к DNS-серверу провайдера не уходят.


Почему ProxyChains удобен разработчику

ProxyChains — это не только про анонимность. Для разработчика он полезен в ряде практических сценариев:

  • Тестирование поведения сервисов из разных геолокаций. Быстро проверяете, как API/сайт ведёт себя при запросах с IP из США, ЕС, Азии и т. д., без поднятия VPN или изменения конфигурации приложений.
  • Отладка и пентест. Можно убедиться, что приложение не «сливает» настоящий IP, и протестировать поведение под разными сетевыми условиями.
  • Удобство для CLI-утилит. Вместо того, чтобы настраивать прокси в каждом инструменте, добавляете префикс proxychains4.
  • Интеграция с Tor. Простая возможность направить трафик через Tor (при соблюдении доп. мер против утечек).

Ограничения, о которых важно помнить:

  • Не работает со статически скомпонованными бинарями (например, многие Go-бинарники).
  • Не перехватывает raw-сокеты и UDP (по умолчанию) — значит, некоторые типы трафика (ICMP/ping, UDP-доменные запросы, VoIP) не проксируются.
  • Потенциально увеличивает задержку и снижает скорость соединения.

Практические примеры использования

Запускаете любой инструмент с префиксом proxychains4:

  1. Проверить внешний IP:
bash
proxychains4 curl ifconfig.me

Вернёт IP последнего хопа цепочки.

  1. Сканирование с nmap (только TCP Connect scan):
bash
proxychains4 nmap -sT -p 80,443 example.com

Важно: nmap -sS (SYN scan) использует raw-сокеты и работать не будет. ProxyChains поддерживает -sT (TCP Connect), так как он использует обычный connect().

  1. SSH через цепочку:
bash
proxychains4 ssh user@remote-server.com
  1. Скачивание через Tor:
  • Запустите tor локально.

  • В конфиге /etc/proxychains4.conf добавьте:

    socks5 127.0.0.1 9050
    proxy_dns
  • Запустите:

bash
proxychains4 wget https://example.com/file.zip

DNS и HTTP-трафик будут идти через Tor (при условии включённого proxy_dns).


Минусы и критические ограничения

1. Утечки DNS (DNS leaks) — главный риск

В стандартном конфиге proxychains-ng proxy_dns включён, и имена хостов разрешает прокси. Утечка возникает в двух случаях: если proxy_dns закомментирован (так бывает в изменённых конфигах) или если приложение определяет адреса само, минуя системный резолвер, — например, отправляет DNS-запросы по UDP напрямую. Такой трафик proxychains не перехватывает, и запросы уходят к DNS-серверу в обход прокси, что раскрывает, какие сайты вы открываете. Проверяйте поведение конкретной утилиты, например с помощью tcpdump -i any port 53.

2. Работает только с TCP

ProxyChains предназначен для TCP. UDP, ICMP и raw-сокеты не проксируются. Для проксирования UDP нужны другие инструменты (например, tun-/tap-решения или VPN-сервисы, либо специфические UDP-туннели).

3. Совместимость

Не работает со статически скомпилированными бинарями (они не подхватывают LD_PRELOAD) и с программами, создающими raw-сокеты. Многие современные утилиты на Go часто компилируются статически — учтите это при планировании тестов.

4. Снижение производительности

Каждый дополнительный прокси добавляет латентность. Для чувствительных к задержкам задач (стриминг, игры, real-time) ProxyChains не подойдёт.

5. Безопасность цепочки прокси

Прокси в цепочке могут логировать или модифицировать трафик. Используйте доверенные узлы и помните, что последний узел (exit node) видит незашифрованный трафик, если вы не используете TLS/HTTPS поверх прокси.


Полезные советы и best practices

  • Следите, чтобы proxy_dns оставался включённым, если хотите реальной анонимности.
  • Тестируйте конфигурацию: сначала proxychains4 curl ifconfig.me, затем proxychains4 dig +short example.com @8.8.8.8 и сравнивайте результаты.
  • Для приложений, которые не работают с LD_PRELOAD, используйте системный прокси (встроенные опции) или поднимайте локальный tun/tap (VPN).
  • Не комбинируйте ненадёжные прокси с конфиденциальными данными — логин/пароли по HTTP через ненадёжный прокси — плохая идея.
  • Для массового тестирования гео-зависимого поведения лучше иметь пул доверенных прокси из разных регионов (или использовать коммерческие сервисы).

Короткое сравнение: ProxyChains vs VPN vs SOCKS-proxy (таблица)

ЗадачаProxyChainsVPNSOCKS (локальный/сервис)
Перекрыть любой TCP-трафик с помощью префикса✅ (для динамически линкуемых бинарей)✅ (весь трафик)Частично (нужно настраивать приложения)
Проксировать DNS по умолчанию✅ (proxy_dns включён в стандартном конфиге)✅Зависит от настроек
Пластичность: цепочки прокси✅❌ (обычно один туннель)❌ (по одному хопу)
Поддержка UDP/ICMP❌✅Зависит от реализации
Задержка (latency)Может быть высокой при цепочкахОбычно стабильнаНизкая/средняя

Заключение

ProxyChains-NG — мощный и лёгкий инструмент для разработчиков и пентестеров: он упрощает тестирование из разных геолокаций, помогает проверять утечки IP и даёт гибкость при работе с CLI-инструментами. Но он не универсален: надо помнить про DNS-утечки, отсутствие поддержки UDP/raw-сокетов, несовместимость со статически скомпилированными бинарями и риски, связанные с ненадёжными прокси.

Если вы собираетесь применять ProxyChains в серьёзной работе, настройте proxy_dns, протестируйте поведение ваших утилит и используйте доверенные прокси или Tor в связке с TLS-шифрованием. Для полного проксирования всего трафика (включая UDP) лучше рассмотреть VPN-решения или поднятие локального туннеля.

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Написать в Telegram

Отвечаю в течение рабочего дня (03:00–13:00 GMT)

Или оставьте заявку здесь:

Подтвердите, что вы не бот.

Написать и получить быстрый ответ