Командний рядок · 1 хв читання

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 трафік проходить через кожен проксі по порядку.

ini
# /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)
Поділитися сторінкою
FAQ

Відповіді на питання

Як не дати 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. Оплата за трафік, безкоштовний список проксі для тестів, анонімні акаунти й оплата криптовалютою.

Цю сторінку знаходять за запитами

Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.