Разбор. Как работает SOCKS-прокси: плюсы, минусы, отличия от других технологий



    Изображение: Pexels

    В современном интернете, где все острее встает вопрос обеспечения анонимности, многие люди начинают задумываться о том, какие инструменты для этого им использовать. Здесь часто возникает путаница, поскольку не все разбираются в аспектах существующих технологий. А их огромное количество, и даже решение одной и той же задачи сокрытия реального IP-адреса может быть реализовано по-разному.

    Сегодня мы расскажем о технологии SOCKS-прокси, принципах ее работы, преимуществах и отличиях от других инструментов обеспечения анонимности в интернете.

    Примечание: это разбор для тех, кто не совсем в курсе деталей работы этой технологии и ее отличий от других инструментов, в данном топике мы не претендуем на глубокий анализ.

    Что это такое


    SOCKS – это интернет-протокол, который используется для передачи пакетов с данными от сервера к клиенту с помощью промежуточного прокси-сервера. На сегодня это наиболее продвинутая массовая технология для организации прокси. При ее использовании трафик проходит через прокси-сервер, который использует собственный IP-адрес, с которого уже идет финальное подключение к нужному адресату.

    Наиболее свежая спецификация протокола – это SOCKS5. Она использует UDP- и TCP-соединения для пересылки трафика. Также в SOCKS5 используются несколько способов аутентификации:

    • Null authentication – в этом случае для подключения к прокси проходить процедуру аутентификации не нужно;
    • аутентификация по логину и паролю – соединение устанавливается после введения корректных учетных данных;
    • аутентификация с помощью GSS-API – как клиент так и сервер используют методы аутентификации, работающие на уровне ОС.

    Зачем используют SOCKS-прокси


    Существует несколько причин применения SOCKS-прокси, вот две главных:

    Обход блокировок


    Самое очевидное применение прокси – сокрытие реального IP-адреса с какой-то целью, например для обхода блокировок. Например, если определенный IP-адрес попал в черный список какого-то сайта, до для доступа к нему будет достаточно использовать прокси.

    В некоторых случаях таким способом можно преодолеть и блокировки, наложенные государственными органами. Однако здесь есть свои ограничения – при использовании технологии DPI (deep packet inspection), трафик будет блокироваться на уровне интернет провайдера еще до того, как он дойдет до сайта. В этом случае просто прокси не поможет.

    Важный момент. Некоторые HTTP-прокси могут работать только с веб-страницами, а SOCKS5 умеет обрабатывать любой трафик. Такие прокси работают на более низком уровне

    Повышение скорости и производительности


    Другие разновидности технологии SOCKS работали с протоколом TCP, а новые прокси умеют обрабатывать и UDP-трафик.

    TCP – это протокол с гарантированной доставкой сообщений между клиентом и сервером. TCP – это протокол с гарантированной доставкой сообщений между клиентом и сервером. Кроме того, это потоковый протокол. В UDP доставка всех пакетов не является гарантированным условием, и это пакетный протокол. Его использование позволяет пересылать трафик быстрее, поскольку не тратится время на повторную отправку недошедших пакетов, и разбор пакетов данных осуществляется быстрее, чем потоков.

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

    SOCKS и VPN: в чем разница


    Не все прокси-провайдеры пишут об этом, но основная разница при использовании SOCKS и VPN заключается в уровне анонимности, которого можно добиться. В случае VPN все передаваемые данные шифруются, чего нет в случае SOCKS-прокси.

    Важно понимать, что прокси позволяют скрывать IP-адрес и решать ряд других задач (вроде обхода блокировок), но сами по себе они не являются инструментом обеспечения приватности. Пользователя прокси можно вычислить и перехватить его трафик.

    Однако использование прокси в комбинации с VPN позволяет добиться хорошей скорости работы и лучше защитить чувствительную информацию.

    Полезные ссылки и материалы от Infatica:


    • +3
    • 11,7k
    • 8
    INFATICA.io
    0,00
    INFATICA is global peer to business proxy network
    Поделиться публикацией

    Комментарии 8

      +1
      Однако здесь есть свои ограничения – при использовании технологии DPI (deep packet inspection), трафик будет блокироваться на уровне интернет провайдера еще до того, как он дойдет до сайта. В этом случае просто прокси не поможет.

      Разве при использовании SOCKS-прокси, между клиентом и прокси-сервером не устанавливается "тоннель", в который инкапсулируется весь трафик? Соответственно, DPI не видит данные в этом тоннеле и блокировать может только на выходе SOCKS-прокси.


      Upd. Сам спросил, сам ответил: да, похоже в SOCKS зашифрованный тоннель между SOCKS-сервером и клиентом не обязателен. Почему-то сокс мной запомнился как обязательно зашифрованный канал передачи данных.

        +1
        В случае VPN все передаваемые данные шифруются
        Это совершенно не обязательно, термин VPN вообще не несет под собой какого-то конкретного протокола, это просто группа технологий. Можно поднять простейший IPIP тоннель без каких-либо шифрований и это уже можно считать VPN. Можно и например PPTP запустить без шифрования и даже OpenVPN умеет работать без шифрования.
          +7
          Блин, ребят, хотел почитать про начинку протокола, а получил популизм.

          Для начала хотя бы картинку со слоями OSI и применением её к какому-нибудь протоколу (например, HTTP) и точкой втыкания прокси нарисовали бы.

          Socks5 отличается от Socks4 как раз поддержкой UDP.
            +1
            Автор уже писал нечто подобное вчера или позавчера.
            В камментах забили с[пециаль]нами тряпками за школолизм (а не популизм).
            Статью убита (вместе с камментами, ага) и переписана заново (кагбэ).
            Но я, честно говоря, отличий не заметил — такая же… кхм… статья такого же качества, короче.
              0

              " — Вовочка, как работает трансформатор?


              • У-у-у-у..."
                Где-то так работает и прокси.
            0
            вообщем толком никакой защиты он не даёт, а запросы от сокс сервера в принципе можно выделить, сопоставив статистику что подозрительно что из одного адреса открывается несколько разных соединений с разными пользователями и в бан.
            При этом никакой ещё обфускации трафика то есть засвечивается и прокси и пользователь если смотреть логи провайдера

            Socks5 отличается от Socks4 как раз поддержкой UDP.


            а что там поддерживать когда UDP проще? Смешно, ерунду вставили и уже вот новая версия))
              0
              а что там поддерживать когда UDP проще? Смешно, ерунду вставили и уже вот новая версия))

              На самом деле совсем не ерунду с точки зрения производительности.

              На сетях с даже небольшими потерями пакетов TCP over UDP (TCP over Socks/UDP)) работает существенно лучше, чем TCP over TCP (TCP over Socks/TCP). Просто из-за того, что у каждого слоя TCP есть свой механизм переотправки пакетов и даже в случае потери единичного пакета мы получаем в лучшем случае удвоенное количество перепосылок, а в худшем — ещё и существенную потерю производительности.

              p.s. С технической же точки зрения на уровне приложения работа по UDP или TCP ничем не отличается. И там и тут открываем сокет, и там и тут отправляем/получаем пакеты.
                0
                пакетов TCP over UDP
                так зато TCP гарантирует без потерь. В видеостриминга пофиг, а вот если мессенджер а то и ssh :D

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое