SOCKS — мережевий протокол, який дозволяє клієнт-серверним додаткам прозоро використовувати сервіси за міжмережевими екранами (фаєрволами).
Вступ
Клієнти за міжмережевим екраном, що потребують доступ до зовнішніх серверів, замість цього можуть з'єднуватися з SOCKS проксі-сервером. Такий проксі-сервер контролює права клієнта для доступу до зовнішніх ресурсів і передає запит до сервера. SOCKS може використовуватися і протилежним способом, дозволяючи зовнішнім клієнтам з'єднуватися з серверами за міжмережевим екраном (брандмауером).
На відміну від HTTP проксі-серверів, SOCKS передає всі дані від клієнта, нічого не додаючи від себе, тобто з точки зору кінцевого сервера, SOCKS проксі є звичайним клієнтом. SOCKS більш універсальний - не залежить від конкретних протоколів прикладного рівня (7-го рівня моделі OSI) і базується на стандарті (TCP/IP) - протоколі 4-го рівня. Зате HTTP проксі кешує дані і може ретельніше фільтрувати вміст переданих даних.
Цей протокол був розроблений Девідом Кобласом (David Koblas), системним адміністратором MIPS Computer Systems. Після того, як в 1992 році MIPS увійшла до складу Silicon Graphics (SGI), Коблас зробив доповідь про SOCKS на Симпозіумі з Безпеки Usenix (Usenix Security Symposium), і SOCKS став публічно доступним. Протокол був розширений до четвертої версії Ін-Да Лі (Ying-Da Lee) з NEC Systems Laboratory
Протокол SOCKS 4
SOCKS 4 призначений для роботи через фаєрвол без аутентифікації для додатків типу клієнт-сервер, що працюють за протоколом TCP, таких, як TELNET, FTP і таких популярних протоколів обміну інформацією, як HTTP, WAIS і GOPHER. По суті, SOCKS-сервер можна розглядати як міжмережевий екран, що підтримує протокол SOCKS.
Типовий запит SOCKS 4 виглядає наступним чином (кожне поле - один байт):
Запит Клієнта до SOCKS-Серверу:
- Поле 1: номер версії SOCKS, 1 байт (повинен бути 0x04 для цієї версії)
- Поле 2: код команди, 1 байт:
- 0x01 = установка TCP / IP з'єднання
- 0x02 = призначення ( TCP/IP порту) (binding)
- Поле 3: номер порту, 2 байти
- Поле 4: IP-адреса, 4 байти
- Поле 5: ID користувача, рядки змінної довжини, завершується null-байтом (0x00)
Відповідь Сервера SOCKS-Клієнту:
- Поле 1: null-байт
- Поле 2: код відповіді, 1 байт:
- 0x5a = запит наданий
- 0x5b = запит відхилений чи помилковий
- 0x5c = запит не вдався, бо не запущений identd (або не доступний з сервера)
- 0x5d = запит не вдався, оскільки клієнтський identd не може підтвердити ідентифікатор користувача в запиті
- Поле 3: 2 довільних байта, повинні бути проігноровані
- Поле 4: 4 довільних байта, повинні бути проігноровані
Протокол SOCKS 5
SOCKS 5 розширює модель SOCKS 4, додаючи до неї підтримку UDP, забезпечення універсальних схем строгої аутентифікації і розширює методи адресації, додаючи підтримку доменних імен і адрес IPv6. Початкова установка зв'язку тепер складається з наступного:
- Клієнт підключається, і посилає запит, який включає перелік підтримуваних методів аутентифікації
- Сервер вибирає з них один (чи надсилає відповідь про невдачу запиту, якщо жоден із запропонованих методів недоступний)
- В залежності від обраного методу, між клієнтом і сервером може пройти деяка кількість повідомлень
- Клієнт посилає запит на з'єднання, аналогічно SOCKS 4
- Сервер відповідає, аналогічно SOCKS 4
Методи аутентифікації пронумеровані таким чином:
- 0x00 - аутентифікація не вимагається
- 0x01 - GSSAPI
- 0x02 - ім'я користувача / пароль
- 0x03-0x7F - зарезервовано IANA
- 0x80-0xFE - зарезервовано для методів приватного використання
Початковий запит від клієнта:
- Поле 1: номер версії SOCKS (повинен бути 0x05 для цієї версії)
- Поле 2: кількість підтримуваних методів аутентифікації, 1 байт
- Поле 3: номери методи аутентифікації, змінна довжина, 1 байт для кожного підтримуваного методу
Сервер повідомляє про свій вибір:
- Поле 1: Версія SOCKS, 1 байт (0x05 для цієї версії)
- Поле 2: обраний метод аутентифікації, 1 байт, або 0xFF, якщо не було запропоновано прийнятного методу
Подальша ідентифікація залежить від обраного методу.
Запит клієнта:
- Поле 1: номер версії SOCKS (повинен бути 0x05 для цієї версії)
- Поле 2: код команди, 1 байт:
Посилання
- RFC 1928 [ 26 серпня 2011 у Wayback Machine.] (рос.) — Протокол SOCKS 5
- RFC 1929 (англ.) — Username/Password Authentication for SOCKS V5
- RFC 1961 (англ.) — GSS-API Authentication Method for SOCKS Version 5
- SOCKS: A protocol for TCP proxy across firewalls [ 27 січня 2012 у Wayback Machine.] (англ.) — Протокол SOCKS 4
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
SOCKS merezhevij protokol yakij dozvolyaye kliyent servernim dodatkam prozoro vikoristovuvati servisi za mizhmerezhevimi ekranami fayervolami VstupKliyenti za mizhmerezhevim ekranom sho potrebuyut dostup do zovnishnih serveriv zamist cogo mozhut z yednuvatisya z SOCKS proksi serverom Takij proksi server kontrolyuye prava kliyenta dlya dostupu do zovnishnih resursiv i peredaye zapit do servera SOCKS mozhe vikoristovuvatisya i protilezhnim sposobom dozvolyayuchi zovnishnim kliyentam z yednuvatisya z serverami za mizhmerezhevim ekranom brandmauerom Na vidminu vid HTTP proksi serveriv SOCKS peredaye vsi dani vid kliyenta nichogo ne dodayuchi vid sebe tobto z tochki zoru kincevogo servera SOCKS proksi ye zvichajnim kliyentom SOCKS bilsh universalnij ne zalezhit vid konkretnih protokoliv prikladnogo rivnya 7 go rivnya modeli OSI i bazuyetsya na standarti TCP IP protokoli 4 go rivnya Zate HTTP proksi keshuye dani i mozhe retelnishe filtruvati vmist peredanih danih Cej protokol buv rozroblenij Devidom Koblasom David Koblas sistemnim administratorom MIPS Computer Systems Pislya togo yak v 1992 roci MIPS uvijshla do skladu Silicon Graphics SGI Koblas zrobiv dopovid pro SOCKS na Simpoziumi z Bezpeki Usenix Usenix Security Symposium i SOCKS stav publichno dostupnim Protokol buv rozshirenij do chetvertoyi versiyi In Da Li Ying Da Lee z NEC Systems LaboratoryProtokol SOCKS 4SOCKS 4 priznachenij dlya roboti cherez fayervol bez autentifikaciyi dlya dodatkiv tipu kliyent server sho pracyuyut za protokolom TCP takih yak TELNET FTP i takih populyarnih protokoliv obminu informaciyeyu yak HTTP WAIS i GOPHER Po suti SOCKS server mozhna rozglyadati yak mizhmerezhevij ekran sho pidtrimuye protokol SOCKS Tipovij zapit SOCKS 4 viglyadaye nastupnim chinom kozhne pole odin bajt Zapit Kliyenta do SOCKS Serveru Pole 1 nomer versiyi SOCKS 1 bajt povinen buti 0x04 dlya ciyeyi versiyi Pole 2 kod komandi 1 bajt 0x01 ustanovka TCP IP z yednannya 0x02 priznachennya TCP IP portu binding Pole 3 nomer portu 2 bajti Pole 4 IP adresa 4 bajti Pole 5 ID koristuvacha ryadki zminnoyi dovzhini zavershuyetsya null bajtom 0x00 Vidpovid Servera SOCKS Kliyentu Pole 1 null bajt Pole 2 kod vidpovidi 1 bajt 0x5a zapit nadanij 0x5b zapit vidhilenij chi pomilkovij 0x5c zapit ne vdavsya bo ne zapushenij identd abo ne dostupnij z servera 0x5d zapit ne vdavsya oskilki kliyentskij identd ne mozhe pidtverditi identifikator koristuvacha v zapiti Pole 3 2 dovilnih bajta povinni buti proignorovani Pole 4 4 dovilnih bajta povinni buti proignorovaniProtokol SOCKS 5SOCKS 5 rozshiryuye model SOCKS 4 dodayuchi do neyi pidtrimku UDP zabezpechennya universalnih shem strogoyi autentifikaciyi i rozshiryuye metodi adresaciyi dodayuchi pidtrimku domennih imen i adres IPv6 Pochatkova ustanovka zv yazku teper skladayetsya z nastupnogo Kliyent pidklyuchayetsya i posilaye zapit yakij vklyuchaye perelik pidtrimuvanih metodiv autentifikaciyi Server vibiraye z nih odin chi nadsilaye vidpovid pro nevdachu zapitu yaksho zhoden iz zaproponovanih metodiv nedostupnij V zalezhnosti vid obranogo metodu mizh kliyentom i serverom mozhe projti deyaka kilkist povidomlen Kliyent posilaye zapit na z yednannya analogichno SOCKS 4 Server vidpovidaye analogichno SOCKS 4 Metodi autentifikaciyi pronumerovani takim chinom 0x00 autentifikaciya ne vimagayetsya 0x01 GSSAPI 0x02 im ya koristuvacha parol 0x03 0x7F zarezervovano IANA 0x80 0xFE zarezervovano dlya metodiv privatnogo vikoristannya Pochatkovij zapit vid kliyenta Pole 1 nomer versiyi SOCKS povinen buti 0x05 dlya ciyeyi versiyi Pole 2 kilkist pidtrimuvanih metodiv autentifikaciyi 1 bajt Pole 3 nomeri metodi autentifikaciyi zminna dovzhina 1 bajt dlya kozhnogo pidtrimuvanogo metodu Server povidomlyaye pro svij vibir Pole 1 Versiya SOCKS 1 bajt 0x05 dlya ciyeyi versiyi Pole 2 obranij metod autentifikaciyi 1 bajt abo 0xFF yaksho ne bulo zaproponovano prijnyatnogo metodu Podalsha identifikaciya zalezhit vid obranogo metodu Zapit kliyenta Pole 1 nomer versiyi SOCKS povinen buti 0x05 dlya ciyeyi versiyi Pole 2 kod komandi 1 bajt PosilannyaRFC 1928 26 serpnya 2011 u Wayback Machine ros Protokol SOCKS 5 RFC 1929 angl Username Password Authentication for SOCKS V5 RFC 1961 angl GSS API Authentication Method for SOCKS Version 5 SOCKS A protocol for TCP proxy across firewalls 27 sichnya 2012 u Wayback Machine angl Protokol SOCKS 4