SOCKS प्रॉक्सी की श्रृंखला कैसे करें?


10

प्रस्तावना: मैं जो देख रहा हूं वह स्पष्ट निर्देश हैं, ऊपर दिए गए प्रारूप में। यह है कि, रन की तरह कुछ: "... मशीन ए पर कमांड एक्स चलाएं, फिर मशीन बी पर वाई कमांड करें ..."

मेरे पास अपने लैपटॉप (मशीन ए) से मशीन बी तक एक काम करने वाला मोज़ा प्रॉक्सी है:

[A]$ ssh -ND 8888 B

मैं A के स्थानीय पोर्ट पर SOCKS प्रॉक्सी का उपयोग करने के लिए फ़ायरफ़ॉक्स सेट कर सकता हूं 8888, और A काम करता हूं । अब तक सब ठीक है।

लेकिन मैं भी मशीनों बी और सी के बीच एक मोजे प्रॉक्सी है:

[B]$ ssh -ND 8157 C

तो मैं बी पर ब्राउज़ कर सकता हूं जैसे कि मैं सी पर था, बी के फ़ायरफ़ॉक्स मोजे को प्रॉक्सी पर सेट करना 8157

क्या दो प्रॉक्स को चेन करने का एक तरीका है ताकि मैं सी से कनेक्शन का उपयोग करते समय फ़ायरफ़ॉक्स को स्थानीय रूप से (ए पर) उपयोग कर सकूं?

यह है, किसी भी तरह आगे फ़ायरफ़ॉक्स के मोज़े ए से सी। ए तक सभी तरह से अनुरोध करते हैं और सी एक दूसरे को सीधे नहीं देख सकते हैं, लेकिन मेरे पास हर जगह पूरी एसएसएच पहुंच है। सभी मशीनें डेबियन हैं।

ध्यान दें कि मैं पोर्ट 80 की तरह एक भी पोर्ट को अग्रेषित नहीं करना चाहता, लेकिन मैं पूरी तरह से जंजीर लॉक प्रॉक्सी चाहता हूं ।


क्या आपको बस -L 8888:B:8157[ए] पर नहीं करना चाहिए ?
bdecaf

@bdecaf दिए गए आदेशों के अतिरिक्त? बजाय? फ़ायर्फ़ॉक्स सेटिंग्स में कोई बदलाव नहीं?
user124114 12

बस [ए] के लिए। बाकी जैसा आप वर्णन करते हैं।
16

ssh -L 8888:B:8157विफल रहता है, होस्टनाम पैरामीटर की आवश्यकता होती है। क्या आप अधिक पूर्ण, एंड-टू-एंड उत्तर दे सकते हैं? अगर यह काम करता है, तो मैं स्वीकार करूंगा।
user124114

क्या B वास्तव में आपकी मशीन का नाम है?
22

जवाबों:


12

बस पुष्टि की यह कुछ VMs के साथ काम किया है:

[A]$ ssh -tt -v -L8888:localhost:8157 user@B ssh -t -D 8157 user@C

से एक हैं, तो आप एक बंदरगाह आगे सुरंग 8888 से स्थानीय स्तर पर 8157 के लिए पर खोलने बी -L8888:localhost:8157 । एक बार जब आप B से कनेक्शन स्थापित कर लेते हैं, तो रिमोट कमांड ssh -t -D 8157 user@Cचलाया जाता है, जो C के माध्यम से आपके SOCKS प्रॉक्सी प्रदान करता है । मैंने जो पढ़ा है, उससे '-t' की आवश्यकता प्रतीत होती है, हालांकि मुझे अभी भी यह पता लगाना है कि क्यों।

ध्यान दें, यह पहले होस्ट पर एक कमांड है जो ए-> बी और बी-> सी से दो बार ssh को आमंत्रित करता है । आप इसे अलग-अलग कमांड में भी तोड़ सकते हैं, जैसा कि नीचे वर्णित है।

बोनस: तीन परदे के पीछे के लिए ...

अर्थात A->B->C->D->Internet

[hostA]$ ssh -2 -C -D 55557 -L 55556:127.0.0.1:55556 -L 55555:127.0.0.1:55555 user@B
[hostB]$ ssh -2 -C -D 55556 -L 55555:127.0.0.1:55555 user@C
[hostC]$ ssh -2 -C -D 55555 user@D

ध्यान दें कि प्रत्येक हॉप के लिए, आपको -Lश्रृंखला में पिछले मेजबानों पर एक अतिरिक्त मिलान फारवर्डर की आवश्यकता है ।

संदर्भ:


अनुवाद, लाइन से लाइन: - 1. मेजबान बी से 57 पर डायनेमिक पोर्ट को आगे बढ़ाएं, पोर्ट को बी से 56, बी से पोर्ट 55 को एक्सपोज करें - 2. होस्ट सी से पोर्ट 56 पर डायनामिक पोर्ट को आगे करें, एक्सपोज करें। port 55 from C - 3. host D से पोर्ट 55 पर डायनेमिक पोर्ट को आगे करें - अंतिम परिणाम प्रत्येक चरण में SSH के माध्यम से, प्रत्येक होस्ट से एक सॉक्स प्रॉक्सी है। 55 के माध्यम से 57 बंदरगाहों में बी, सी और डी पर अंतिम बिंदुओं के साथ सम्‍मिलित होंगे
रे फॉस

क्या आपके पास कोई मुफ्त ssh प्रॉक्सी है? मुझे कोई नहीं मिला है।
एनामेन्ज

4

SSH का उपयोग करने वाले ग्लेन के उत्कृष्ट उत्तर से काम पूरा हो जाएगा। हालांकि, इसे पूरा करने का उचित तरीका proxychainsकार्यक्रम का उपयोग करना है। ProxyChains एक शक्तिशाली उपकरण है जो आपको एक ही समय में कई प्रॉक्सी सर्वर का आसानी से लाभ उठाने की अनुमति देता है। उदाहरण के लिए, हैकर्स द्वारा इसका उपयोग इंटरनेट हमलों को करते समय अपनी पहचान छिपाने के लिए किया जाता है - दुनिया भर में एक साथ भविष्यवाणियों के एक समूह का पीछा करते हुए, ट्रैफ़िक का पता लगाने के लिए किसी भी फोरेंसिक जांचकर्ताओं के लिए यह लगभग असंभव हो जाता है। यह कहने के लिए नहीं कि आप एक दुर्भावनापूर्ण हैकर हैं - यह कई अलग-अलग उपयोग-मामलों के लिए काम करेगा। ;)

ProxyChains कुछ लिनक्स वितरण (जैसे कि काली लिनक्स) पर डिफ़ॉल्ट रूप से स्थापित होता है। उदाहरण के लिए, उबंटू / डेबियन पर, आप इसे आसानी से स्थापित कर सकते हैं:

  • sudo apt-get install proxychains

Proxychains में कॉन्फ़िगरेशन फ़ाइल के लिए दिखता है /etc/proxychains.conf। एक बार जब आप इसे स्थापित कर लेते हैं, तो मौजूदा Proxychains कॉन्फ़िगरेशन फ़ाइल को बैकअप करें (यदि यह मौजूद है) और एक नया बनाएं:

  • mv /etc/proxychains.conf /etc/proxychains-backup.conf
  • nano /etc/proxychains.conf

अब, इस उदाहरण कॉन्फ़िगरेशन में पेस्ट करें जो मैंने आपके लिए लिखा है:

strict_chain

proxy_dns

tcp_read_time_out 15000
tcp_connect_time_out 8000

[ProxyList]
socks4          192.168.1.1     8888
socks4          192.168.1.2     8157
socks4          192.168.1.3     6969

इस उदाहरण में, 192.168.1.1पहला SOCKS प्रॉक्सी सर्वर का IP पता है, 8888वह पोर्ट है जिस पर पहला SOCKS प्रॉक्सी सुन रहा है, 192.168.1.2दूसरे SOCKS प्रॉक्सी सर्वर का IP पता है, 8157वह पोर्ट है जो दूसरा SOCKS प्रॉक्सी सुन रहा है। इत्यादि।

अब, proxychains firefoxफ़ायरफ़ॉक्स लॉन्च करने के लिए कमांड लाइन से प्रोक्साइकिन्स का लाभ उठाएं । (सुनिश्चित करें कि फ़ायरफ़ॉक्स पहले बंद हो गया है।) अब, जब भी फ़ायरफ़ॉक्स एक आउटगोइंग कनेक्शन बनाता है, प्रॉक्सिचिन्स प्रोग्राम ट्रैफ़िक को एन्कैप करेगा, जैसे कि यह उन सभी सर्वरों के माध्यम से प्रॉक्साइड किया जाएगा जो आपने इस कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट किया था। स्पष्ट होने के लिए, अपनी फ़ायरफ़ॉक्स प्राथमिकताओं में, आपको किसी भी प्रॉक्सी सर्वर को निर्दिष्ट नहीं करना चाहिए - परदे के पीछे सब कुछ का ख्याल रखना होगा।

ध्यान दें कि, समस्या निवारण उद्देश्यों के लिए, आपको संभवतः सभी 3. प्रयास करने से पहले एक समय में 1 प्रॉक्सी का उपयोग करके इसे प्राप्त करने का प्रयास करना चाहिए;)

संदर्भ:

  • आधिकारिक प्रॉक्साइहांस वेबसाइट (नवीनतम संस्करण 3.1 है, 2006 में जारी किया गया): http://proxychains.sourceforge.net
  • वेबसाइट proxychains-ng(मूल प्रॉक्सिचिन का एक कांटा जो वास्तव में अभी भी 2015 तक बनाए रखा गया है): https://github.com/rofl0r/proxychains-ng

क्या प्रॉक्सी चेन आपके लिए भी प्रॉक्सी सेट करती है ? या सिर्फ आप मौजूदा परदे के पीछे से कनेक्ट करने में मदद करते हैं?
ग्लॉलेन

Proxychains केवल मौजूदा प्रॉक्सी सर्वर से कनेक्ट होगा।
जेम्स

यदि यह मामला है, तो मैं "उचित तरीके से ..." वाक्यांश से असहमत हूं क्योंकि सवाल विशेष रूप से कई मशीनों पर चिनिंग के लिए परदे के पीछे स्थापित करने के बारे में बात कर रहा है, न कि मौजूदा प्रॉक्सी को फायरफॉक्स को निर्देशित करने के बारे में। हो सकता है - "एक वैकल्पिक विधि, एक बार जब परदे के स्थान पर होते हैं" जानकारीपूर्ण होगा, बिना यह अर्थ लगाए कि सीधे एसएचएस का उपयोग करना किसी भी तरह से अनुचित है । हालांकि अच्छी अतिरिक्त पृष्ठभूमि जानकारी। धन्यवाद। संपादित करें और आप मेरे upvote होगा।
२१:
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.