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

CONNECT, BIND и UDP ASSOCIATE в SOCKS5

После согласования метода доступа клиент SOCKS5 отправляет одну из команд релея. Для большинства прикладных задач используется CONNECT, но стандарт также определяет BIND и UDP ASSOCIATE. Знание их назначения помогает не ожидать от TCP-проверки подтверждения UDP и не считать неполную реализацию клиента неисправностью всей прокси.

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

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

  • CONNECT создаёт исходящее TCP-соединение.
  • BIND ожидает входящее соединение в предусмотренном протоколом сценарии.
  • UDP ASSOCIATE создаёт контекст для UDP-релея.
  • Поддержка команды должна присутствовать и на клиенте, и на сервере.

CONNECT для обычных TCP-задач

Команда CONNECT просит SOCKS-сервер соединиться с указанным адресом и портом. После успешного ответа стороны передают TCP-данные через релей. Веб-запросы, API и многие корпоративные приложения используют именно этот путь.

BIND для ожидаемого входящего соединения

BIND применяется, когда протокол клиента ожидает соединение с удалённой стороны. Сервер сообщает адрес привязки, а после входящего подключения отправляет второй ответ. Эта команда нужна реже и часто отсутствует в пользовательских программах.

UDP ASSOCIATE и отдельный формат датаграмм

UDP ASSOCIATE сообщает адрес UDP-релея, после чего датаграммы передаются со служебным заголовком SOCKS5. UDP не становится TCP и требует отдельной проверки. Стандарт допускает фрагментацию, однако реализация фрагментов необязательна, поэтому приложениям лучше её избегать.

Как тестировать возможности

Проверка CONNECT подтверждает только TCP-сценарий. Для UDP нужен разрешённый UDP-тест, а для BIND — контролируемая входящая сторона. В документации сервиса следует честно перечислять поддерживаемые команды, не выдавая полный набор стандарта за реализованный набор продукта.

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

  1. 1Определить требуемую команду до настройки программы.
  2. 2Проверить поддержку команды клиентом и сервером.
  3. 3Не использовать TCP-тест как доказательство работы UDP.
  4. 4Ограничить назначения разрешёнными рабочими сервисами.
  5. 5Сохранять SOCKS5-код результата для каждого этапа.

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

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

  1. 1.RFC Editor / IETF: SOCKS Protocol Version 5
  2. 2.curl project: CURLOPT_PROXYTYPE
  3. 3.curl project: curl command line manual

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

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

Протоколы

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

Читать

HTTP и TLS

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

Читать

Протоколы

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

Читать