सॉक्स प्रॉक्सी
SOCKS प्रोटोकॉल-अज्ञेयवादी प्रॉक्सी है। जहां HTTP प्रॉक्सी केवल वेब ट्रैफ़िक को समझते हैं, एक SOCKS प्रॉक्सी किसी भी TCP (और SOCKS5, UDP में) कनेक्शन को टनल कर देगा, कोई प्रश्न नहीं पूछा जाएगा। यह व्यापकता यह है कि SSH SOCKS समर्थन को बॉक्स से बाहर क्यों भेजता है, क्यों Tor एक SOCKS5 श्रोता को उजागर करता है, और क्यों लगभग हर गोपनीयता उपकरण जो मनमाने एप्लिकेशन ट्रैफ़िक को अग्रेषित करना चाहता है वह इसका उपयोग करता है।
संपूर्ण लेख का मुख्य भाग नीचे अंग्रेजी में दिया गया है।
SOCKS ("सॉकेट सिक्योर") को फ़ायरवॉल वाले होस्ट को बाहरी दुनिया तक पहुंचने का एक साफ़ रास्ता देने के लिए 1990 के दशक की शुरुआत में MIPS कंप्यूटर सिस्टम में डिज़ाइन किया गया था। प्रत्येक एप्लिकेशन प्रोटोकॉल को HTTP प्रॉक्सी की तरह पार्स करने के बजाय, एक SOCKS सर्वर क्लाइंट की ओर से केवल टीसीपी कनेक्शन खोलता है और बाइट्स को आगे-पीछे करता है। जो भी प्रोटोकॉल शीर्ष पर स्तरित है - HTTP, SMTP, IRC, कस्टम बाइनरी - अपरिवर्तित काम करता है।
SOCKS4 बनाम SOCKS5
SOCKS4, 1992 में मानकीकृत, केवल IPv4 और TCP का समर्थन करता है, और इसका कोई प्रमाणीकरण नहीं है। यह आज अनिवार्य रूप से अप्रचलित है लेकिन अभी भी विरासत सॉफ्टवेयर में व्यापक रूप से देखा जाता है। RFC 1928 (1996) में परिभाषित
SOCKS5, सक्रिय उपयोग में आने वाला संस्करण है। यह जोड़ता है:
- IPv6 गंतव्य पते one)
- UDP एसोसिएट - एक नियंत्रण चैनल जो क्लाइंट को UDP डेटाग्राम टनल करने देता है, जो DNS, VoIP और गेम प्रोटोकॉल के लिए उपयोगी है
कनेक्शन प्रवाह
A SOCKS5 वार्तालाप इस तरह दिखता है: SOCKS सर्वर अपने श्रवण पोर्ट पर (आमतौर पर 1080)। एक CONNECT गंतव्य होस्ट और पोर्ट का नामकरण करने का अनुरोध करता है। SOCKS विलंबता-अनुकूल नहीं है, लेकिन यह सरल है।
SOCKS और DNS: लीक कहां से आते हैं CONNECT अनुरोध इसे IPv4, IPv6, या डोमेन नाम नाम दे सकता है। यदि क्लाइंट एक आईपी भेजता है, तो क्लाइंट ने स्थानीय रूप से डीएनएस लुकअप किया - और यदि आप प्रॉक्सी के पीछे छिपने की कोशिश कर रहे थे, तो आपके स्थानीय रिज़ॉल्वर ने सिर्फ नाम देखा। यदि क्लाइंट domain भेजता है, तो प्रॉक्सी इसका समाधान करता है, जो कि Tor उपयोगकर्ता चाहते हैं। कर्ल को --socks5 के बजाय --socks5-hostname की आवश्यकता है। फ़ायरफ़ॉक्स को network.proxy.socks_remote_dns = true की आवश्यकता है। हमारा DNS लीक परीक्षण विफलता मोड को पकड़ता है। SSH एक स्थानीय SOCKS5 श्रोता को जन्म देता है; इस पर इंगित किए गए किसी भी एप्लिकेशन का टीसीपी ट्रैफिक SSH सत्र के माध्यम से server पर टनल हो जाता है, जो फिर आउटबाउंड कनेक्शन बनाता है। निःशुल्क, आपके और SSH सर्वर के बीच एंड-टू-एंड एन्क्रिप्टेड, और यह लगभग किसी भी स्थानीय नेटवर्क प्रतिबंध को रूट करता है जो पोर्ट 22.SOCKS बनाम HTTP CONNECT
HTTP CONNECT की अनुमति देता है, HTTPS के लिए HTTP प्रॉक्सी द्वारा उपयोग की जाने वाली टनलिंग क्रिया, कार्यात्मक रूप से SOCKS के समान है - दोनों एक कच्ची टीसीपी सुरंग स्थापित करते हैं। अंतर:
- HTTP CONNECT HTTP पर चलता है, इसलिए यह HTTP प्रमाणीकरण प्राप्त करता है और पोर्ट 80 या 443 पर फ़ायरवॉल-अनुकूल है। फिल्टर; SOCKS उनके लिए अधिक अपारदर्शी है। लिंक की सुरक्षा के लिए, आधुनिक तैनाती SOCKS को TLS में लपेटती है या इसे SSH सुरंग के अंदर चलाती है। Shadowsocks ने एक अलग दृष्टिकोण अपनाया: इसने SOCKS5 विचार को बरकरार रखा लेकिन डीप पैकेट निरीक्षण. को हराने के लिए प्रति-कनेक्शन एन्क्रिप्शन और ऑबफस्केशन जोड़ा।h2>जहां SOCKS VPNs
A के बगल में बैठता है, VPN आपके डिवाइस से all ट्रैफ़िक को एक सुरंग के माध्यम से रूट करता है। SOCKS प्रॉक्सी केवल उन एप्लिकेशन को रूट करता है जिन पर आप इंगित करते हैं। यह SOCKS को चयनात्मक टनलिंग (केवल अपने ब्राउज़र को Tor के माध्यम से रूट करें, गेम को स्थानीय लिंक पर छोड़ें) के लिए बढ़िया बनाता है और संपूर्ण-डिवाइस सुरक्षा के लिए कम बढ़िया बनाता है। कुछ वाणिज्यिक वीपीएन प्रदाता (मुलवाड, आईवीपीएन) अपने नेटवर्क के अंदर SOCKS5 एंडपॉइंट्स को भी उजागर करते हैं ताकि आप पूर्ण वीपीएन लाए बिना एक ही ऐप को रूट कर सकें।
अक्सर पूछे जाने वाले प्रश्नों
- क्या SOCKS5 एन्क्रिप्टेड है?
- नहीं - SOCKS5 एक ट्रांसपोर्ट प्रोटोकॉल है, एन्क्रिप्शन प्रोटोकॉल नहीं। प्रमाणीकरण और डेटा दोनों आपके और प्रॉक्सी के बीच प्लेनटेक्स्ट में यात्रा करते हैं, जब तक कि आप पूरी चीज़ को टीएलएस में लपेट नहीं देते हैं या इसे एसएसएच सुरंग के माध्यम से नहीं चलाते हैं। एन्क्रिप्शन की बाहरी परत के बिना शत्रुतापूर्ण नेटवर्क पर SOCKS का उपयोग न करें।
- SOCKS किस पोर्ट का उपयोग करता है?
- परंपरा के अनुसार, 1080। यह कोई कठिन आवश्यकता नहीं है और कई परिनियोजन अन्य पोर्ट का उपयोग करते हैं - टोर का बंडल SOCKS5 श्रोता 9050 पर है - लेकिन 1080 IANA द्वारा निर्दिष्ट डिफ़ॉल्ट है।
- Tor HTTP के बजाय SOCKS5 का उपयोग क्यों करता है?
- SOCKS5 केवल HTTP ही नहीं, बल्कि किसी भी TCP प्रोटोकॉल को टनल कर सकता है। टोर उपयोगकर्ता केवल वेब ट्रैफ़िक ही नहीं, आईआरसी, ईमेल, कस्टम ऐप्स और बहुत कुछ को ऑन-रूट करना चाहते हैं। SOCKS5 डोमेन नामों को प्रॉक्सी तक भी भेजता है, जो Tor को स्थानीय रूप से लुकअप को लीक करने के बजाय नेटवर्क के अंदर उन्हें हल करने देता है।
- क्या सॉक्स यूडीपी को संभाल सकते हैं?
- SOCKS5 ने एक यूडीपी-एसोसिएट कमांड जोड़ा है जो क्लाइंट को प्रॉक्सी के माध्यम से यूडीपी डेटाग्राम को टनल करने देता है। समर्थन असमान है - कई SOCKS सर्वर कार्यान्वयन केवल TCP करते हैं - लेकिन विशिष्टता वहाँ है, और यह है कि Tor और शैडोसॉक्स UDP-आधारित DNS को कैसे संभालते हैं।
- क्या मुझे SOCKS5 या VPN पसंद करना चाहिए?
- पूरे डिवाइस की गोपनीयता के लिए, एक वीपीएन - यह सब कुछ सुरंग बनाता है और लिंक को एन्क्रिप्ट करता है। किसी विशिष्ट एप्लिकेशन को टनलिंग करने के लिए या Tor के साथ चेनिंग करने के लिए, SOCKS5 सही उपकरण है। दोनों एक-दूसरे के पूरक हैं, प्रतिस्पर्धी नहीं।