جوارب

بروتوكول SOCKS هو بروتوكول إنترنت يتبادل حزم البيانات بين العميل والخادم عبر خادم وسيط . يوفر SOCKS5، بشكل اختياري ، خاصية المصادقة ، بحيث لا يُسمح بالوصول إلى الخادم إلا للمستخدمين المصرح لهم. عمليًا، يقوم خادم SOCKS بتوجيه اتصالات TCP إلى عنوان IP عشوائي، ويوفر وسيلة لإعادة توجيه حزم UDP. يعمل بروتوكول SOCKS بين طبقة التطبيق وطبقة النقل . [ 1 ] يستقبل خادم SOCKS اتصالات العملاء الواردة على منفذ TCP رقم 1080. [ 1 ] [ 2 ]

تاريخ

صُمم البروتوكول وطُوّر في الأصل على يد ديفيد كوبلاس، مدير أنظمة في شركة MIPS Computer Systems . بعد استحواذ شركة Silicon Graphics على MIPS عام 1992، قدّم كوبلاس ورقة بحثية حول بروتوكول SOCKS في ندوة Usenix Security Symposium في ذلك العام، [ 3 ] مما أتاح SOCKS للعموم. [ 4 ] ثمّ طُوّر البروتوكول إلى الإصدار الرابع على يد يينغ-دا لي من شركة NEC .

تُعدّ بنية SOCKS المرجعية وبرنامج العميل ملكًا لشركة Permeo Technologies ، [ 5 ] وهي شركة منبثقة عن NEC . ( استحوذت Blue Coat Systems على Permeo Technologies ، ثم استحوذت عليها Symantec بدورها ).

كان بروتوكول SOCKS5 في الأصل بروتوكول أمان يُسهّل إدارة جدران الحماية وغيرها من منتجات الأمان. وقد تمت الموافقة عليه من قِبل فريق عمل هندسة الإنترنت (IETF) عام 1996. [ 1 ] وقد طُوّر البروتوكول بالتعاون مع شركة أفينتيل ، التي تُسوّق هذه التقنية خارج آسيا. [ 6 ]

اختصار

يُعرَّف SOCKS أحيانًا بأنه اختصار لـ "socket secure" منذ عام 2001 على الأقل، [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] على الرغم من أنه لم يتم تعريفه في الأصل على هذا النحو في بروتوكول SOCKS الإصدار 5 RFC في عام 1996 [ 1 ] أو ورقة ندوة أمن UNIX III في عام 1992 [ 3 ] ولكنه كان يشير ببساطة إلى بروتوكول وكيل محدد مصمم لتسهيل الاتصال بين العملاء والخوادم من خلال جدار الحماية.

الاستخدام

يُعدّ بروتوكول SOCKS معيارًا فعليًا لبوابات مستوى الدائرة (بوابات المستوى 5). [ 12 ]

بفضل طبيعة SOCKS على مستوى الدائرة/الجلسة، تُعدّ أداةً متعددة الاستخدامات في توجيه أي حركة مرور TCP (أو UDP منذ SOCKS5)، مما يُنشئ واجهةً لجميع أنواع أدوات التوجيه. ويمكن استخدامها على النحو التالي:

  • أداة للتحايل، تسمح بتجاوز حجب الإنترنت للوصول إلى المحتوى المحظور، على سبيل المثال، من قِبل الحكومات وأماكن العمل والمدارس وخدمات الويب الخاصة بكل دولة. [ 13 ] ونظرًا لسهولة اكتشاف بروتوكول SOCKS، فإن أحد الأساليب الشائعة هو تقديم واجهة SOCKS لبروتوكولات أكثر تعقيدًا.
    • يقدم برنامج Tor onion proxy واجهة SOCKS لعملائه. [ 14 ]
  • توفير وظائف مشابهة للشبكة الخاصة الافتراضية ، مما يسمح بإعادة توجيه الاتصالات إلى الشبكة "المحلية" للخادم:
    • تدعم بعض برامج SSH، مثل OpenSSH ، إعادة توجيه المنافذ الديناميكية التي تسمح للمستخدم بإنشاء وكيل SOCKS محلي. [ 15 ] وهذا يُحرر المستخدم من قيود الاتصال بمنفذ وخادم بعيدين مُحددين مسبقًا.

بروتوكول

جوارب 4

يبدو طلب اتصال SOCKS4 النموذجي كالتالي:

أول حزمة إلى الخادم
إزاحةثمانية0123
ثمانيةقليل012345678910111213141516171819202122232425262728293031
00VER  (0x04)CMDوزارة الموانئ
432DSTIP
864بطاقة تعريف
1296
الإصدار : 8 بت
رقم إصدار SOCKS هو 0x04 لهذا الإصدار
CMD : 8 بت
رمز الأمر:
  • 0x01: إنشاء اتصال تدفق TCP/IP .
  • 0x02: إنشاء ربط منفذ TCP/IP.
DSTPORT : 16 بت
رقم منفذ الوجهة، بترتيب بايتات الشبكة .
DESTIP : 32 بت
عنوان IPv4 الوجهة ، بترتيب بايتات الشبكة.
المعرّف : متغير
سلسلة معرف المستخدم، منتهية بـ null .

يرد الخادم بما يلي:

استجابة الخادم
إزاحةثمانية0123
ثمانيةقليل012345678910111213141516171819202122232425262728293031
00VN  (0x00)مندوبوزارة الموانئ
432DSTIP
VN : 8 بت
نسخة الرد (بايت فارغ).
REP : 8 بت
رمز الرد:
  • 0x5a: تمت الموافقة على الطلب.
  • 0x5b: تم رفض الطلب أو فشل.
  • 0x5c: فشل الطلب لأن العميل لا يقوم بتشغيل identd (أو لا يمكن الوصول إليه من الخادم).
  • 0x5d: فشل الطلب لأن برنامج identd الخاص بالعميل لم يتمكن من تأكيد معرف المستخدم في الطلب.
DSTPORT : 16 بت
يجب تجاهل رقم منفذ الوجهة، الذي يكون ذا معنى إذا تم منحه في BIND، وإلا فيجب تجاهله.
DESTIP : 32 بت
عنوان IPv4 الوجهة . بالإضافة إلى DSTPORT، عنوان IP والمنفذ اللذان يجب على العميل الارتباط بهما.

على سبيل المثال، هذا طلب SOCKS4 للاتصال بـ Fred إلى 66.102.7.99:80 ، ويرد الخادم بـ "OK":

  • عميل:0x04 | 0x01 | 0x00 0x50 | 0x42 0x66 0x07 0x63 | 0x46 0x72 0x65 0x64 0x00
    • الحقل الأخير هو "Fred" في ASCII ، متبوعًا ببايت فارغ.
  • الخادم:0x00 | 0x5A | 0xXX 0xXX | 0xXX 0xXX 0xXX 0xXX
    • يمكن أن تكون القيمة 0xXX أي قيمة بايت. وينص بروتوكول SOCKS4 على أنه يجب تجاهل قيم هذه البايتات.

من هذه النقطة فصاعدًا، يتم إعادة توجيه أي بيانات يتم إرسالها من عميل SOCKS إلى خادم SOCKS إلى 66.102.7.99 ، والعكس صحيح.

قد يكون حقل الأمر 0x01 لـ "connect" أو 0x02 لـ "bind"؛ يسمح أمر "bind" بالاتصالات الواردة لبروتوكولات مثل FTP النشط .

جوارب 4أ

يُوسّع بروتوكول SOCKS4a بروتوكول SOCKS4 ليسمح للعميل بتحديد اسم نطاق الوجهة بدلاً من عنوان IP؛ وهذا مفيد عندما يتعذر على العميل نفسه تحويل اسم نطاق المضيف الوجهة إلى عنوان IP. وقد اقترحه يينغ-دا لي، مؤلف بروتوكول SOCKS4. [ 16 ]

يجب على العميل تعيين البايتات الثلاثة الأولى من DSTIP إلى NULL والبايت الأخير إلى قيمة غير صفرية. (يتوافق هذا مع عنوان IP 0.0.0.x، حيث x قيمة غير صفرية، وهو عنوان وجهة غير مقبول، وبالتالي لا ينبغي أن يحدث أبدًا إذا كان بإمكان العميل تحليل اسم النطاق). بعد بايت NULL الذي يُنهي USERID، يجب على العميل إرسال اسم نطاق الوجهة وإنهاؤه ببايت NULL آخر. يُستخدم هذا لكل من طلبات "connect" و"bind".

العميل إلى خادم SOCKS:

أول حزمة إلى الخادم
SOCKS4_Cاِختِصاص
عدد البايتات8+ متغيرعامل
SOCKS4_C
حزمة مصافحة عميل SOCKS4 (أعلاه)
اِختِصاص
اسم نطاق المضيف المراد الاتصال به، تم إنهاء العملية بقيمة فارغة (0x00).

من الخادم إلى عميل SOCKS: (كما هو الحال في SOCKS4)

يجب على الخادم الذي يستخدم بروتوكول SOCKS4a التحقق من عنوان DSTIP في حزمة الطلب . إذا كان العنوان يُمثل 0.0.0.x بقيمة x غير صفرية، فيجب على الخادم قراءة اسم النطاق الذي يُرسله العميل في الحزمة. ينبغي على الخادم تحليل اسم النطاق وإنشاء اتصال بالمضيف الوجهة إن أمكن.

جوارب 5

يُعرَّف بروتوكول SOCKS5 في RFC 1928. وهو امتداد غير متوافق لبروتوكول SOCKS4؛ إذ يوفر خيارات أكثر للمصادقة ويدعم بروتوكولي IPv6 و UDP ، اللذين يُمكن استخدامهما في عمليات البحث عن أسماء النطاقات (DNS) . تتكون عملية المصافحة الأولية مما يلي: 

  • يتصل العميل ويرسل تحية تتضمن قائمة بطرق المصادقة المدعومة.
  • يختار الخادم إحدى الطرق (أو يرسل استجابة فشل إذا لم تكن أي منها مقبولة).
  • قد يتم الآن تبادل عدة رسائل بين العميل والخادم، وذلك حسب طريقة المصادقة المختارة.
  • يرسل العميل طلب اتصال مشابه لـ SOCKS4.
  • يستجيب الخادم بشكل مشابه لـ SOCKS4.

التحية الأولية من العميل هي:

تحية العميل
فيرنوثالمصادقة
عدد البايتات11عامل
فير
إصدار SOCKS (0x05)
نوث
عدد طرق المصادقة المدعومة، uint8
المصادقة
طرق المصادقة، بايت واحد لكل طريقة مدعومة
طرق المصادقة المدعومة مرقمة كما يلي:
  • 0x00: لا يوجد مصادقة
  • 0x01: GSSAPI ( RFC 1961 ) 
  • 0x02: اسم المستخدم/كلمة المرور ( RFC 1929 ) 
  • 0x03–0x7F: الطرق المخصصة من قبل IANA [ 17 ]
    • 0x03: بروتوكول المصادقة بالتحدي والمصافحة
    • 0x04: غير مُخصص
    • 0x05: طريقة المصادقة بالتحدي والاستجابة
    • 0x06: طبقة المقابس الآمنة
    • 0x07: مصادقة NDS
    • 0x08: إطار عمل المصادقة المتعددة
    • 0x09: كتلة معلمات JSON
    • 0x0A–0x7F: غير مُخصص
  • 0x80–0xFE: طرق محجوزة للاستخدام الخاص
اختيار الخادم
فيركوث
عدد البايتات11
فير
إصدار SOCKS (0x05)
كوث
طريقة المصادقة المختارة، أو 0xFF إذا لم يتم تقديم أي طرق مقبولة

تعتمد عملية المصادقة اللاحقة على الطريقة المستخدمة. تم وصف مصادقة اسم المستخدم وكلمة المرور (الطريقة 0x02) في RFC 1929 : 

طلب مصادقة العميل، 0x02
فيرإيدلينبطاقة تعريفبولينPW
عدد البايتات11(1–255)1(1–255)
فير
0x01 للإصدار الحالي من مصادقة اسم المستخدم/كلمة المرور
أيدلين، أيداهو
طول اسم المستخدم، uint8؛ اسم المستخدم كسلسلة بايت
بولين، بي دبليو
طول كلمة المرور، uint8؛ كلمة المرور كسلسلة بايت
استجابة الخادم، 0x02
فيرحالة
عدد البايتات11
فير
0x01 للإصدار الحالي من مصادقة اسم المستخدم/كلمة المرور
حالة
0x00 نجاح، وإلا فشل، يجب إغلاق الاتصال

بعد المصادقة، يمكن إتمام الاتصال. نبدأ بتعريف نوع بيانات العنوان على النحو التالي:

عنوان SOCKS5
يكتبالعنوان
عدد البايتات1عامل
يكتب
نوع العنوان. أحد الأنواع التالية:
  • 0x01: عنوان IPv4
  • 0x03: اسم النطاق
  • 0x04: عنوان IPv6
العنوان
بيانات العنوان التالية. حسب النوع:
  • 4 بايت لعنوان IPv4
  • بايت واحد لطول الاسم متبوعًا بـ 1-255 بايت لاسم النطاق
  • 16 بايت لعنوان IPv6
طلب اتصال العميل
فيرCMDفيروس RSVDSTADDRوزارة الموانئ
عدد البايتات111عامل2
فير
إصدار SOCKS (0x05)
CMD
رمز الأمر:
  • 0x01: إنشاء اتصال تدفق TCP/IP
  • 0x02: إنشاء ربط منفذ TCP/IP
  • 0x03: ربط منفذ UDP
فيروس RSV
محجوز، يجب أن يكون 0x00
DSTADDR
عنوان الوجهة، انظر بنية العنوان أعلاه.
وزارة الموانئ
رقم المنفذ بترتيب بايتات الشبكة
حزمة استجابة من الخادم
فيرحالةفيروس RSVBNDADDRبوندبورت
عدد البايتات111عامل2
فير
إصدار SOCKS (0x05)
حالة
رمز الحالة:
  • 0x00: تمت الموافقة على الطلب
  • 0x01: عطل عام
  • 0x02: الاتصال غير مسموح به وفقًا لمجموعة القواعد
  • 0x03: الشبكة غير قابلة للوصول
  • 0x04: المضيف غير قابل للوصول
  • 0x05: تم رفض الاتصال من قبل المضيف الوجهة
  • 0x06: انتهت صلاحية TTL
  • 0x07: الأمر غير مدعوم / خطأ في البروتوكول
  • 0x08: نوع العنوان غير مدعوم
فيروس RSV
محجوز، يجب أن يكون 0x00
BNDADDR
عنوان الخادم المرتبط بتنسيق "عنوان SOCKS5" المحدد أعلاه
بوندبورت
رقم المنفذ المرتبط بالخادم بترتيب بايتات الشبكة

بما أن العملاء مسموح لهم باستخدام عناوين IP أو أسماء نطاقات، فقد اعتمد cURL تسمية اسم النطاق الخاص بـ SOCKS5 بـ "socks5h"، والآخر ببساطة "socks5". ويوجد اصطلاح مماثل بين SOCKS4a و SOCKS4. [ 18 ]

برمجة

الخوادم

تطبيقات خادم وكيل SOCKS

  • خادم وكيل الويب لنظام Sun Java هو خادم وكيل تخزين مؤقت يعمل على خوادم Solaris وLinux وWindows التي تدعم HTTPS ومرشحات NSAPI للإدخال/الإخراج وإعادة التكوين الديناميكي وSOCKSv5 والوكيل العكسي .
  • WinGate هو خادم وكيل متعدد البروتوكولات وخادم SOCKS لأنظمة مايكروسوفت ويندوز، يدعم بروتوكولات SOCKS4 وSOCKS4a وSOCKS5 (بما في ذلك مصادقة UDP-ASSOCIATE وGSSAPI). كما يدعم تمرير اتصالات SOCKS إلى وكيل HTTP، مما يتيح له تخزين بيانات HTTP مؤقتًا وفحصها عبر SOCKS.
  • SocksGate5 هو جدار حماية SOCKS للتطبيقات مزود بخاصية فحص على مستوى الطبقة السابعة من نموذج OSI، وهي طبقة التطبيقات. ونظرًا لفحص الحزم على مستوى الطبقة السابعة من نموذج OSI، يمكن لجدار الحماية SOCKS للتطبيقات البحث عن عدم توافق البروتوكول وحظر محتوى محدد.
  • دانتي هو خادم SOCKS على مستوى الدائرة يمكن استخدامه لتوفير اتصال شبكي مريح وآمن، ولا يتطلب سوى أن يكون للجهاز المضيف الذي يعمل عليه دانتي اتصال شبكي خارجي. [ 19 ]
  • HevSocks5Server هو خادم SOCKS عالي الأداء ومنخفض الحمل على أنظمة Unix (Linux/BSD/macOS). يدعم طرق TCP-CONNECT وUDP-ASSOCIATE القياسية، بالإضافة إلى مصادقة متعددة باستخدام اسم المستخدم وكلمة المرور.
  • uSOCKS5 هو خادم SOCKS5 بسيط مكتوب بلغة بايثون يدعم بروتوكول TCP-CONNECT القياسي، وهو مفيد للقراءة التعليمية.

برامج أخرى توفر واجهة خادم SOCKS

  • يسمح OpenSSH بإنشاء الأنفاق بشكل ديناميكي، ويتم تحديدها عبر مجموعة فرعية من بروتوكول SOCKS، ويدعم أمر CONNECT.
  • PuTTY هو عميل SSH يعمل بنظام Win32 ويدعم إنشاء أنفاق SOCKS (ديناميكية) محلية من خلال خوادم SSH البعيدة.
  • Secure ShellFish هو عميل SSH لنظامي التشغيل iOS و macOS ويتضمن خادم SOCKS.
  • ShimmerCat [ 20 ] هو خادم ويب يستخدم SOCKS5 لمحاكاة شبكة داخلية، مما يسمح لمطوري الويب باختبار مواقعهم المحلية دون تعديل ملف /etc/hosts الخاص بهم.
  • تور هو نظام مصمم لتمكين إخفاء الهوية على الإنترنت. يوفر تور واجهة خادم SOCKS تعتمد على بروتوكول TCP فقط لعملائه.
  • Shadowsocks هي أداة للتحايل على الرقابة. وهي توفر واجهة SOCKS5.
  • تطبيقات netcat ، مثل Ncat و socat.

العملاء

يجب أن يدعم برنامج العميل بروتوكول SOCKS بشكل أصلي من أجل الاتصال عبر SOCKS.

متصفح

  • كروم: يدعم SOCKS4 و SOCKS4a. [ 21 ] [ 22 ]
  • فايرفوكس: يدعم SOCKS4 و SOCKS4a و SOCKS5.
  • يدعم متصفحا Internet Explorer و Microsoft Edge المستند إلى EdgeHTML تقنية SOCKS4 فقط.
  • متصفح مايكروسوفت إيدج المبني على كروميوم: يدعم SOCKS4 و SOCKS4a.

توجد برامج تسمح للمستخدمين بتجاوز هذه القيود:

جوارب مُحسِّنة

تتيح تقنية Socksifiers للتطبيقات الوصول إلى الشبكات لاستخدام خادم وكيل دون الحاجة إلى دعم أي بروتوكولات وكيل. وتتمثل الطريقة الأكثر شيوعًا في إعداد محول شبكة افتراضي وجداول توجيه مناسبة لإرسال البيانات عبر هذا المحول.

  • برنامج Proxifier هو برنامج مدفوع خاص بنظامي التشغيل Windows و macOS ، ويمكنه إجبار البرامج على استخدام خادم وكيل SOCKS أو HTTPS أو HTTP باستخدام منصة تصفية Windows (على نظام Windows) [ 23 ] أو إطار عمل توسيع الشبكة (على نظام macOS). [ 24 ]
  • tun2socks، أداة مفتوحة المصدر تُنشئ محولات TCP TUN افتراضية من وكيل SOCKS، قادرة على دعم UDP إذا كان مدعومًا على الطرف الآخر. تعمل على أنظمة Linux وWindows، [ 25 ] ولها نسخة macOS، بالإضافة إلى نسخة مُعاد تنفيذها بلغة Golang . [ 26 ] كما يوجد تطبيق آخر مكتوب بلغة C يتميز بأداء جيد، ويعمل على أنظمة Linux/Android/BSD/macOS وiOS. [ 27 ]
  • برنامج proxychains، وهو برنامج يونكس يُجبر حركة مرور TCP على المرور عبر خوادم بروكسي SOCKS أو HTTP على البرامج التي يُشغلها (المرتبطة ديناميكيًا). يعمل على أنظمة يونكس المختلفة. [ 28 ]

وكلاء الترجمة

  • بوليبو ، خادم وكيل HTTP/1.1 متوقف عن العمل، يدعم بروتوكول IPv4 ، ويقوم بإعادة توجيه البيانات وتخزينها مؤقتًا . مفتوح المصدر، ويعمل على أنظمة لينكس ، وأوبن ورت ، وويندوز ، وماك أو إس إكس ، وفري بي إس دي . يمكن استخدامه مع معظم متصفحات الويب.
  • Privoxy ، وهو وكيل SOCKS-to-HTTP لا يستخدم التخزين المؤقت.
  • Tinyproxy ، برنامج وسيط HTTP/HTTPS خفيف الوزن لأنظمة تشغيل POSIX. صُمم من الصفر ليكون سريعًا وصغير الحجم في آن واحد. يوفر واجهة وسيط HTTP ويمكنه الاتصال بخوادم وسيطة SOCKS4/5 وخوادم وسيطة HTTP الرئيسية.

حماية

إن عدم وجود تشفير لتبادل الطلبات والحزم يجعل بروتوكول SOCKS عرضة عمليًا لهجمات الوسيط والتنصت على عناوين IP، مما يمهد الطريق بالتالي للرقابة من قبل الحكومات.

الأداء والقيود

توفر خوادم بروكسي SOCKS، وخاصةً SOCKS5، أداءً محسّنًا ودعمًا أوسع للبروتوكولات مقارنةً بـ SOCKS4، مما يجعلها مناسبةً لحالات الاستخدام التي تتضمن تزامنًا عاليًا وحركة مرور UDP. على عكس خوادم بروكسي HTTP، يعمل SOCKS5 على مستوى الجلسة ولا يفحص البيانات أو يُصفّيها، مما يقلل من الحمل الزائد ويؤدي إلى زمن استجابة أقل، وهو أمر مفيد للتطبيقات الحساسة لزمن الاستجابة مثل الألعاب أو البث المباشر. تُظهر معايير الأداء لتطبيقات SOCKS5 المختلفة قدرتها على التعامل مع آلاف الاتصالات المتزامنة بأوقات استجابة غالبًا ما تكون في حدود أجزاء من الثانية، مما يدل على إمكانية إنتاجية عالية تحت الضغط. [ 29 ]

مع ذلك، يفتقر بروتوكول SOCKS إلى التشفير المدمج، مما يجعل حركة البيانات عرضة للاعتراض، ويجعله أقل أمانًا من الشبكات الخاصة الافتراضية (VPN) أو خوادم بروكسي HTTPS التي توفر التغليف وسلامة البيانات. إضافةً إلى ذلك، يُضيف استخدام بروكسي SOCKS قفزة شبكية إضافية، مما قد يزيد من زمن الاستجابة ويؤثر على الأداء في الحالات الحساسة. ورغم أن SOCKS5 يدعم بروتوكول UDP عبر الأمر UDP ASSOCIATE، إلا أن استخدام بروكسي UDP يُعقّد عملية اختراق جدار الحماية، وقد يكون غير موثوق في بعض بيئات الشبكة. [ 30 ]

تحدد هذه الخصائص قدرات الأداء العملية وقيود SOCKS، مما يحدد استخدامها المناسب في العديد من سيناريوهات الوكيل ولكنه يحد من ملاءمتها حيثما يكون التشفير أو الحد الأدنى من زمن الوصول مطلوبًا.

انظر أيضاً

مراجع

  1. 1 2 3 4 م. ليتش؛ م. غانيس؛ ي. لي؛ ر. كوريس؛ د. كوبلاس؛ ل. جونز (مارس 1996). بروتوكول SOCKS الإصدار 5. مجموعة عمل الشبكة. doi : 10.17487/RFC1928 . RFC 1928 .المعيار المقترح.
  2. "سجل اسم الخدمة ورقم منفذ بروتوكول النقل" . هيئة أرقام الإنترنت المخصصة . 19 مايو 2017. تم الاطلاع عليه بتاريخ 23 مايو 2017 .
  3. 1 2 كوبلاس، ديفيد؛ كوبلاس، ميشيل ر. SOCKS (ملف PDF) . ندوة USENIX لأمن أنظمة يونكس الثالثة . تم الاطلاع عليه بتاريخ 16 نوفمبر 2019 .
  4. دارموراي، تينا (فبراير 2005). "جدران الحماية والحكايات الخرافية" (ملف PDF) . ;login: . المجلد 30، العدد 1. بيركلي، كاليفورنيا : جمعية USENIX . ص 21. ISSN 1044-6397 . مؤرشف (ملف PDF) من الأصل في 16 أغسطس 2025. تم الاطلاع عليه في 3 مارس 2025 .    
  5. فهرس الأرشيف في Wayback Machine
  6. سي نت: الفضاء الإلكتروني من الفضاء الخارجي .
  7. الولايات المتحدة الأمريكية US8984268B2 
  8. الولايات المتحدة الأمريكية US20210058367A1 
  9. الولايات المتحدة الأمريكية US11190374B2 
  10. JP JP6761452B2 
  11. US US11425565B2 
  12. أوبليجر، رولف (2003). "بوابات على مستوى الدائرة". تقنيات الأمان لشبكة الويب العالمية ( الطبعة الثانية). دار أرتيك هاوس. ISBN  1580533485تم الاطلاع عليه بتاريخ 21 يناير 2020 .
  13. "تقرير استخدام أدوات التحايل لعام 2010" (ملف PDF) . مركز بيركمان للإنترنت والمجتمع بجامعة هارفارد. أكتوبر 2010.
  14. "أسئلة وأجوبة حول تور" .
  15. "الأسئلة الشائعة حول OpenSSH" . مؤرشف من الأصل بتاريخ 2002-02-01.
  16. يينغ-دا لي. "SOCKS 4A: امتداد بسيط لبروتوكول SOCKS 4" . OpenSSH . تم الاسترجاع في 3 أبريل 2013 .
  17. IANA.org
  18. "CURLOPT_PROXY" . curl.se. تم الاطلاع عليه بتاريخ 20 يناير 2020 .
  19. "منتجات طورتها شركة إنفيرنو نتفيرك إيه/إس" . www.inet.no. تاريخ الوصول: 20 مارس 2021 .
  20. "شبكة سهلة مع SOCKS5" . shimmercat.com . ShimmerCat. مؤرشف من الأصل بتاريخ 13 سبتمبر 2018. تم الاطلاع عليه بتاريخ 20 أبريل 2016 .
  21. "تكوين خادم وكيل SOCKS في متصفح Chrome" . www.chromium.org . تم الاطلاع عليه بتاريخ 19-03-2024 .
  22. "Chromium" . issues.chromium.org . تم الاطلاع عليه بتاريخ 2025-10-03 .
  23. "Proxifier for Windows v4" . www.proxifier.com . تم الاطلاع عليه بتاريخ 2025-08-08 .
  24. "Proxifier for Mac v3" . www.proxifier.com . تم الاطلاع عليه بتاريخ 2025-08-08 .
  25. بيزجاك، أمبروز (20 يناير 2020). "ambrop72/badvpn: لغة برمجة نصية NCD، وبرنامج tun2socks proxifier، وشبكة VPN من نوع P2P" . جيت هاب . تم الاطلاع عليه في 20 يناير 2020 .
  26. "xjasonlyu/tun2socks: tun2socks – مدعوم بواسطة حزمة بروتوكولات TCP/IP من gVisor" . GitHub .
  27. "heiher/hev-socks5-tunnel: نفق عالي الأداء من نوع tun2socks" . GitHub .
  28. هامسيك، آدم (20 يناير 2020). "بروكسي تشينز: أداة تجبر أي اتصال TCP يُجريه أي تطبيق على المرور عبر وكيل مثل تور أو أي وكيل آخر من نوع SOCKS4 أو SOCKS5 أو HTTP(S)" . جيت هاب . تم الاطلاع عليه في 20 يناير 2020 .
  29. نونيك، أولكسندر (2024). مناهج لحل مشاكل أداء الوكيل لبروتوكولات HTTP و SOCKS5 (ملف PDF) . وقائع ورشة عمل CEUR.
  30. "أبحاث سوق الوكلاء 2025" . بروكسي واي . 2025-05-05.