Proxychains: как сцепить SOCKS5-прокси в цепочку
proxychains-ng прогоняет любую консольную программу через один или несколько прокси — даже те, что вообще не умеют в прокси. Показываем установку, настройку SOCKS5, построение цепочки из нескольких узлов и как не наступить на классическую утечку DNS.
Что делает proxychains
proxychains-ng (поддерживаемый форк proxychains) — это инструмент, который перехватывает сетевые вызовы программы и заставляет их идти через прокси, даже если в самой программе никаких настроек прокси нет. Вы дописываете перед любой командой proxychains4 — и её TCP-соединения идут через прокси из вашего конфига. В Kali и в пентест-работе это базовый инструмент именно потому, что работает с утилитами, которые иначе ходили бы в сеть напрямую.
Он поддерживает прокси HTTP, SOCKS4 и SOCKS5 и умеет сцеплять несколько из них, чтобы трафик проходил через несколько хопов подряд. Одно важное ограничение стоит знать сразу: proxychains работает через подмену библиотечных вызовов, поэтому влияет только на динамически слинкованные программы — статически слинкованные бинарники и часть утилит его обходят. И он маршрутизирует TCP, а не «сырые» UDP или ICMP (то есть обычный ping через него не пойдёт).
Стоит разобраться с тремя режимами цепочки, потому что при сбоях они ведут себя совершенно по-разному. В strict_chain трафик обязан пройти через каждый перечисленный прокси в точно заданном порядке, и если хотя бы один лежит, соединение не установится — это то, что нужно, когда важны порядок и каждый хоп. В dynamic_chain proxychains пропускает мёртвые прокси и использует остальные по порядку, что снисходительнее к нестабильным спискам. В random_chain для каждого соединения берётся случайное подмножество — полезно, чтобы рассеять трафик, но непредсказуемо. Что бы вы ни выбрали, помните: каждый лишний хоп умножает задержку и добавляет ещё одного оператора, который видит метаданные вашего соединения, так что сцепляйте осознанно, а не накидывайте прокси ради смутного ощущения «большей безопасности».
Установка и настройка
На Debian/Ubuntu/Kali; конфиг лежит в /etc/proxychains4.conf или ~/.proxychains/proxychains.conf.
Установите proxychains-ng
Поставьте пакет: apt install proxychains4 на системах на базе Debian — или соберите proxychains-ng из исходников, если нужна самая свежая версия.
Отредактируйте конфиг
Откройте файл конфигурации. Выберите режим цепочки (strict_chain, dynamic_chain или random_chain) и — это критично — включите proxy_dns, чтобы DNS тоже шёл через цепочку.
Добавьте свой прокси в конец
В секции [ProxyList] допишите строку со своим SOCKS5: тип, хост, порт, а для прокси с аутентификацией — ещё имя пользователя и пароль. SOCKS5 в s4m слушает порт 1080.
Запустите команду через него
Добавьте proxychains4 перед любой командой — например, proxychains4 curl https://api.ipify.org — и убедитесь, что исходящий IP принадлежит прокси, а не вам.
Пример proxychains4.conf
Включите proxy_dns, чтобы не утекали DNS-запросы, выберите режим цепочки и перечислите свои прокси. В strict_chain трафик проходит через каждый прокси по порядку.
# /etc/proxychains4.conf # Route all connections through the proxies in ORDER, all must be up: strict_chain # (alternatives: dynamic_chain = skip dead ones; random_chain = random subset) # CRITICAL: resolve DNS through the chain, not your local resolver: proxy_dns [ProxyList] # type host port user pass socks5 proxy.s4m.online 1080 USER PASS # Chain a second hop by adding another line below (strict_chain): # socks5 another.proxy.host 1080 USER2 PASS2 # Usage: # proxychains4 curl https://api.ipify.org # proxychains4 nmap -sT -Pn target (TCP connect scan only)
Ответы на вопросы
Как не дать proxychains сливать DNS?
Включите опцию proxy_dns в proxychains4.conf. Без неё DNS-запросы идут к вашему локальному резолверу и выдают домены, которые вы посещаете, даже если сами соединения проксируются. С ней имена разрешаются через цепочку прокси.
Умеет ли proxychains пускать ping или UDP?
Нет. proxychains работает на уровне TCP-соединений, подменяя библиотечные вызовы, поэтому «сырой» ICMP (ping) или произвольный UDP он не проксирует. К тому же он действует только на динамически слинкованные программы. Если нужно прозрачно маршрутизировать не-TCP трафик, берите полноценный VPN.
Можно ли сцепить несколько прокси в proxychains?
Да. Добавьте несколько строк в секцию [ProxyList]. В режиме strict_chain трафик проходит через все по очереди; dynamic_chain пропускает те, что лежат; random_chain берёт случайное подмножество. Каждый лишний хоп добавляет задержку, так что сцепляйте ровно столько, сколько нужно.
Возьмите SOCKS5-эндпоинт для цепочки
s4m даёт аутентифицированные прокси SOCKS5 на порту 1080 — готовые к подстановке в proxychains. Оплата за трафик, бесплатный список прокси для тестов, анонимные аккаунты и оплата криптовалютой.
Эту страницу нашли по запросу
- proxychains: как сцепить SOCKS5-прокси в цепочку
- что такое IP-адрес
- http прокси с оплатой криптой
- выделенный или общий IP для VPN
- openvpn для новичков
- ip адрес пошагово
- авторизация прокси настройки
- прокси для парсинга wildberries, Ozon и avito
- vpn kill switch
- wireguard
- прокси для парсинга для бизнеса
- настройка прокси
Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.