Seyare Seyare

Proxy

SOCKS5 Прокси

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

· · 4 min read

SOCKS5-прокси — это универсальный прокси-сервер на уровне TCP, который позволяет пересылать практически любой сетевой трафик.

В отличие от HTTP(S)-прокси, которые ограничены веб-протоколами, SOCKS5 работает на уровне TCP и опционально UDP, создавая туннель между клиентом и сервером.

Использование SOCKS5 позволяет:

  • Проксировать любые приложения, работающие по TCP (SSH, FTP, торренты, игры)
  • Поддерживать UDP-пакеты (например, для VoIP и потокового видео)
  • Маскировать реальный IP при соединениях с любыми сервисами

Как работает SOCKS5

SOCKS5 использует TCP-соединение между клиентом и прокси. Клиент устанавливает соединение с прокси и авторизуется, после чего прокси открывает соединение с конечным сервером по любому TCP-порту.

Протокол обмена в SOCKS5 состоит из двух этапов:

  1. Аутентификация — клиент сообщает прокси, какой метод аутентификации он поддерживает (например, без пароля или с логином/паролем). Прокси выбирает допустимый метод.
  2. Установка соединения — клиент запрашивает открытие соединения с нужным сервером, указывает IP и порт назначения. Прокси открывает соединение и передаёт все TCP-пакеты обратно клиенту.

Применение SOCKS5

Тип трафикаПример использованияПримечание
HTTP/HTTPSВеб-сайты, APIАналогично HTTP-прокси, но TCP-туннель
SSHПодключения к серверамПолный туннель TCP
FTPПередача файловПередача команд и данных через TCP
ТоррентыP2P-трафикЛюбой TCP-поток, UDP при поддержке
UDP (опционально)VoIP, игрыИспользуется SOCKS5 UDP ASSOCIATE для пересылки UDP-пакетов

Схема обмена данными через SOCKS5 (подробно)

ШагНаправлениеЧто передаётсяПротоколПримечания
1Клиент → ПроксиЗапрос соединения, поддерживаемые методы аутентификацииTCPРукопожатие, клиент сообщает, какие методы аутентификации поддерживает (без пароля, логин/пароль и т.д.)
2Прокси → КлиентВыбранный метод аутентификацииTCPПрокси выбирает один из методов, клиент подтверждает; при необходимости обмен данными для логина и пароля
3Клиент → ПроксиЗапрос на подключение к серверу: IP или домен + портTCPSOCKS5 поддерживает как прямой IP (IPv4/IPv6), так и доменное имя (FQDN)
4Прокси → СерверОткрытие TCP-соединения на указанный IP/портTCPПрокси устанавливает соединение с целевым сервером, готовит туннель
5Клиент ↔ Сервер через ПроксиВсе TCP-пакеты приложенияTCPПрокси просто пересылает байты в обе стороны; клиент и сервер обмениваются данными, прокси не анализирует содержимое
6Клиент → ПроксиUDP ASSOCIATE-запрос (если требуется UDP)TCPКлиент уведомляет прокси, что будет пересылать UDP-пакеты; прокси сообщает IP/порт для пересылки UDP
7Клиент ↔ Прокси → СерверUDP-пакеты (данные приложения)UDPПрокси инкапсулирует UDP-пакеты в SOCKS5-запрос, пересылает к целевому серверу; сервер отвечает обратно через прокси

Дополнительно о передаваемых данных

  • IP или домен: Клиент может указывать как прямой IP (IPv4 или IPv6), так и доменное имя сервера.
  • Порт: Любой TCP-порт от 1 до 65535.
  • Данные приложения: Любой TCP/UDP трафик, прокси передаёт его как есть.
  • Направление: Таблица показывает, какие пакеты идут от клиента к прокси, от прокси к серверу и обратно.

Эта таблица показывает, что SOCKS5 не ограничен веб-трафиком, поддерживает TCP/UDP, доменные имена и IP, а также позволяет точно контролировать направление передачи байтов, что делает его универсальным для любых сетевых приложений.

Особенности и преимущества SOCKS5

  • Универсальность — поддерживает любые TCP-приложения, опционально UDP
  • Гибкость — работает с нестандартными портами и протоколами
  • Скрытие IP — прокси передает свой IP вместо реального клиента
  • Прозрачность для приложений — большинство приложений не нужно адаптировать под SOCKS5

Ограничения:

  • Настройка сложнее, чем у HTTP(S)-прокси
  • Для массового веб-парсинга может быть медленнее, чем специализированные HTTP-прокси

Отличие от HTTP(S)-прокси

Тип проксиПоддержка протоколовПреимуществаОграничения
HTTP/HTTPSТолько HTTP и HTTPSПростота настройки, оптимизировано для вебТолько веб-трафик
SOCKS5Любой TCP, опционально UDPУниверсальный, любой протокол, любые приложенияНастройка сложнее, не специализирован для веб

Откуда берутся SOCKS5-прокси

ИсточникПримечание
Дата-центрыБыстрые, стабильные IP для серверов
Резидентные сетиIP обычных пользователей, хорошая маскировка
Мобильные устройстваУстройства пользователей, которые получают вознаграждение за то, что продают свой трафик

Пример использования

Пример подключения к серверу через SOCKS5 для SSH:

ДействиеРезультат
Клиент инициирует соединение с SOCKS5-проксиTCP-туннель открыт
Прокси выполняет аутентификациюСоединение готово
Клиент отправляет SSH-пакетыПакеты передаются через прокси, сервер видит IP прокси
Серверные ответы возвращаются клиентуПолный туннель TCP через SOCKS5

Для UDP-приложений (игры, VoIP) используется отдельный запрос ASSOCIATE, который позволяет пересылать UDP-пакеты через прокси.


Итог

SOCKS5-прокси — универсальный инструмент для всех видов сетевого трафика:

  • Работает с любыми TCP-приложениями
  • Поддерживает UDP-потоки при необходимости
  • Скрывает реальный IP, создавая безопасный туннель
  • Идеален для нестандартных задач, когда HTTP-прокси не подходят

HTTP(S) - прокси остаются оптимальными для веб и API, а SOCKS5 — для всего остального.

Готовы протестировать с реальными IP?

Зарегистрируйтесь сейчас, чтобы получить мгновенный доступ к нашим прокси-пулам.