В современном мире, где вопросы конфиденциальности и безопасности в сети становятся всё более актуальными, инструменты для работы с прокси-серверами приобретают особую ценность. Одним из таких инструментов является программа ProxyChains, которая позволяет перенаправлять сетевые соединения через SOCKS4/5 или HTTP-прокси.

Что такое ProxyChains?
ProxyChains — это программа для UNIX/Linux-систем, которая перехватывает вызовы сетевых функций в динамически связываемых программах и перенаправляет соединения через прокси-серверы. Это может быть полезно в различных ситуациях:
- когда выход в интернет возможен только через прокси-сервер;
- для обхода ограничений файрвола, который фильтрует исходящие порты;
- для использования нескольких прокси-серверов в цепочке;
- для работы с программами, которые не поддерживают прокси-серверы «из коробки»;
- для доступа к интранету из внешней сети через прокси.
Установка ProxyChains
Установить ProxyChains можно разными способами в зависимости от операционной системы:
- С помощью pkgsrc: если вы используете Linux, NetBSD, FreeBSD, OpenBSD, DragonFlyBSD или Mac OS X, вы можете установить ProxyChains через систему пакетов pkgsrc. Для этого нужно добавить репозиторий pkgsrc-wip и выполнить команду make install в каталоге wip/proxychains.
- На Mac OS X с помощью Homebrew: вы можете установить ProxyChains на Mac OS X с помощью менеджера пакетов Homebrew. Для этого нужно скачать неофициальную формулу Homebrew и выполнить команду brew install proxychains.
- Из исходного кода: если у вас есть работающий компилятор C (предпочтительно gcc), вы можете собрать ProxyChains из исходного кода. Для этого выполните следующие команды:
# ./configure
# make
# make install
Настройка ProxyChains
ProxyChains ищет конфигурацию в следующем порядке:
- В переменных окружения PROXYCHAINS_SOCKS5_HOST и PROXYCHAINS_SOCKS5_PORT.
- В файле, указанном в переменной окружения PROXYCHAINS_CONF_FILE или переданном как аргумент -f скрипту или бинарнику proxychains.
- В файле ./proxychains.conf.
- В файле $(HOME)/.proxychains/proxychains.conf.
- В файле /etc/proxychains.conf.
Примеры использования ProxyChains:
- Запуск telnet через прокси:
# proxychains telnet targethost.com
- Использование другого файла конфигурации:
# proxychains -f /etc/proxychains-other.conf targethost2.com
- Разрешение DNS через прокси:
# proxyresolv targethost.com
- Запуск оболочки с трафиком, проходящим через SOCKS5-прокси:
# ssh -fN -D 4321 some.example.com
PROXYCHAINS_SOCKS5_HOST=127.0.0.1 PROXYCHAINS_SOCKS5_PORT=4321 proxychains zsh
Ограничения и особенности:
У ProxyChains есть некоторые ограничения. Например, если процесс создаёт дочерний процесс, выполняет поиск DNS в нём и затем использует IP-адрес в родительском процессе, соответствующее сопоставление IP-адресов не будет найдено. Это связано с тем, что дочерний процесс не может записать данные в таблицу сопоставления родительского процесса. Для решения этой проблемы можно использовать внешний механизм хранения данных, например, файл или серверный процесс.
Заключение:
ProxyChains — мощный инструмент для работы с прокси-серверами в UNIX/Linux-системах. Он позволяет обходить ограничения сети, обеспечивать дополнительный уровень анонимности и безопасности в интернете. Несмотря на некоторые ограничения, программа остаётся востребованной среди пользователей, которым требуется гибкая работа с прокси.




