Как установить и настроить ProxyChains в Linux
Вам когда-нибудь нужно было заставить программу использовать прокси, но программа просто не поддерживает настройки прокси? Возможно, вы запускаете инструмент командной строки, который не имеет встроенных опций прокси, или хотите направлять трафик через несколько прокси для дополнительной анонимности. Вот тут и приходит на помощь ProxyChains.
Что такое ProxyChains?
ProxyChains — это мощный инструмент UNIX, который заставляет любое сетевое соединение, выполняемое программой, проходить через один или несколько прокси-серверов, даже если эта программа изначально не поддерживает прокси.
Он работает, перехватывая вызовы библиотек, связанных с сетью, в динамически связанных программах (через LD_PRELOAD), прозрачно перенаправляя эти соединения через прокси, такие как SOCKS4, SOCKS5 или HTTP-серверы.
ProxyChains поддерживает Linux, BSD, macOS и Haiku. И что самое главное, он полностью бесплатный и с открытым исходным кодом.
Будь вы исследователем безопасности, тестировщиком на проникновение или просто человеком, который хочет обойти гео-ограничения, это руководство проведет вас через все, что вам нужно знать.
Что именно делает ProxyChains?
Думайте о ProxyChains как о строителе туннелей для вашего сетевого трафика. Когда вы запускаете программу с proxychains перед командой, её сетевые соединения автоматически перенаправляются через прокси, которые вы определили.
ProxyChains работает, перехватывая вызовы библиотек, связанных с сетью, в динамически связанных программах через LD_PRELOAD, перехватывая соединения до того, как они достигнут сети.
Обратите внимание, что этот подход работает только с программами с динамической линковкой, такими как скрипты; программы, которые используют dlopen() для загрузки модулей, и программы, которые порождают несколько фоновых процессов, могут работать ненадежно.
Распространенные варианты использования включают:
- Скрытие вашего реального IP-адреса при подключении к веб-сайтам
- Соединение нескольких прокси вместе для дополнительной анонимности (например, Tor → SOCKS5 → HTTP)
- Обход брандмауэров или гео-ограничений
- Использование сетевых инструментов, таких как
nmapилиcurl, без встроенной поддержки прокси - Тестирование того, как приложения ведут себя за прокси
Для тестирования на проникновение и разведки рекомендуется следующий порядок: VPN → ProxyChains → Цель. Таким образом, ваш интернет-провайдер видит только зашифрованный трафик к вашему VPN, ваш VPN-провайдер видит подключения к прокси, а не к конечной цели, и цель видит только последний прокси в вашей цепочке.
Важное примечание: ProxyChains не шифрует ваш трафик и маршрутизирует только TCP-соединения. UDP и ICMP не поддерживаются вне зависимости от выбранного вами типа прокси. Ваша конфиденциальность полностью зависит от используемых прокси и того, поддерживают ли они шифрование (например, Tor или SOCKS5 через TLS). ProxyChains сам по себе лишь скрывает ваш IP-адрес от конечного адресата. Для надежной конфиденциальности комбинируйте его с VPN или Tor.
Установите ProxyChains в Linux
ProxyChains доступен в большинстве репозиториев дистрибутивов Linux.
На Arch Linux и Manjaro:
sudo pacman -S proxychains-ng torВ Debian, Ubuntu и Pop!_OS:
sudo apt update
sudo apt install proxychains4 tor -yНа Kali Linux ProxyChains предустановлен, но вы можете захотеть обновить его до последней версии.
На Red Hat, Fedora, AlmaLinux и Rocky Linux:
Для дистрибутивов, использующих dnf или yum:
sudo dnf install proxychains-ng torЕсли вам нужно компилировать из исходного кода, вы можете клонировать репозиторий:
git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make -j $(nproc)
sudo make install
sudo make install-configЭто устанавливает конфигурационный файл в /etc/proxychains.conf. Вам также нужно будет установить Tor, так как конфигурация по умолчанию использует локальный прокси Tor.
Запуск службы Tor
Прежде чем настроить что-либо, давайте запустим службу Tor. По умолчанию Tor предоставляет SOCKS-прокси на 127.0.0.1:9050.
sudo systemctl start tor
sudo systemctl enable tor # Starts Tor automatically at bootПроверьте, работает ли это правильно:
sudo systemctl status torВы должны увидеть «active (running)» в выводе.
Настройка ProxyChains
Теперь наступает важная часть. Основной файл конфигурации обычно находится по адресу /etc/proxychains4.conf в Debian/Ubuntu/Kali (устанавливается через пакет proxychains4) или по адресу /etc/proxychains.conf в сборках из исходного кода и некоторых других дистрибутивах.
Откройте это с помощью вашего любимого текстового редактора:
sudo nano /etc/proxychains4.confШаг 1: Выберите тип цепи
Ищите раздел типа цепи в начале файла. Вы увидите несколько вариантов, каждый с определённым поведением:
#dynamic_chain
#strict_chain
#round_robin_chain
#random_chainВыберите тот, который соответствует вашим потребностям:
- dynamic_chain (рекомендуется для новичков): Использует прокси в указанном порядке, но пропускает неработающие. Пока хотя бы один прокси работает, цепочка функционирует правильно.
- strict_chain (по умолчанию): Использует прокси в строгом порядке. Если любой прокси не срабатывает, вся цепочка не выполняется.
- round_robin_chain: Перебирает прокси по порядку, начиная с того места, на котором остановился с каждым новым подключением.
- random_chain: Выбирает случайные прокси из вашего списка для каждого соединения.
Уберите комментарий с выбранного типа, удалив # в начале строки, а остальные закомментируйте.
Шаг 2: Включите проксирование DNS
Найдите строку #proxy_dns и уберите комментарий. Это предотвращает утечки DNS, направляя DNS-запросы через ваши прокси:
proxy_dnsШаг 3: Проверьте настройки таймаута
Значения тайм-аута по умолчанию обычно подходят, но вы можете их изменить при необходимости:
tcp_read_time_out 15000
tcp_connect_time_out 8000Шаг 4: Добавьте свои прокси
Прокрутите вниз до раздела [ProxyList] в конце файла. По умолчанию указана SOCKS4-прокси на localhost, порт 9050 (Tor):
socks4 127.0.0.1 9050Для использования с директивой proxy_dns замените её на запись SOCKS5. SOCKS5 обеспечивает правильное разрешение DNS на стороне прокси, на котором proxy_dns основывается для предотвращения утечек:
[ProxyList]
socks5 127.0.0.1 9050Формат для добавления прокси: тип IP_адрес порт [имя_пользователя] [пароль]. Поддерживаемые типы прокси включают http, socks4 и socks5.
Сохраните файл с помощью Ctrl + O, нажмите Enter, затем Ctrl + X, чтобы выйти из nano.
Тестирование вашей установки
Давайте проверим, что всё работает правильно. Сначала проверьте ваш реальный IP-адрес:
curl ifconfig.meТеперь проверьте, какой IP у вас отображается через ProxyChains:
proxychains curl ifconfig.meIP-адрес должен отличаться от вашего реального.
Вы также можете протестировать специально с помощью проверяющего от проекта Tor:
proxychains curl https://check.torproject.orgЕсли все настроено правильно, вы должны увидеть сообщение «Поздравляем. Этот браузер настроен для использования Tor.»
Использование ProxyChains с приложениями командной строки
Использовать ProxyChains довольно просто. Просто добавьте proxychains перед любой командой:
# Downloading files
proxychains wget http://example.com/file.zip
# Network scanning with nmap
proxychains nmap -sT -Pn target.com
# SSH connections
proxychains ssh user@server.comДля инструментов сканирования сети, таких как nmap, помните о необходимости использовать флаг -sT (TCP connect), так как SYN-сканирование (-sS) использует сырые сокеты и не работает через ProxyChains.
Использование Firefox с Tor (Важная заметка)
Вас может соблазнить запуск Firefox с помощью proxychains firefox. Однако этот подход работает ненадёжно, потому что современный Firefox загружает свой сетевой код через модули, подгружаемые с помощью dlopen() (например, libxul), которые не наследуют хуки LD_PRELOAD, от которых зависит ProxyChains. Официальная документация ProxyChains явно отмечает это как известное ограничение.
Вот правильный способ направить Firefox через Tor:
Шаг 1: Подтвердите, что Tor запущен
sudo systemctl status torЕсли он не запущен, запустите его с помощью:
sudo systemctl start torШаг 2: Настройка Firefox вручную
Откройте Firefox и выполните следующие действия:
- Нажмите на кнопку меню (три горизонтальные линии) в правом верхнем углу.
- Выберите Настройки (или Параметры на некоторых системах).
- Прокрутите вниз до раздела Настройки прокси и нажмите кнопку Настроить прокси.
- В появившемся диалоговом окне выберите Ручная настройка прокси.
- В поле SOCKS Host введите
127.0.0.1, а в поле Port —9050. - Выберите SOCKS v5 как версию SOCKS.
- Самое главное, отметьте галочкой пункт, который говорит Использовать DNS через прокси при использовании SOCKS v5. Это предотвращает утечки DNS.
Шаг 3: Проверьте конфигурацию (необязательно)
Для расширенной проверки введите about:config в адресной строке Firefox и примите предупреждение. Найдите эти настройки и убедитесь, что они совпадают:
network.proxy.typeдолжен быть1(Ручная настройка прокси)network.proxy.socksдолжно быть127.0.0.1network.proxy.socks_portдолжен быть9050network.proxy.socks_versionдолжен быть5network.proxy.socks_remote_dnsдолжно бытьtrue
Шаг 4: Проверьте вашу настройку
Перейдите по адресу https://check.torproject.org/ в Firefox. Если настройка выполнена правильно, на странице будет отображаться «Поздравляем. Этот браузер настроен для использования Tor.»
Этот метод ручной настройки гораздо надежнее, чем использование proxychains с Firefox. Ваша настройка proxychains по-прежнему прекрасно работает для инструментов командной строки, таких как curl, wget и nmap.
Рассмотрение использования коммерческого прокси (по желанию)
Стандартный прокси Tor бесплатен и хорошо работает для задач, ориентированных на конфиденциальность. Однако сеть Tor может быть медленнее обычных прокси, и некоторые веб-сайты блокируют или ограничивают подключения с выходных узлов Tor.
Если вам нужны более высокие скорости, стабильное соединение или выделенный IP-адрес, вы можете заменить Tor в вашем ProxyList на SOCKS5 или HTTP прокси от коммерческого провайдера. В зависимости от провайдера и типа прокси, эти сервисы могут предложить лучшую производительность и меньшую вероятность блокировок по сравнению с Tor.
Например, такие провайдеры, как Proxy-Seller, предлагают HTTP, HTTPS и SOCKS5 прокси, которые работают с Proxychains. Независимо от того, какого провайдера вы выберете, сравните такие характеристики, как тип прокси, расположение серверов, методы аутентификации, время работы и цены, прежде чем совершать покупку. Также полезно протестировать сервис и прочитать независимые отзывы, чтобы убедиться, что он соответствует вашим требованиям.
Разница между SOCKS4 и SOCKS5
При настройке прокси вы столкнетесь как с SOCKS4, так и с SOCKS5. Вот почему обычно предпочитают SOCKS5:
| Функция | SOCKS4 | SOCKS5 |
|---|---|---|
| Поддержка протоколов | Только TCP | TCP и UDP* |
| Обработка DNS | Без DNS-прокси (обычный SOCKS4; расширение SOCKS4a, используемое ProxyChains, добавляет пересылку имени хоста) | Может проксировать DNS-запросы |
| Аутентификация | None | Поддержка имени пользователя/пароля |
| Поддержка IPv6 | Нет | Да |
| Безопасность | Ниже | Выше |
*SOCKS5 поддерживает UDP на уровне протокола, но ProxyChains маршрутизирует только TCP-соединения, независимо от того, какой тип прокси настроен. Возможность работы с UDP в SOCKS5 недоступна через ProxyChains.
SOCKS5 предпочтителен с ProxyChains в первую очередь потому, что он поддерживает полное разрешение DNS на стороне прокси (используемое директивой proxy_dns), аутентификацию и адресацию IPv6.
Как ProxyChains сравнивается с VPN?
Вы могли бы задаться вопросом, зачем использовать ProxyChains, когда VPN кажется проще. Оба инструмента повышают анонимность, но работают они очень по-разному.
VPN создает системный зашифрованный туннель, который направляет весь ваш интернет-трафик через свой сервер. Это подход «всё или ничего», который обеспечивает сильное шифрование и хорошую скорость. Однако вы должны доверять своему VPN-провайдеру, что он не будет записывать вашу активность.
ProxyChains работает на уровне приложений. Оно перенаправляет только определенные программы (например, curl или nmap) через цепочку прокси, в то время как другие приложения остаются без изменений. Это дает вам детальный контроль, но само по себе не обеспечивает шифрование. Ваша анонимность полностью зависит от используемых прокси.
Что касается скорости, современный VPN обычно намного быстрее, потому что использует оптимизированные протоколы, такие как WireGuard. ProxyChains могут быть заметно медленнее, особенно если вы цепляете несколько прокси или используете сеть Tor, которая перенаправляет трафик через несколько узлов по всему миру.
Вкратце: Используйте VPN, когда вам нужна быстрая, зашифрованная защита для всего. Используйте ProxyChains, когда необходимо направлять конкретные инструменты через пользовательскую цепочку прокси, например, для исследований OSINT или тестирования на проникновение.
Расширенные советы по настройке
Использование нескольких прокси в цепочке
Вы можете объединять несколько прокси для большей анонимности. Имейте в виду, что добавление большего числа прокси повышает анонимность, но снижает скорость и увеличивает вероятность сбоев соединения. Добавьте их все в раздел [ProxyList]:
[ProxyList]
socks5 192.168.1.10 1080
http 192.168.1.20 8080
socks5 192.168.1.30 1080Добавление прокси с аутентификацией
Если ваши прокси требуют аутентификацию, укажите имя пользователя и пароль:
socks5 proxy.example.com 1080 username passwordЗа исключением локальных сетей
Вы можете исключить определённые диапазоны IP-адресов из проксирования, используя директиву localnet:
localnet 127.0.0.0/255.0.0.0
localnet 192.168.0.0/255.255.0.0Устранение проблем с ProxyChains
Если что-то не работает, попробуйте выполнить эти шаги:
- Проверить статус Tor:
sudo systemctl status tor - Использовать подробный режим:
proxychains curl -v https://check.torproject.org - Проверьте свой список прокси: Убедитесь, что адреса и порты верны
- Перезапустить Tor:
sudo systemctl restart tor - Проверьте путь к файлу конфигурации: выполните
proxychains4 --help, чтобы узнать, какой файл конфигурации используется - Для проблем с Firefox: Помните, что Firefox требует ручной настройки прокси, а не
proxychains, из-за использования динамически загружаемых модулей, которые обходят хуки LD_PRELOAD
Часто задаваемые вопросы (FAQ)
В: Proxychains бесплатен?
A: Да. Proxychains — это программное обеспечение с открытым исходным кодом и бесплатное в использовании.
Вопрос: Поддерживает ли Proxychains SOCKS5?
A: Да. Proxychains поддерживает SOCKS4, SOCKS5 и HTTP-прокси.
В: Могу ли я использовать Proxychains с SSH?
A: Да. Просто добавьте команду с Proxychains перед ней:proxychains ssh user@host
В: Работает ли Proxychains со всеми приложениями?
A: Нет. Он работает в основном с приложениями, которые используют TCP-соединения.
В: В чем разница между Proxychains и VPN?
A: VPN направляет трафик на уровне системы или сети. Proxychains направляет трафик конкретного приложения через настроенные прокси.
Заключение
ProxyChains — это мощный инструмент для анонимной маршрутизации сети. Он даёт вам тонкий контроль над тем, какие приложения используют прокси. Однако помните, что он обрабатывает только TCP-трафик и не шифрует ваши данные. Для полной конфиденциальности всегда комбинируйте его с шифрованием (например, Tor или VPN).
Красота ProxyChains заключается в его простоте. После настройки любое командное приложение становится способным работать через прокси всего с несколькими дополнительными символами. В сочетании с надежным источником прокси, таким как Tor, это обеспечивает прочную основу для анонимного просмотра и тестирования сети.
Помните: всегда используйте эти инструменты этично и ответственно. ProxyChains — это мощный сетевой инструмент. Вы должны использовать его для защиты своей анонимности, а не для нарушения анонимности других.
Есть вопросы или возникли проблемы? Оставьте комментарий ниже, и мы поможем вам разобраться с настройкой!
Читайте также:
- Как настроить системные прокси-настройки на Ubuntu 26.04


