Перейти к содержимому
Протоколы

SOCKS5 простыми словами: согласование, адрес и соединение

SOCKS5 — протокол посредника транспортного уровня. Он не требует, чтобы передаваемое приложение использовало HTTP: после согласования доступа сервер может пересылать TCP-поток или обслуживать предусмотренный стандартом UDP-релей. Для правильной диагностики важно понимать, что SOCKS5 выполняется несколькими последовательными этапами.

2 мин чтенияПроверено и обновлено: 6 августа 2026 г.

Главное за минуту

  • Сначала согласуется метод доступа, затем передаётся команда.
  • Назначение может быть IPv4, доменным именем или IPv6.
  • Успешное соединение с портом ещё не подтверждает работу релея.
  • Коды SOCKS5 описывают причину отказа точнее общей ошибки приложения.

Согласование метода

Клиент сообщает версию протокола и список поддерживаемых методов. Сервер выбирает один метод или отвечает, что подходящих способов нет. Только после успешного согласования выполняется соответствующая под-процедура авторизации.

Команда и адрес назначения

После авторизации клиент отправляет команду, тип адреса, сам адрес и порт. Тип адреса исключает неоднозначность между IPv4, доменным именем и IPv6. Если клиент передаёт домен, сервер получает возможность разрешить его на своей стороне.

Ответ SOCKS-сервера

Поле результата различает успех, запрет политикой, недоступность сети или узла, отказ соединения, истечение TTL и неподдерживаемую команду. В пользовательском интерфейсе эти причины стоит переводить на понятный язык, сохраняя исходный код для поддержки.

Границы возможностей

Стандарт описывает CONNECT, BIND и UDP ASSOCIATE, но конкретный сервер или программа могут поддерживать не все команды. Перед запуском рабочего процесса следует проверить нужный транспорт на тестовом ресурсе и не переносить вывод об одной программе на все клиенты.

Практический чек-лист

  1. 1Выбрать SOCKS5, а не SOCKS4, если требуется SOCKS5-функциональность.
  2. 2Уточнить, где должно разрешаться доменное имя.
  3. 3Проверить метод авторизации и команду отдельно.
  4. 4Сохранить код ответа SOCKS5 в диагностике.
  5. 5Проверить нужный тип трафика на разрешённом стенде.

Источники и документы

Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.

  1. 1.RFC Editor / IETF: SOCKS Protocol Version 5
  2. 2.RFC Editor / IETF: Username/Password Authentication for SOCKS V5
  3. 3.curl project: CURLOPT_PROXYTYPE

Продолжить чтение

Материалы по близкой теме

Протоколы

HTTP-прокси: что происходит с обычным веб-запросом

Читать

HTTP и TLS

HTTPS через HTTP-прокси: как работает туннель CONNECT

Читать