Перейти к содержимому
Гайды 6 мин чтения 1 просмотров

ProxyChains

Подробное руководство по ProxyChains в Linux. Узнайте, как создавать и использовать цепочки прокси для повышения анонимности и безопасности в сети.

Безопасность

ProxyChains — это инструмент командной строки для Linux, который форсирует сетевой трафик любого TCP-приложения через одну или несколько прокси-серверов, создавая цепочки для повышения анонимности или обхода сетевых ограничений.

Что такое ProxyChains?

ProxyChains является утилитой, которая перехватывает сетевые вызовы TCP-приложений, используя механизм LD_PRELOAD для динамической библиотеки libproxychains.so. Это позволяет маршрутизировать весь исходящий TCP-трафик указанного приложения через сконфигурированные прокси-серверы. Утилита поддерживает различные типы прокси, включая SOCKS4, SOCKS5 и HTTP/HTTPS, а также позволяет создавать цепочки из нескольких прокси-серверов для многоуровневого анонимирования или распределения нагрузки.

Основные сценарии использования ProxyChains включают:

  • Повышение анонимности: Маршрутизация трафика через несколько прокси-серверов затрудняет отслеживание исходного IP-адреса.
  • Обход сетевых ограничений: Доступ к ресурсам, заблокированным по географическому признаку или корпоративным файрволом.
  • Тестирование безопасности: Использование при сканировании портов или эксплуатации уязвимостей для маскировки источника атаки.

Установка ProxyChains

Установка ProxyChains в большинстве дистрибутивов Linux выполняется через стандартные менеджеры пакетов.

Debian/Ubuntu

sudo apt update
sudo apt install proxychains4

CentOS/RHEL/Fedora

sudo dnf install proxychains-ng
# Или для старых версий
sudo yum install epel-release
sudo yum install proxychains-ng

Arch Linux

sudo pacman -S proxychains-ng

После установки исполняемый файл обычно называется proxychains4 или proxychains-ng. В данной статье используется proxychains4 как наиболее распространённое наименование.

Конфигурация ProxyChains

Основной файл конфигурации ProxyChains расположен по пути /etc/proxychains.conf или /etc/proxychains4.conf. Пользователь может создать локальную копию ~/.proxychains/proxychains.conf или ~/.proxychains4.conf, которая будет иметь приоритет.

Основные директивы

Файл конфигурации содержит следующие ключевые директивы:

  • strict_chain: Трафик проходит через все прокси-серверы в списке строго по порядку. Если один из прокси недоступен, вся цепочка прерывается.
  • dynamic_chain: Трафик проходит через все доступные прокси-серверы в списке по порядку. Если какой-либо прокси недоступен, он пропускается, и цепочка продолжается через следующий. Это более гибкий вариант, но может раскрыть IP-адрес, если останется только один прокси или все последующие недоступны.
  • random_chain: Трафик проходит через случайное подмножество прокси-серверов из списка. Количество прокси выбирается директивой chain_len.
  • round_robin_chain: Трафик проходит через прокси-серверы по кругу, используя каждый прокси по очереди для новых соединений. Полезно для распределения нагрузки.
  • chain_len <число>: Используется с random_chain для указания количества прокси в случайной цепочке.
  • proxy_dns: Включение этой опции заставляет все DNS-запросы также проходить через прокси-серверы, что предотвращает утечки DNS. Рекомендуется для обеспечения анонимности.
  • tcp_read_time_out <секунды>: Устанавливает таймаут для чтения данных из TCP-сокета.
  • tcp_connect_time_out <секунды>: Устанавливает таймаут для установки TCP-соединения.

Добавление прокси-серверов

В конце файла конфигурации находится секция [ProxyList], где добавляются прокси-серверы. Каждый прокси указывается в формате:

тип IP порт [пользователь пароль]

Поддерживаемые типы прокси:

  • socks4
  • socks5
  • http
  • https

Пример конфигурации:

# /etc/proxychains4.conf или ~/.proxychains4.conf

# Выберите тип цепочки (раскомментируйте один из них)
# strict_chain
dynamic_chain
# random_chain
# round_robin_chain

# Установите длину цепочки для random_chain
# chain_len = 2

# Включить проксирование DNS
proxy_dns

# Таймауты
tcp_read_time_out 15000
tcp_connect_time_out 8000

[ProxyList]
# Добавьте свои прокси-серверы здесь
# Формат: тип IP порт [пользователь пароль]

# Пример SOCKS5 прокси
socks5 192.168.1.1 9050

# Пример HTTP прокси с аутентификацией
http 10.0.0.100 8080 user pass

# Пример SOCKS5 прокси с аутентификацией
socks5 172.16.0.5 1080 myuser mypassword

# Пример другого SOCKS5 прокси
socks5 127.0.0.1 9050 # обычно Tor

Типы цепочек прокси

Выбор типа цепочки зависит от требований к надёжности и анонимности.

| Тип цепочки | Описание # strict_chain

dynamic_chain

random_chain

round_robin_chain

proxy_dns

chain_len = 2

tcp_read_time_out 15000

tcp_connect_time_out 8000

[ProxyList]

socks5 192.168.1.1 9050

http 10.0.0.100 8080 user pass

socks5 172.16.0.5 1080 myuser mypassword

socks5 127.0.0.1 9050

## Использование ProxyChains

Для запуска любого приложения через ProxyChains используется следующий синтаксис:

```bash
proxychains4 <команда> [аргументы]

При запуске proxychains4 выводит информацию о цепочке прокси, через которую будет проходить трафик.

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

Получение внешнего IP-адреса с помощью curl

proxychains4 curl ifconfig.me

Вывод:

ProxyChains-4.x (git-16a704e)
|D-chain|-<>-127.0.0.1:9050-<>-ifconfig.me:80-<><>-OK
XXX.XXX.XXX.XXX

Где XXX.XXX.XXX.XXX — это IP-адрес последней прокси в цепочке.

Загрузка файла с помощью wget

proxychains4 wget https://example.com/somefile.zip

Сканирование портов с помощью nmap

Использование nmap с ProxyChains имеет ограничения. nmap генерирует сырые пакеты, которые ProxyChains не может перехватить. Однако для TCP-соединений, например, при использовании опции -sT (TCP connect scan), ProxyChains может быть эффективен.

proxychains4 nmap -sT -Pn -p 80,443 example.com

Опция -Pn отключает пингование хоста, чтобы избежать раскрытия вашего реального IP-адреса через ICMP.

Запуск веб-браузера Firefox

proxychains4 firefox

При запуске Firefox через ProxyChains весь его трафик будет проходить через сконфигурированные прокси. Важно убедиться, что в самом браузере не настроены другие прокси, которые могут конфликтовать или обходить ProxyChains.

Обработка DNS-запросов и предотвращение утечек

Утечка DNS-запросов (DNS leak) происходит, когда запросы на разрешение доменных имен отправляются напрямую на DNS-сервер провайдера, минуя прокси. Это может раскрыть ваш реальный IP-адрес.

Для предотвращения DNS leaks в ProxyChains необходимо активировать опцию proxy_dns в файле конфигурации:

proxy_dns

При активации этой опции ProxyChains перехватывает DNS-запросы и отправляет их через последний прокси-сервер в цепочке. Это гарантирует, что DNS-запросы также анонимизированы.

Дополнительные меры:

  • Локальный кэш DNS: Некоторые системы Linux используют локальный DNS-кэш (например, systemd-resolved или dnsmasq). Убедитесь, что он не переопределяет настройки ProxyChains.
  • Тестирование утечек: После настройки проверьте систему на наличие DNS leaks, используя онлайн-сервисы, такие как dnsleaktest.com или ipleak.net, запуская их через proxychains4.

Типичные проблемы и их устранение

ERROR: ld.so: object 'libproxychains.so' from LD_PRELOAD cannot be preloaded

Эта ошибка указывает на проблему с загрузкой библиотеки libproxychains.so. Возможные причины:

  • Неправильная архитектура: Вы пытаетесь запустить 32-битное приложение с 64-битной библиотекой ProxyChains или наоборот. Убедитесь, что установлена версия ProxyChains, соответствующая архитектуре вашей системы и запускаемого приложения.
  • Отсутствие библиотеки: Библиотека libproxychains.so не найдена в системных путях. Проверьте её наличие по пути /usr/lib/proxychains4/libproxychains.so или /usr/lib64/proxychains4/libproxychains.so.
  • SELinux/AppArmor: Системы безопасности могут блокировать LD_PRELOAD. Временно отключите их или настройте правила.

Connection refused

Проблема указывает на отказ в соединении с прокси-сервером или целевым хостом.

  • Прокси недоступен: Убедитесь, что прокси-сервер, указанный в proxychains.conf, работает и доступен с вашего IP-адреса. Проверьте IP-адрес и порт.
  • Файрвол: Локальный файрвол или файрвол на стороне прокси-сервера блокирует соединение.
  • Неверные учётные данные: Если прокси требует аутентификации, проверьте правильность user и pass.

Authentication error

Эта ошибка возникает, когда прокси-сервер требует аутентификацию, но предоставленные учётные данные неверны или отсутствуют.

  • Проверьте user и pass в файле proxychains.conf для соответствующего прокси.
  • Убедитесь, что прокси-сервер действительно поддерживает указанный тип аутентификации.

Медленная работа/таймауты

Проблема может быть вызвана несколькими факторами:

  • Медленный прокси: Сам прокси-сервер имеет низкую пропускную способность или высокую задержку.
  • Большое количество прокси в цепочке: Каждое дополнительное звено в цепочке увеличивает задержку.
  • Низкие таймауты: Увеличьте значения tcp_read_time_out и tcp_connect_time_out в файле конфигурации.

Соображения безопасности и анонимности

Использование ProxyChains повышает уровень анонимности, но не является универсальным решением для полной неуязвимости.

  • Доверие к прокси-серверам: Каждый прокси-сервер в цепочке видит трафик, проходящий через него. Если один из прокси скомпрометирован или принадлежит ненадёжной стороне, ваша анонимность может быть нарушена.
  • Не панацея: ProxyChains работает на уровне TCP. Трафик, который не использует TCP (например, UDP, ICMP), не будет проксироваться. Для полной анонимности требуется комплексный подход, включающий VPN, Tor и другие инструменты.
  • Веб-RTC и Flash: Веб-технологии, такие как WebRTC, могут раскрывать ваш реальный IP-адрес, даже если трафик браузера проходит через прокси. Рекомендуется отключать WebRTC в браузере или использовать специальные расширения.
  • Отпечатки браузера (Browser Fingerprinting): Даже при анонимном IP-адресе, уникальные настройки браузера, шрифты, плагины и другие параметры могут быть использованы для идентификации пользователя.

Для максимальной анонимности рекомендуется сочетать ProxyChains с другими инструментами и практиками, такими как VPN, Tor (часто как первый или последний прокси

Обновлено: 03.03.2026
Назад к категории

Попробуйте наши прокси

20,000+ прокси в 100+ странах мира