SOCKS5 простыми словами: согласование, адрес и соединение
SOCKS5 — протокол посредника транспортного уровня. Он не требует, чтобы передаваемое приложение использовало HTTP: после согласования доступа сервер может пересылать TCP-поток или обслуживать предусмотренный стандартом UDP-релей. Для правильной диагностики важно понимать, что SOCKS5 выполняется несколькими последовательными этапами.
Главное за минуту
- Сначала согласуется метод доступа, затем передаётся команда.
- Назначение может быть IPv4, доменным именем или IPv6.
- Успешное соединение с портом ещё не подтверждает работу релея.
- Коды SOCKS5 описывают причину отказа точнее общей ошибки приложения.
Согласование метода
Клиент сообщает версию протокола и список поддерживаемых методов. Сервер выбирает один метод или отвечает, что подходящих способов нет. Только после успешного согласования выполняется соответствующая под-процедура авторизации.
Команда и адрес назначения
После авторизации клиент отправляет команду, тип адреса, сам адрес и порт. Тип адреса исключает неоднозначность между IPv4, доменным именем и IPv6. Если клиент передаёт домен, сервер получает возможность разрешить его на своей стороне.
Ответ SOCKS-сервера
Поле результата различает успех, запрет политикой, недоступность сети или узла, отказ соединения, истечение TTL и неподдерживаемую команду. В пользовательском интерфейсе эти причины стоит переводить на понятный язык, сохраняя исходный код для поддержки.
Границы возможностей
Стандарт описывает CONNECT, BIND и UDP ASSOCIATE, но конкретный сервер или программа могут поддерживать не все команды. Перед запуском рабочего процесса следует проверить нужный транспорт на тестовом ресурсе и не переносить вывод об одной программе на все клиенты.
Практический чек-лист
- 1Выбрать SOCKS5, а не SOCKS4, если требуется SOCKS5-функциональность.
- 2Уточнить, где должно разрешаться доменное имя.
- 3Проверить метод авторизации и команду отдельно.
- 4Сохранить код ответа SOCKS5 в диагностике.
- 5Проверить нужный тип трафика на разрешённом стенде.
Источники и документы
Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.