
Прокси SOCKS4 и SOCKS5: в чем разница и что выбрать?
SOCKS4 передаёт TCP-соединения с адресами IPv4. SOCKS5 добавляет UDP, IPv6, передачу доменного имени и согласование авторизации. Выбирайте версию, которую поддерживают ваше приложение и прокси-сервер.
В этом материале разберем SOCKS4 и SOCKS5 простым языком. Что это за протоколы. Чем они отличаются. И какой вариант лучше брать в реальной работе.
Главное коротко
- SOCKS4 поддерживает TCP и адреса IPv4.
- SOCKS4a добавляет передачу доменного имени прокси-серверу.
- SOCKS5 предусматривает TCP, UDP, IPv6 и методы авторизации.
- Для UDP нужны поддержка и настройки обеих сторон.
- Место выполнения DNS-запроса зависит от режима клиента.
- Для защиты содержимого используйте HTTPS/TLS.
SOCKS4 и SOCKS5: полная сравнительная таблица
SOCKS-прокси устанавливает соединение с целевым сервером по запросу приложения и передаёт данные между ними. Клиент должен поддерживать выбранную версию SOCKS.
| Возможность | SOCKS4 | SOCKS4a | SOCKS5 |
|---|---|---|---|
| TCP | Да | Да | Да |
| UDP | Нет | Нет | Предусмотрен UDP ASSOCIATE; нужна поддержка клиента и сервера |
| Адрес назначения | IPv4 | IPv4 или доменное имя с разрешением в IPv4 | IPv4, IPv6 или доменное имя |
| Авторизация | Поле USERID; правила доступа сервера | Как в SOCKS4 | Согласование метода, включая логин/пароль и GSS-API |
| DNS | Клиент передаёт готовый IPv4 | Имя может разрешать прокси | Клиент передаёт IP или имя; зависит от настройки |
| Защита содержимого | Используйте TLS приложения или защищённый туннель | То же | При обычной парольной авторизации шифрование данных нужно настроить отдельно |
| Что выбрать | Клиент требует SOCKS4 | Нужен SOCKS4 с передачей домена | Нужны возможности SOCKS5 и они поддерживаются клиентом |

Что такое SOCKS-прокси?
SOCKS-прокси – это прокси транспортного уровня. Он стоит между вашим устройством и интернетом. Вы подключаетесь через него, а он пересылает трафик дальше – к нужному серверу.
И ему почти все равно, что именно вы передаете.
В этом и смысл SOCKS. Такой прокси может работать не только с браузерами. Его используют торрент-клиенты, почтовые программы, игры, приложения для звонков, автоматизация, скрейпинг и другие инструменты, которым нужен доступ к сети.
HTTP-прокси, например, сильнее привязаны к веб-трафику. SOCKS шире. Он не пытается понимать содержимое передачи, а просто помогает провести соединение.
Как работает протокол SOCKS простыми словами

Клиент → Прокси → Целевой сервер
Сначала ваше приложение подключается к SOCKS-прокси. Затем прокси устанавливает соединение с нужным сервером. После этого он передает трафик туда и обратно.
Для целевого сервера все выглядит так, будто запрос пришел от прокси. Ваш реальный IP он не видит.
SOCKS-прокси и HTTP-прокси: короткая разница
HTTP-прокси сделаны для веба. Они умеют читать HTTP-заголовки, поэтому подходят для фильтрации, кэширования и работы с запросами в браузере. Но их зона – HTTP и HTTPS.
SOCKS-прокси устроен иначе. Он не разбирает содержимое трафика. Не смотрит в заголовки. Не пытается понять, что именно передает приложение.
За счет этого он гибче. Его можно использовать там, где HTTP-прокси уже не подходит. Но есть минус: SOCKS не умеет фильтровать и кэшировать контент так, как это делает HTTP-прокси.
Что такое SOCKS4-прокси?
SOCKS4 – старая версия протокола SOCKS. Она была создана под одну понятную задачу: провести TCP-трафик от клиента к целевому серверу через прокси.
Все. Ничего лишнего.
SOCKS4 принимает адрес IPv4, порт назначения и строку USERID. Сервер может учитывать их при проверке доступа. Парольный обмен, аналогичный SOCKS5, в SOCKS4 не предусмотрен.
Что делают SOCKS4-прокси
SOCKS4-прокси поддерживают обычные TCP-соединения. Когда приложению нужно обратиться к удаленному серверу, прокси создает это соединение и начинает пересылать данные между сторонами.
Для старых или простых задач этого хватает.
Проблемы начинаются там, где нужны функции, ставшие привычными в современных сетях. Нельзя потребовать логин и пароль перед подключением. UDP-трафик не поддерживается вообще. А DNS-разрешение происходит на стороне клиента, то есть доменное имя определяется еще до того, как запрос дойдет до прокси.
Это может раскрыть лишнюю информацию. Например, к каким доменам вы обращаетесь.
Как работает SOCKS4: схема подключения
Когда приложение подключается через SOCKS4-прокси, процесс выглядит так:
- Приложение отправляет запрос на SOCKS4-прокси. В запросе указаны IP-адрес целевого сервера и порт.
- Прокси проверяет ваш IP-адрес и решает, можно ли дать доступ.
- Если доступ разрешен, прокси подключается к целевому серверу.
- После этого трафик между приложением и сервером идет через прокси.
Плюсы и минусы SOCKS4
| Плюсы | Минусы |
| Простая и легкая схема работы | Только TCP – UDP не поддерживается |
| Хорошая совместимость со старыми инструментами | Нет встроенного обмена логином и паролем |
| Стабильная работа при базовой TCP-маршрутизации | Нет встроенного DNS-разрешения |
| Низкая нагрузка и высокая скорость в простых сценариях | Только IPv4 – без поддержки IPv6 |
Где обычно используют SOCKS4
SOCKS4 все еще встречается. Не часто, но встречается.
- В старом ПО, которое создавалось до того, как SOCKS5 стал обычным стандартом, и с тех пор почти не менялось.
- В простых TCP-приложениях, которым не нужны UDP, аутентификация и DNS через прокси.
- В легких задачах маршрутизации, где нужно просто направить трафик без дополнительных уровней защиты.
- Во внутренних сетях, где контроль доступа уже настроен другими средствами, например на уровне самой сети.
Что добавляет SOCKS4a
SOCKS4a позволяет передать прокси доменное имя. Сервер сам получает IPv4-адрес назначения и подключается к нему. Это полезно, если клиент должен передать разрешение имени прокси.
Для такого режима обе стороны должны поддерживать SOCKS4a. В curl он выбирается схемой socks4a://.
Что такое SOCKS5-прокси?
SOCKS5 описан в RFC 1928. Клиент согласует с сервером метод авторизации и передаёт команду подключения. В качестве назначения можно указать IPv4, IPv6 или доменное имя. Для передачи UDP предусмотрена команда UDP ASSOCIATE.
Что делают SOCKS5-прокси
SOCKS5-прокси умеют работать с более разным трафиком, чем SOCKS4. Они поддерживают TCP и UDP. Поэтому подходят не только для обычных запросов, но и для голосовых звонков, видеопотоков, онлайн-игр и передачи данных в реальном времени.
Есть и аутентификация. Доступ можно защитить логином и паролем. Или использовать более сложный механизм, например GSS-API.
SOCKS5 принимает как готовый IP, так и доменное имя. При передаче имени DNS-разрешение выполняет прокси. Нужный режим выбирается в настройках клиента.
Как работает SOCKS5: схема подключения
У SOCKS5 подключение устроено чуть сложнее, чем у SOCKS4. Но для пользователя это обычно незаметно. Все происходит быстро и в фоне.
- Приложение подключается к SOCKS5-прокси и сообщает, какие методы аутентификации поддерживает.
- Прокси выбирает подходящий вариант: без аутентификации, по логину и паролю или через GSS-API.
- Если проверка нужна, приложение отправляет учетные данные, а прокси их проверяет.
- После этого приложение передает целевой адрес. Это может быть IP-адрес или доменное имя.
- Если нужно, прокси сам выполняет DNS-разрешение и подключается к целевому серверу.
- Дальше прокси передает трафик между приложением и сервером.
Плюсы и минусы SOCKS5
| Плюсы | Минусы |
| Поддерживает TCP и UDP | Настройка немного сложнее |
| Есть несколько вариантов аутентификации | Некоторые очень старые приложения его не поддерживают |
| DNS может обрабатываться на стороне прокси | Надежность аутентификации зависит от провайдера |
| Совместим с IPv4 и IPv6 | В простых задачах накладных расходов больше, чем у SOCKS4 |
| Позволяет выбрать поддерживаемый метод авторизации |
Где обычно используют SOCKS5
SOCKS5 стоит выбирать, когда простой передачи TCP уже мало.
- В веб-скрейпинге, где нужно менять IP-адреса, обходить блокировки и работать со стабильными аутентифицированными соединениями.
- В VoIP и приложениях реального времени, которые используют UDP. SOCKS4 с такими задачами не справляется.
- В более приватном браузинге, когда важно снизить риск DNS-утечек и передать разрешение имен прокси-серверу.
- В приложениях, где нужен доступ только для авторизованных пользователей.
- В современном ПО, которое изначально рассчитано на SOCKS5 и умеет использовать его возможности полностью.
SOCKS4 и SOCKS5: ключевые различия напрямую
Теперь сравним их без длинных вступлений. Не в теории, а по тем вещам, которые обычно имеют значение на практике.
Поддержка TCP
Оба варианта поддерживают TCP. И SOCKS4, и SOCKS5 подходят для большинства стандартных задач: браузинг, скрейпинг, автоматизация, обычные HTTP-запросы.
Если вам нужен только TCP, оба протокола будут работать.
Поддержка UDP
SOCKS4 не поддерживает UDP. Совсем.
SOCKS5 поддерживает UDP, если это разрешено клиентом и провайдером прокси. Для многих приложений это критично: VoIP, онлайн-игры, видеостриминг, передача данных в реальном времени. Там TCP не всегда подходит.
Аутентификация
В запросе SOCKS4 есть поле USERID. Сервер может проверять его вместе с адресами и портом; исходная спецификация также описывает использование IDENT. Для входа по паре логин/пароль проверьте поддержку SOCKS5 у клиента и сервера.
SOCKS5 умеет работать с аутентификацией. Это может быть имя пользователя и пароль или GSS-API. Поэтому для прокси-сервисов с учетными записями, командной работы и сред, где важно ограничивать доступ, лучше брать SOCKS5.
DNS: SOCKS4a, socks5 и socks5h
При SOCKS4 клиент передаёт готовый IPv4-адрес. SOCKS4a позволяет передать доменное имя прокси. У SOCKS5 доступны оба варианта, поэтому проверьте настройку конкретного приложения.
В curl это видно по схеме адреса:
socks5://выполняет разрешение имени на стороне curl;socks5h://передаёт имя прокси;socks4a://передаёт имя серверу SOCKS4a.
Если хотите передать DNS-разрешение прокси, выберите соответствующий режим и повторите проверку в своём клиенте. Отдельные DNS-запросы других приложений проверяйте отдельно.

Поддержка IPv6 и типов адресов
SOCKS4 работает только с IPv4. Если в вашей схеме появляется IPv6, этот вариант не подойдет.
SOCKS5 поддерживает и IPv4, и IPv6. Для современных сетей это важное отличие.
Производительность и стабильность на практике
Время ответа зависит от расстояния до прокси, маршрута, нагрузки сервера и канала. Сравнивайте варианты на одном ресурсе: одинаковый запрос, размер ответа и число соединений.
Совместимость: какие приложения что поддерживают
Большинство современных приложений ориентируются на SOCKS5. Это стандартный вариант.
SOCKS4 чаще остается в старых клиентах или очень простых инструментах. Если программа создана недавно, скорее всего, она ожидает именно SOCKS5.
Защита данных при подключении через SOCKS
HTTPS/TLS защищает содержимое обмена с целевым сервером. При использовании обычного SOCKS5 с логином и паролем учётные данные самого прокси передаются без шифрования по механизму RFC 1929.
В недоверенной сети используйте защищённый туннель до прокси, если его поддерживает ваша схема подключения. Сохраняйте проверку TLS-сертификатов сайтов и не передавайте пароли прокси в открытой переписке.
SOCKS и HTTP-прокси: когда что использовать
HTTP-прокси лучше брать для веб-трафика: браузер, HTTP-запросы, сбор данных со страниц, работа с заголовками. Он понимает веб-запросы, может фильтровать данные, кэшировать ответы и менять заголовки.
SOCKS-прокси нужен там, где трафик не ограничивается обычным вебом. Игры. VoIP. Торрент-клиенты. Десктопные приложения. Любые программы, которые не сводятся к простым HTTP-запросам.
SOCKS не анализирует содержимое. Поэтому он универсальнее. Но и «умных» функций HTTP-прокси у него нет.
Что выбрать: SOCKS4 или SOCKS5?
Обычно – SOCKS5.
Он умеет все, что умеет SOCKS4, и добавляет важные современные функции. SOCKS4 стоит использовать только тогда, когда его требует конкретная старая система или очень простая конфигурация.
Выбирайте SOCKS4, если…
У вас простая схема. Нужна только TCP-маршрутизация. Аутентификация не требуется. Среда контролируемая, доступ уже ограничен на уровне сети. Или вы работаете со старым ПО, которое не поддерживает SOCKS5.
Выбирайте SOCKS5, если…
Вам нужно больше, чем просто передать TCP-трафик. Например, аутентификация, UDP, DNS через прокси, IPv6 или совместимость с современным прокси-сервисом.
Есть сомнения – берите SOCKS5. В долгосрочной перспективе с ним обычно меньше проблем.
Что проверить в приложении
- Версию и порт. Выберите SOCKS4, SOCKS4a или SOCKS5 по данным сервера. Порт возьмите из заказа.
- Авторизацию. Сверьте метод входа. Например, Chrome не поддерживает SOCKS5-авторизацию по логину и паролю.
- DNS. Уточните, передаёт ли клиент доменное имя прокси или получает IP самостоятельно.
- UDP. Проверьте поддержку у обеих сторон. SOCKS5 в Chrome используется для TCP, поэтому браузерная проверка не подтверждает работу UDP.
- Результат. Откройте нужный сервис и выполните рабочий запрос. Для пошаговой настройки используйте инструкцию по SOCKS5.

Лучшие практики для безопасной и стабильной работы с SOCKS
- Сверяйте протокол и метод авторизации с возможностями клиента.
- Выбирайте нужный режим DNS и проверяйте его после изменения профиля.
- Используйте HTTPS/TLS и сохраняйте проверку сертификатов.
- Храните пароль прокси отдельно от публикуемых логов и команд.
- Проверяйте внешний IP, нужный сервис и поддержку UDP раздельно.
Заключение
Разница между SOCKS4 и SOCKS5 простая: SOCKS4 закрывает базовую TCP-маршрутизацию, а SOCKS5 дает современный набор функций.
SOCKS4 все еще можно использовать в старых системах и простых контролируемых средах. Но для большинства актуальных задач он слишком ограничен.
SOCKS5 поддерживает аутентификацию, UDP, IPv6 и более аккуратную работу с DNS. Поэтому в современных приложениях он почти всегда будет правильным выбором.
Не уверены, что выбрать? Берите SOCKS5. Он гибче, лучше поддерживается и реже создает проблемы потом.
Выберите SOCKS5-прокси в ProxyWing
Выберите SOCKS5-прокси ProxyWing и сверьте параметры с настройками своего клиента. Если требуется UDP, уточните его поддержку для выбранного подключения.

После выбора продукта проверьте параметры заказа в сводке конфигурации.

Статью написал:
Руководитель партнёрских отношений
Иван - эксперт в области прокси. Разбирается во всех нюансах резидентских прокси, ISP, датацентрах и мобильных прокси и сценариях их использования - от мультиаккаунтинга и веб-скрейпинга до перформанс-маркетинга
Все статьи автора (23)Ответы на часто задаваемые вопросы
Почти всегда SOCKS5. Он поддерживает аутентификацию, UDP и нормальную обработку DNS. SOCKS4 нужен в основном для старого ПО, которое не умеет работать с SOCKS5.
SOCKS4 передаёт соединение через прокси. Для защиты содержимого используйте HTTPS/TLS, а доступ к серверу ограничьте его правилами. В открытой сети учитывайте, что обычный SOCKS сам по себе не обеспечивает шифрование соединения до прокси.
Для задач только в вебе – HTTP-прокси. Это браузинг, скрейпинг сайтов, обычные HTTP-запросы. Если нужно направлять трафик не браузерных приложений или использовать протоколы кроме HTTP, лучше выбрать SOCKS.
Для соединения, которое прошло через SOCKS5, сайт видит выходной IP прокси. Другие соединения приложения могут использовать иной маршрут. Проверьте настройки клиента, внешний IP и отдельно WebRTC, если он используется.
Да, SOCKS5 поддерживает UDP. Но на практике все зависит от клиента и прокси-провайдера. Оба должны нормально поддерживать эту функцию.


