Розбір протоколу · 1 хв читання

SOCKS5 проти SOCKS4: технічні відмінності

SOCKS4 і SOCKS5 схожі на перший погляд, але різняться у трьох речах, від яких залежить, чи піде ваш трафік узагалі: автентифікація, підтримка UDP і віддалений DNS. Точне порівняння на рівні протоколу.

Дві версії однієї ідеї

SOCKS — це низькорівневий протокол проксі: він не розуміє HTTP, а просто ретранслює TCP-з'єднання (а в п'ятій версії — і UDP) між вашим клієнтом і призначенням. Саме через цю незалежність від прикладного протоколу SOCKS працює з чим завгодно — вебом, поштою, ігровим трафіком, SSH, — а не лише з браузерами. Спершу з'явився SOCKS4; SOCKS5, описаний у RFC 1928, — це версія, якою сьогодні говорить майже все. Відмінностей небагато, але вони вирішальні.

Обидві версії починаються з того, що клієнт просить проксі з'єднатися з цільовим хостом і портом. Між версіями змінилося те, хто взагалі може користуватися проксі, який трафік він переносить і де резолвиться ім'я цільового хоста.

Три відмінності, які справді важать

1. Автентифікація. У SOCKS4 вбудованої автентифікації немає (SOCKS4a додав лише поле userid, яке легко підробити). SOCKS5 визначає повноцінну автентифікацію, найчастіше за іменем і паролем, тож проксі може пускати лише тих, хто платить або має право. Уже самого цього досить, щоб комерційні проксі використовували SOCKS5.

2. UDP та IPv6. SOCKS4 працює тільки з TCP і тільки з IPv4. SOCKS5 додає ретрансляцію UDP (командою UDP ASSOCIATE) і рідну адресацію IPv6, тож здатен нести DNS, VoIP, QUIC та ігровий трафік, який SOCKS4 просто не потягне. Про цей механізм — у матеріалі UDP через SOCKS5.

3. Віддалений DNS. У SOCKS5 можна попросити проксі самому резолвити ім'я хоста (режим socks5h в утилітах на кшталт cURL), тож запит не виходить із вашої машини й не спричиняє витік DNS. SOCKS4 резолвить локально й надсилає лише IP.

Що обрати і якою мовою говорить s4m

Для всього, що написане приблизно після середини 1990-х, беріть SOCKS5 — і саме варіант socks5h, щоб DNS резолвився віддалено, а імена хостів лишалися приватними. SOCKS4 доживає віку лише в старому інструментарії та в деяких публічних списках проксі, де відсутність автентифікації — саме те, чому ці проксі відкриті (і небезпечні). Правило просте: для приватності й охоплення беріть SOCKS5 з обліковими даними, а голий SOCKS4 вважайте цікавинкою для тестів.

s4m надає SOCKS5 з автентифікацією на proxy.s4m.online:1080 та HTTP-проксі на порту 3128 — дивіться сторінку проксі і що таке SOCKS5. Рядок socks5h://USER:[email protected]:1080 дає автентифікацію, підтримку UDP і віддалений DNS без витоків в одному ендпоінті. У безкоштовному списку є й записи SOCKS4, якщо вам треба саме перевірити стару поведінку, але за замовчуванням вам потрібен SOCKS5.

FAQ

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

Яка головна відмінність між SOCKS4 і SOCKS5?

SOCKS5 додає справжню автентифікацію, ретрансляцію UDP, підтримку IPv6 і віддалений резолв DNS — нічого з цього в SOCKS4 немає. SOCKS4 працює лише з TCP і IPv4 і фактично без автентифікації, тож SOCKS5 — сучасний вибір для всього, де потрібні безпека чи не-TCP трафік.

Що означає «h» у socks5h?

Вона означає, що ім'я хоста резолвить проксі віддалено, а не ваша локальна машина. Використання socks5h:// тримає DNS-запити поза вашою мережею й запобігає витоку DNS, який виказав би, які домени ви відвідуєте. Звичайний socks5:// спершу резолвить локально.

SOCKS5 з автентифікацією, як належить

Підключайтеся до proxy.s4m.online:1080 через socks5h — автентифікація, підтримка UDP і віддалений DNS без витоків в одному ендпоінті. Оплата за фактом використання, а ще є HTTP-проксі на 3128.

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

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