Привіт новачок!
Сьогодні ми з тобою поговоримо про такому протоколі, як Socks, і його різновидах — Socks 4 і Socks 5.

Що таке SOCKS proxy server:

Протокол SOCKS був розроблений досить таки давно, але до цих пір залишається актуальним і більш новий у порівнянні з HTTP proxy. З допомогою протоколу SOCKS можна працювати практично з будь-якими протоколами, до прикладу: версія Socks 4 — з TCP, Socks 5 — з TCP і UDP і т. д. Йде просто передача даних від клієнта до протоколу SOCKS до сервера. Причому вникати в суть і зміст самих даних немає необхідності, тому можливо працювати протоколами HTTP, FTP, SMTP, POP3, NNTP, etc.

1.1. Анонімність SOCKS proxy

Протокол SOCKS, з точки-зору web-сервера, вважається клієнтом (так як SOCKS передає дані безпосередньо від клієнта до сервера, не вникаючи в суть передачі). Це є вагомим аргументом на користь анонімності передачі даних типів проксі-серверів.

1.2. Використання SOCKS proxy

На сьогоднішній день можна побачити два варіанти протоколу SOCKS SOCKS 4 і SOCKS 5.

SOCKS 4 отримала найбільше розповсюдження. Але, SOCKS 5 має не меншу популярність, так як підтримується більшістю сучасних популярних програм і софта. З допомогою SOCKS proxy server можна працювати з такими програмами, як ICQ, Napster, AudioGalaxy, EeDoonkey2000 (безпосередньо для завантаження музичних файлів). Деякі старі програми ICQ зовсім могли використовувати для роботи тільки SOCKS сервер. Для поштових клієнтів і поштових програм SOCKS proxy також можна застосовувати, так як він може підтримувати будь TCP UDP протокол. Але, найчастіше, це не практикується. Саме тому було розроблено необхідне програмне забезпечення — SOCKS-ификаторы.

SOCKS-ификаторы перехоплюють запити на з’єднання необхідних програм, і направляє запити безпосередньо на SOCKS proxy server. За цим принципом можна використовувати SOCKS proxy server і для браузера.

1.3. Побудова ланцюжка з допомогою SOCKS proxy server (SOCKS proxy chaining)

Так як SOCKS proxy server виробляє передачу інформації між комп’ютерами без зміни і вторгнення в неї, можна з легкістю створити необхідні ланцюжка SOCKS proxy серверів, причому будь-якої необхідної довжини. Тільки для цих цілей необхідно використовувати спеціальний софт, так як звичайні програми можуть використовувати лише один SOCKS proxy server. Але, побудова ланцюжків, це тема для окремої статті.

1.4. Об’єднання різних типів SOCKS proxy server в ланцюжок

SOCKS proxy server можна об’єднувати ланцюжком безпосередньо з іншими протоколами proxy серверів, такими як HTTP і CGI. Дані протоколи повинні обов’язково перебувати на початку ланцюжка, інакше нічого не вийде.

Можна створювати такі ось ланцюжка:
SOCKS proxy => HTTP proxy => CGI proxy;
SOCKS proxy => HTTP proxy;
SOCKS proxy => CGI proxy;
HTTP proxy => SOCKS proxy => CGI proxy.

Не можна створювати лише ланцюжок типу: CGI proxy => SOCKS proxy.

1.5. Що можна зробити, якщо вже є корпоративний proxy сервер?

Можна користуватися SOCKS proxy тільки тоді, коли власний корпоративний proxy сервер не має SOCKS протокол. Для таких цілей в більшості випадків, виділяється спеціальний порт для SOCKS proxy, під номером 1080.

==========
З. И.
Матеріал взято з своїх знань, а також з Вікіпедії, вільної енциклопедії.