Методы аутентификации SOCKS5 (RFC 1929)
Прежде чем передавать ваш трафик, SOCKS5-прокси договаривается о способе аутентификации. Разбираем рукопожатие с согласованием методов из RFC 1928, схему логин/пароль из RFC 1929 и что это значит на практике — включая оговорку о передаче открытым текстом.
Рукопожатие с согласованием метода
SOCKS5 (описан в RFC 1928) не предполагает никакого метода аутентификации — он его согласует. Как только открывается TCP-соединение к прокси, клиент шлёт приветствие со списком поддерживаемых методов, а прокси выбирает один.
Приветствие клиента выглядит так: байт версии (0x05), число методов и столько же идентификаторов методов. Распространённые методы: 0x00 — «аутентификация не требуется», 0x02 — «имя пользователя/пароль» и 0xFF — «ни один метод не подходит». Сервер отвечает двумя байтами: версия и единственный выбранный метод. Если он возвращает 0x00, вы подключаетесь сразу; если 0x02, клиент обязан сначала пройти под-согласование с именем пользователя и паролем и только потом слать запрос на соединение. Если сервер возвращает 0xFF, ни один из предложенных методов не подошёл и он закрывает соединение. Именно поэтому прокси SOCKS5 s4m с аутентификацией на порту 1080 ожидает, что ваш клиент предложит метод 0x02.
Имя пользователя и пароль: RFC 1929
Метод с именем пользователя и паролем (0x02) описан отдельно, в RFC 1929. Это крошечный самодостаточный обмен, происходящий после согласования метода и перед SOCKS-запросом:
- Клиент шлёт: байт версии под-согласования (
0x01— обратите внимание, это версия аутентификации, а не версия SOCKS), однобайтовую длину имени, само имя, однобайтовую длину пароля и пароль. - Сервер отвечает двумя байтами: версия (
0x01) и байт статуса.0x00означает успех; всё остальное — отказ, после которого сервер закрывает соединение.
Только после успешного статуса клиент переходит к самому запросу SOCKS5 CONNECT с указанием назначения. Поскольку длины имени и пароля кодируются одним байтом, каждое из них ограничено 255 байтами. Как это выглядит с реальными клиентами, смотрите в руководстве по аутентификации на прокси, а работу с учётными данными — в API.
Оговорка про открытый текст и что с ней делать
RFC 1929 передаёт логин и пароль как открытый текст между клиентом и прокси. HTTPS до целевого сервиса не шифрует этот обмен аутентификации.
Используйте доверенный сетевой путь или шифрованный транспорт, который явно поддерживает провайдер. Выделенный IP не шифрует учётные данные и не заменяет их на текущих адресах s4m. Связанная тема: выделенный IP.
Ответы на вопросы
Как SOCKS5 выбирает метод аутентификации?
Согласованием. Клиент начинает с приветствия, где перечисляет поддерживаемые методы (например, 0x00 — без аутентификации и 0x02 — имя/пароль), а сервер отвечает единственным выбранным методом. Если сервер выбрал 0x02, клиент проходит обмен по RFC 1929 с именем и паролем и только потом шлёт запрос на соединение.
Шифруется ли аутентификация SOCKS5 по имени и паролю?
RFC 1929 передаёт логин и пароль как открытый текст между клиентом и прокси. HTTPS до целевого сервиса не шифрует этот обмен аутентификации. Используйте доверенный сетевой путь или шифрованный транспорт, который явно поддерживает провайдер. Выделенный IP не шифрует учётные данные и не заменяет их на текущих адресах s4m. Связанная тема: выделенный IP.
Чем RFC 1928 отличается от RFC 1929?
RFC 1928 описывает сам SOCKS5, включая рукопожатие, в котором клиент и сервер согласуют метод аутентификации. RFC 1929 описывает лишь один из этих методов — схему с именем пользователя и паролем — со своим байтом версии под-согласования и форматом сообщений. Они работают в паре.
SOCKS5 с аутентификацией, как надо
Настройте доступ SOCKS5 или HTTP в s4m с учётными данными своего аккаунта.
Эту страницу нашли по запросу
- методы аутентификации SOCKS5 (RFC 1929)
- настройка прокси настройки
- прокси в WhatsApp
- настройка прокси
- как сконфигурировать socks5 прокси
- openvpn сравнение
- ip адрес
- vpn kill switch для android
- прокси для парсинга для android
- что такое IP-адрес
- отпечаток браузера
- IPv6-прокси
- wireguard
- wireguard для парсинга
Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.