Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

SOCKS — сетевой протокол сеансового уровня модели OSI, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно (незаметно для них) и таким образом использовать сервисы за межсетевыми экранами (фаерволами).

Более поздняя версия SOCKS5 предполагает аутентификацию, так что только авторизованные пользователи получают доступ к серверу.

Введение

Клиенты за межсетевым экраном, нуждающиеся в доступе к внешним серверам, вместо этого могут быть соединены с SOCKS-прокси-сервером. Такой прокси-сервер управляет правами клиента на доступ к внешним ресурсам и передаёт клиентский запрос внешнему серверу. SOCKS может использоваться и противоположным способом, осуществляя управление правами внешних клиентов соединяться с внутренними серверами, находящимися за межсетевым экраном (брандмауэром).

В отличие от HTTP-прокси-серверов, SOCKS передаёт все данные от клиента, ничего не добавляя от себя, то есть с точки зрения конечного сервера, данные, полученные им от SOCKS-прокси, идентичны данным, которые клиент передал бы напрямую, без проксирования. SOCKS более универсален, он не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и оперирует на уровне TCP-соединений (4‑й уровень модели OSI). Зато HTTP-прокси кэширует данные и может более тщательно фильтровать содержимое передаваемых данных.

Протокол был разработан системным администратором компании MIPS Дэвидом Кобласом (David Koblas). После того, как в 1992 году MIPS вошла в состав корпорации Silicon Graphics, Коблас сделал доклад о SOCKS на Симпозиуме по безопасности Usenix, и SOCKS стал публично доступным. Четвёртую версию протокола разработал Ин-Да Ли (Ying-Da Lee) из NEC.

SOCKS-серверы обычно используют порт 1080[1].

Протокол SOCKS 4

SOCKS 4 предназначен для работы через межсетевой экран без аутентификации для приложений типа клиент-сервер, работающих по протоколу TCP, таких, как Telnet, FTP и таких популярных протоколов обмена информацией, как HTTP, WAIS и Gopher. По существу, SOCKS-сервер можно рассматривать как межсетевой экран, поддерживающий протокол SOCKS.

Типичный запрос SOCKS 4 выглядит следующим образом:

Запрос клиента к SOCKS-Серверу:

Размер Описание
1 байт Номер версии SOCKS, 1 байт (для этой версии должен быть 0x04)
1 байт Код команды:
  • 0x01 = установка TCP/IP соединения
  • 0x02 = назначение TCP/IP-порта (binding)
2 байта Номер порта
4 байта IP-адрес
n+1 байт ID пользователя. Строка переменной длины, завершается NUL-байтом (0x00). Поле предназначено для идентификации пользователя (см. Ident)

Ответ сервера SOCKS-Клиенту:

Размер Описание
1 байт NUL-байт
1 байт Код ответа:
  • 0x5a = запрос предоставлен
  • 0x5b = запрос отклонён или ошибочен
  • 0x5c = запрос не удался, потому что не запущен identd (или не доступен с сервера)
  • 0x5d = запрос не удался, поскольку клиентский identd не может подтвердить идентификатор пользователя в запросе
2 байта Произвольные данные, должны быть проигнорированы
4 байта Произвольные данные, должны быть проигнорированы

Протокол SOCKS 5

SOCKS 5[2] это несовместимое расширение протокола SOCKS 4. Он добавляет поддержку UDP, обеспечивает универсальные схемы строгой аутентификации и расширяет методы адресации, добавляет поддержку доменных имен и адресов IPv6. Начальная установка связи теперь состоит из следующего:

  • Клиент подключается, и посылает приветствие, которое содержит перечень поддерживаемых методов аутентификации
  • Сервер выбирает из них один (или посылает ответ о неудаче запроса, если ни один из предложенных методов не приемлем)
  • В зависимости от выбранного метода между клиентом и сервером может пройти некоторое количество сообщений
  • Клиент посылает запрос на соединение аналогично SOCKS 4
  • Сервер отвечает аналогично SOCKS 4

Методы аутентификации пронумерованы следующим образом:

0x00 Аутентификация не требуется
0x01 GSSAPI
0x02 Имя пользователя / пароль RFC 1929
0x03-0x7F Зарезервировано IANA
0x03 CHAP
0x04 Не занято
0x05 Вызов-ответ (аутентификация)
0x06 SSL
0x07 NDS аутентификация
0x08 Фреймворк многофакторной аутентификации
0x09 Блок JSON параметров
0x0A–0x7F Не занято
0x80-0xFE Зарезервировано для методов частного использования

Начальное приветствие от клиента:

Размер Описание
1 байт Номер версии SOCKS (должен быть 0x05 для этой версии)
1 байт Количество поддерживаемых методов аутентификации
n байт Номера методов аутентификации, переменная длина, 1 байт для каждого поддерживаемого метода

Сервер сообщает о своём выборе:

Размер Описание
1 байт Номер версии SOCKS (должен быть 0x05 для этой версии)
1 байт Выбранный метод аутентификации или 0xFF, если не было предложено приемлемого метода

Последующая идентификация зависит от выбранного метода.

Запрос клиента:

Размер Описание
1 байт Номер версии SOCKS (должен быть 0x05 для этой версии)
1 байт Код команды:
  • 0x01 = установка TCP/IP соединения
  • 0x02 = назначение TCP/IP порта (binding)
  • 0x03 = ассоциирование UDP-порта
1 байт Зарезервированный байт, должен быть 0x00
1 байт Тип адреса:
  • 0x01 = адрес IPv4
  • 0x03 = имя домена
  • 0x04 = адрес IPv6
Зависит от типа адреса Назначение адреса:
  • 4 байта для адреса IPv4
  • Первый байт — длина имени, затем следует имя домена без завершающего нуля на конце
  • 16 байт для адреса IPv6
2 байта Номер порта, в порядке от старшего к младшему (big-endian)

Ответ сервера:

Размер Описание
1 байт Номер версии SOCKS (0x05 для этой версии)
1 байт Код ответа:
  • 0x00 = запрос предоставлен
  • 0x01 = ошибка SOCKS-сервера
  • 0x02 = соединение запрещено набором правил
  • 0x03 = сеть недоступна
  • 0x04 = хост недоступен
  • 0x05 = отказ в соединении
  • 0x06 = истечение TTL
  • 0x07 = команда не поддерживается / ошибка протокола
  • 0x08 = тип адреса не поддерживается
1 байт Байт зарезервирован, должен быть 0x00
1 байт Тип последующего адреса:
  • 0x01 = адрес IPv4
  • 0x03 = имя домена
  • 0x04 = адрес IPv6
Зависит от типа адреса Назначение адреса:
  • 4 байта для адреса IPv4
  • Первый байт — длина имени, затем следует имя домена без завершающего нуля на конце
  • 16 байт для адреса IPv6
2 байта Номер порта, в порядке от старшего к младшему (big-endian)

Реализации

  • Sun Java System Web Proxy Server[en] — кеширующий прокси сервер для Solaris, Linux, Windows, поддерживает HTTPS, фильтры NSAPI I/O, динамическую реконфигурацию и обратный прокси.
  • DeleGate — многофункциональный шлюз прикладного уровня и прокси-сервер, работающий на различных платформах, кроме SOCKS также поддерживает HTTP(S), FTP, NNTP, SMTP, POP3, IMAP, LDAP, Telnet, DNS и другие протоколы.
  • 3proxy — лёгкий прокси-сервер с поддержкой SOCKS-proxy
  • WinGate — многопротокольный прокси-сервер с поддержкой SOCKS для Windows.
  • OpenSSH позволяет динамически создавать туннели, заданные через подмножество протокола SOCKS.
  • Dante - сервер SOCKS прокси для Linux.

См. также

Примечания

  1. Service Name and Transport Protocol Port Number Registry. IANA.
  2. Marcus Leech <mleech@bnr.ca>. SOCKS Protocol Version 5 (англ.). tools.ietf.org. Дата обращения: 6 июня 2020.

Ссылки

Эта страница в последний раз была отредактирована 20 июня 2021 в 11:20.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).