Прокси-сервер SOCKS5 для маршрутизации вашего трафика может повысить анонимность и скорость работы. Но не безопасность, поскольку он работает без шифрования данных. В этой статье мы объясним, что это за прокси-сервер, раскроем его преимущества и сферы применения.
Socks-прокси – это прокси, которые передают данные по протоколу Socket Secure. Он помогает обеспечить безопасную связь на незаметном для пользователя уровне. Эти прокси направляют трафик по брандмауэру и облегчают связь с сервером. При этом прокси не вносит никаких изменений и данных: трафик перенаправляется в чистом виде. Таким образом, сайты не увидят реальный IP-адрес клиента и то, что он пользуется прокси.
При этом Socks-прокси:
И будьте внимательнее, если работаете с бесплатными Socks-серверами. У них выше риск утечки данных и повышенного количества рекламы. Мы уже сравнивали их с платными в нашей статье «Платные vs бесплатные прокси».
Аутентификация — это способ подключения к прокси. При аутентификации ваши данные защищены чуть лучше. А при парсинге шанс получить бан меньше. То есть, прокси-серверы SOCKS5 безопаснее соединений через протокол HTTP. Вы можете подключиться к SOCKS5 с помощью одноразового пароля, SMS-кода, кода аутентификатора и так далее.
SOCKS5 предлагает три типа аутентификации:
Есть два поколения Socks-прокси:
SOCKS5 — это те же SOCKS, так чаще всего называются SOCKS-прокси, так как эта версия прокси более популярна. Поэтому цифру «5» обычно опускают. Оба термина можно использовать взаимозаменяемо.
SOCKS-прокси можно использовать для тех же целей, что и HTTP-прокси. Например, повысить скорость загрузки на сайтах за счет кэширования, обойти баны по IP, сохранить конфиденциальность при работе в сети.
SOCKS5, в отличие от HTTP, подойдёт для работы вне браузера. Протокол работает на уровне сеанса — 5 уровень в модели OSI. Это значит, что протокол позволяет передавать любые данные, без инкапсуляции.
OSI — это модель для работы протоколов между собой и согласования работы разных устройств. Она показывает ступени передачи данных от программы до кабеля.
Выглядит она так:
Уровни хоста в модели OSI
Уровень | Тип данных | Функции | Примеры |
7. Прикладной | Данные | Доступ к сетевым службам | HTTP, FTP, POP3, SMTP, WebSocket |
6. Представления | Данные | Представление и шифрование данных | ASCII, EBCDIC, JPEG, MIDI |
5. Сеансовый | Данные | Управление сеансом связи | SOCKS5, RPC, PAP, L2TP, gRPC |
4. Транспортный | Сегменты и датаграммы | Прямая связь между конечными пунктами и надёжность | TCP, UDP, SCTP, Порты |
3. Сетевой | Пакеты | Определение маршрута и логическая адресация | IPv4, IPv6, IPsec, AppleTalk, ICMP |
2. Канальный | Биты и кадры | Физическая адресация | PPP, IEEE 802.22, Ethernet, DSL, ARP, сетевая карта |
1. Физический | Биты | Работа со средой передачи, сигналами и двоичными данными | USB, RJ («витая пара», коаксиальный, оптоволоконный), радиоканал |
Но шифрование данных в SOCKS5 не обязательно. Поэтому любой участник передачи данных сможет увидеть ваши данные. Но у этого есть плюс — скорость передачи данных самая высокая среди всех протоколов для прокси и даже быстрее VPN.
Выделенные (не общие) прокси-серверы SOCKS5 можно настроить на повышенную защиту, как VPN-сервер. Например, через частный сервер с зашифрованным SSH-туннелем (Secure Shell Protocol). Трафик тогда будет идти через удалённый сервер. Не путайте с SSL-шифрованием. По сути, вы можете самостоятельно создать локальный прокси с помощью утилиты PuTTy.
Благодаря SSH весь трафик, включая трафик SOCKS5, можно направлять от клиента через частный зашифрованный туннель SSH на удаленный SSH-сервер. Это может помочь вам скрыть трафик и обойти более умные (L7-DPI) межсетевые экраны. Но для этого потребуются продвинутые навыки настройки.
Схематично подключение будет выглядеть так:
Разные виды SOCKS ранее работали только с TCP-протоколом, а SOCKS5-прокси обрабатывают и UDP-трафик. Поэтому мы рекомендуем использовать SOCKS5, т.к. он более универсальный.
При этом протоколы отлично дополняют друг друга.
Если клиент обменивается TCP-данными, SOCKS пересылает данные через установленное соединение. Если клиент обменивается UDP-данными, возможно, придется использовать TCP-соединение для установления начальной связи, поскольку сам UDP умеет лишь отправлять данные. После этого TCP нужен только для успешных ответов прокси-сервера SOCKS5 и инструкций об отправке UDP-пакетов. Детальнее об отличиях протоколов можно узнать из статьи на Spiceworks.
SOCKS5 прокси вы можете настроить на любом уровне. В том числе SOCKS5 применяют на уровне приложения. То есть вы можете выбрать, какие программы будут передавать трафик через этот прокси. Это важно, если прокси-сервер нужно включить только для одного приложения. Прокси-серверы SOCKS обычно используют в браузере или P2P-клиенте обмена файлами, например BitTorrent.
Для обычной загрузки, передачи и загрузки контента прокси-серверы SOCKS — лучший вариант, они выделяются:
Они подойдут для типичных задач, с которыми справляются и другие варианты прокси. Но покажут большую эффективность в таких сценариях:
Основная проблема SOCKS5 — нет шифрования данных. Это может привести к: