ProxyChains-NG ver 4.17 README
ProxyChains एक UNIX प्रोग्राम है, जो नेटवर्क-संबंधित libc फ़ंक्शनों को हुक करता है
DYNAMICALLY LINKED प्रोग्रामों में पहले से लोड किए गए DLL (dlsym(), LD_PRELOAD) के माध्यम से
और कनेक्शनों को SOCKS4a/5 या HTTP प्रॉक्सी के माध्यम से पुनर्निर्देशित करता है।
यह केवल TCP समर्थन करता है (UDP/ICMP आदि नहीं)।
जिस तरह से यह काम करता है वह मूल रूप से एक HACK है; इसलिए संभव है कि यह
आपके प्रोग्राम के साथ काम न करे, खासकर अगर वह स्क्रिप्ट है, या
बैकग्राउंड डेमन जैसी कई प्रक्रियाएँ शुरू करता है या "मॉड्यूल" लोड करने के लिए dlopen() का उपयोग करता है
(glibc dynlinker में बग)।
फिर भी इसे साधारण संकलित (C/C++) डायनैमिक रूप से लिंक किए गए प्रोग्रामों के साथ काम करना चाहिए।
यदि आपका प्रोग्राम proxychains के साथ काम नहीं करता है, तो इसके बजाय
iptables-आधारित समाधान उपयोग करने पर विचार करें; यह कहीं अधिक मजबूत है।
समर्थित प्लेटफ़ॉर्म: Linux, BSD, Mac, Haiku।
*********** ध्यान दें ***********
यह प्रोग्राम सेंसरशिप को दरकिनार करने के लिए इस्तेमाल किया जा सकता है।
कुछ देशों में ऐसा करना बहुत खतरनाक हो सकता है।
किसी भी गंभीर कार्य के लिए उपयोग करने से पहले हमेशा सुनिश्चित करें
कि PROXYCHAINS अपेक्षा के अनुसार काम करता है।
इसमें प्रोग्राम और आप जिस प्रॉक्सी का उपयोग करने जा रहे हैं,
दोनों शामिल हैं।
उदाहरण के लिए, आप यह सुनिश्चित करने के लिए किसी "मेरा IP क्या है" सेवा
जैसे ifconfig.me से कनेक्ट कर सकते हैं कि यह आपके वास्तविक IP का उपयोग नहीं कर रहा है।
PROXYCHAINS का उपयोग केवल तभी करें जब आप जानते हों कि आप क्या कर रहे हैं।
PROXYCHAINS के लेखक और अनुरक्षक इस सॉफ़्टवेयर के किसी भी दुरुपयोग या गलत उपयोग
और उसके परिणामस्वरूप उत्पन्न होने वाले परिणामों की कोई ज़िम्मेदारी नहीं लेते हैं।
*** स्थापना ***
needs a working C compiler, preferably gcc
./configure --prefix=/usr --sysconfdir=/etc
make
[optional] sudo make install
[optional] sudo make install-config (installs proxychains.conf)
यदि आप इंस्टॉल नहीं करते हैं, तो आप proxychains को बिल्ड डायरेक्टरी से
इस तरह उपयोग कर सकते हैं: ./proxychains4 -f src/proxychains.conf telnet google.com 80
परिवर्तन सूची:
Version 4.17
- close_range फ़ंक्शन के लिए हुक जोड़ा गया, जिससे openssh के नए संस्करण ठीक होते हैं
- mac के लिए fat-binary-m1 विकल्प
- proxy_dns_old में DNS त्रुटि हैंडलिंग ठीक की गई
- init कोड सरल बनाया गया
- openbsd प्रीलोडिंग ठीक की गई
- multithreaded ऐप्स में double-close ठीक किया गया
- configure script में विभिन्न सुधार
Version 4.16
- configure script में linker फ़्लैग डिटेक्शन की regression ठीक की गई
- गलत glibc getnameinfo सिग्नेचर के लिए 10 साल पुराना workaround हटाया गया
- OSX Monterey के लिए नई DYLD हुकिंग विधि का समर्थन
- netbsd संकलन सुधार
- IPv6 localnets समर्थन
- execvp विफल होने पर अधिक उपयोगकर्ता-अनुकूल त्रुटि संदेश
- proxy_getaddrinfo(): अनुरोध किए जाने पर ai_socktype भरें
Version 4.15
- बगी binutils संस्करण के लिए configure script ठीक किया गया
- rand_seed को नैनो-सेकंड ग्रैन्युलैरिटी के साथ इनिशियलाइज़ करें
- getaddrinfo में न्यूमेरिक ipv6 समर्थन जोड़ा गया
- getaddrinfo में node null और !passive होने पर बग ठीक किया गया
- dnat सुविधा जोड़ी गई
- raw proxy प्रकार जोड़ा गया
- haiku समर्थन जोड़ा गया
- proxychains 3.1 व्यवहार का अनुकरण करने के लिए proxy_dns_old जोड़ा गया
- नई proxy_dns_daemon सुविधा जोड़ी गई (प्रायोगिक)
- अन्य विभिन्न सुधार
Version 4.14
- proxylist के लिए वैकल्पिक proto://user:pass@ip:port सिंटैक्स की अनुमति
- round robin मोड में सभी प्रॉक्सी डाउन होने पर अनंत लूप ठीक किया गया (#147)
- android पर संकलन ठीक किया गया (#265)
- forked प्रक्रियाओं में fd लीक ठीक किया गया (#273)
- nullrouted ips के लिए कनेक्शन प्रयास छोड़ें
- विशिष्ट परिस्थितियों में proxylist के लिए होस्टनाम की अनुमति
Version 4.13
- DNS लुकअप थ्रेड की मज़बूती और एक segfault ठीक किया गया
- गैर-अनुरूप सर्वरों पर socks5 user/pass प्रमाणीकरण ठीक किया गया
- मेमोरी लीक ठीक की गई
- Solaris समर्थन जोड़ा गया
Version 4.12
- कई बिल्ड समस्याएँ ठीक की गईं
- MAC के लिए
- -pie के साथ
- कस्टम CC के साथ
- कुछ GUI ऐप्स के लिए संगतता सुधार (8870140)
- कुछ HTTP प्रॉक्सी के लिए संगतता सुधार (cf9a16d)
- debian पर स्वच्छ बिल्ड के लिए कई चेतावनियाँ ठीक की गईं
- OSX पर random_chain ठीक किया गया (0f6b226)
Version 4.11
- प्रारंभिक IPv6 समर्थन
- hostsreader में बग ठीक किया गया
- OpenBSD पर उपयोग के लिए प्रारंभिक समर्थन (caveat emptor)
Version 4.10
- कस्टम LDFLAGS के साथ लिंकिंग क्रम में regression ठीक किया गया
- ~400 से अधिक विभिन्न लुकअप वाले प्रोग्रामों में DNS मैपिंग कोड में segfault ठीक किया गया
Version 4.9
- सुरक्षा मुद्दा CVE-2015-3887 ठीक किया गया
- MSG_FASTOPEN फ़्लैग को संभालने के लिए sendto हुक जोड़ा गया
- समस्याग्रस्त hostentdb को hostsreader से बदला गया
- OpenBSD पर संकलन ठीक किया गया (हालाँकि वहाँ काम नहीं करता)
Version 4.8.1:
- 4.8 install-config Makefile target में regression ठीक किया गया
Version 4.8:
- उस अजीब cornercase के लिए सुधार जहाँ किसी न्यूमेरिक ip का परीक्षण करने के लिए getaddrinfo का उपयोग AI_NUMERICHOST के साथ किया गया था, उसे हल करने के बजाय (nmap ठीक करता है)।
- उन प्रोग्रामों के साथ उपयोग की अनुमति जो स्वयं LD_PRELOAD पर निर्भर करते हैं
- कॉन्फ़िगरेशन फ़ाइल में गलत प्रविष्टियाँ अस्वीकार करें
- स्टार्टअप पर संस्करण संख्या प्रिंट करें
Version 4.7:
- crass द्वारा नया round_robin chaintype।
- GCC कंस्ट्रक्टर उपयोग न होने पर lazy allocation के साथ बग ठीक किया गया।
- OS X पर "fat" बाइनरी/लाइब्रेरी बनाने के लिए नया configure फ़्लैग --fat-binary
- close hook में EINTR के बजाय EBADF लौटाएँ।
किसी प्रोग्राम के लिए close() कॉल को तब दोबारा आज़माना कानूनी है जब उन्हें EINTR मिलता है, जिससे अनंत लूप हो सकता है, जैसा कि chromium में देखा गया।
Version 4.6:
- Makefile में कुछ कॉस्मेटिक सुधार, जब गैर-न्यूमेरिक ip को proxy server address के रूप में उपयोग किया गया तो बग ठीक किया गया।
Version 4.5:
- OpenSSH को आंतरिक इन्फ्रास्ट्रक्चर के साथ छेड़छाड़ करने से रोकने के लिए close() को हुक किया गया। इससे प्रॉक्सीकृत होने पर ssh क्लाइंट segfault हो जाता था।
Version 4.4:
- FreeBSD पोर्ट
- Debian और Mac पर कुछ इंस्टॉलेशन समस्याएँ ठीक की गईं।
Version 4.3:
- उन प्रोग्रामों को ठीक करता है जो चाइल्ड प्रोसेस (fork()ed) में dns-लुकअप करते हैं, जैसे irssi। इसे प्राप्त करने के लिए, pthreads के बिना संकलन का समर्थन त्याग दिया गया।
- gethostent() कॉल के लिए थ्रेड सुरक्षा ठीक की गई।
- hostent db कैश होने के कारण DNS हैंडलिंग गति में सुधार हुआ।
Version 4.2:
- ubuntu 12.04 toolchain के साथ संकलन समस्याएँ ठीक की गईं
- दुर्लभ codepath में segfault ठीक किया गया
Version 4.1
- mac os x (सभी आर्किटेक्चर) के लिए समर्थन
- -DTHREAD_SAFE (डिफ़ॉल्ट) के साथ संकलित होने पर सभी आंतरिक फ़ंक्शन थ्रेडसुरक्षित हैं।
Version 4.0
- dnsresolver स्क्रिप्ट (जिसे एक डायनेमिक रूप से लिंक किया गया "dig" बाइनरी मौजूद होना आवश्यक था) को रिमोट DNS लुकअप से बदल दिया गया। इससे DNS से जुड़े किसी भी कार्य में तेजी आती है, क्योंकि पुरानी स्क्रिप्ट को TCP का उपयोग करना पड़ता था। इसके अतिरिक्त यह TOR के साथ उपयोग करने पर .onion URLs का उपयोग करने की अनुमति देता है।
- टूटी हुई autoconf बिल्ड प्रणाली को एक सरल Makefile से बदल दिया गया। सुविधा के लिए एक ./configure script है। यह कमांड लाइन स्विच/पर्यावरण चर के माध्यम से पारित कॉन्फ़िगरेशन फ़ाइल के लिए समर्थन भी जोड़ता है।
Version 3.0
- प्रॉक्सी के माध्यम से DNS रिज़ॉल्व करने का समर्थन
SOCKS4, SOCKS5 और HTTP CONNECT प्रॉक्सी सर्वरों का समर्थन करता है।
प्रमाणीकरण प्रकार: socks - "user/pass" , http - "basic"।
इसका उपयोग कब करें ?
- जब आपके LAN से "बाहर" जाने का एकमात्र रास्ता प्रॉक्सी सर्वर हो।
- प्रतिबंधात्मक फ़ायरवॉल के पीछे से बाहर निकलने के लिए जो आउटगोइंग पोर्ट को फ़िल्टर करता है।
- दो (या अधिक) प्रॉक्सी को श्रृंखला में उपयोग करने के लिए:
जैसे: your_host <--> proxy1 <--> proxy2 <--> target_host
- बिना अंतर्निहित प्रॉक्सी समर्थन वाले किसी प्रोग्राम को "proxify" करने के लिए (जैसे telnet)
- प्रॉक्सी के माध्यम से बाहर से इंट्रानेट तक पहुँचने के लिए।
- प्रॉक्सी के पीछे DNS का उपयोग करने के लिए।
- छिपी हुई tor onion सेवाओं तक पहुँचने के लिए।
कुछ बेहतरीन विशेषताएँ:
- यह प्रोग्राम एक ही श्रृंखला में विभिन्न प्रॉक्सी प्रकारों को मिला सकता है
जैसे: your_host <-->socks5 <--> http <--> socks4 <--> target_host
- विभिन्न चेनिंग विकल्प समर्थित हैं
सूची से यादृच्छिक क्रम (उपयोगकर्ता द्वारा परिभाषित श्रृंखला लंबाई)।
सटीक क्रम (जैसे वे सूची में दिखाई देते हैं)
डायनामिक क्रम (मृत प्रॉक्सी को श्रृंखला से स्मार्ट तरीके से बाहर करें)
- आप इसे अधिकांश TCP क्लाइंट अनुप्रयोगों के साथ उपयोग कर सकते हैं, संभवतः नेटवर्क
स्कैनर के साथ भी, जब तक वे मानक libc कार्यक्षमता का उपयोग करते हैं।
pcap-आधारित स्कैनिंग काम नहीं करती।
- आप इसे सर्वरों के साथ उपयोग कर सकते हैं, जैसे squid, sendmail, या जो भी हो।
- प्रॉक्सी के माध्यम से DNS रिज़ॉल्व करना।
कॉन्फ़िगरेशन:
proxychains कॉन्फ़िगरेशन फ़ाइल को निम्न क्रम में खोजता है:
- पर्यावरण चर PROXYCHAINS_CONF_FILE में सूचीबद्ध फ़ाइल या
proxychains स्क्रिप्ट या बाइनरी को -f तर्क के रूप में प्रदान की गई फ़ाइल।
- ./proxychains.conf
- $(HOME)/.proxychains/proxychains.conf
- $(sysconfdir)/proxychains.conf **
** सामान्यतः /etc/proxychains.conf
उपयोग उदाहरण:
$ proxychains telnet targethost.com
इस उदाहरण में यह proxychains.conf द्वारा निर्दिष्ट प्रॉक्सी (या श्रृंखलाबद्ध प्रॉक्सी)
के माध्यम से telnet चलाएगा।
उपयोग उदाहरण:
$ proxychains -f /etc/proxychains-other.conf telnet targethost2.com
इस उदाहरण में यह targethost2.com होस्ट से कनेक्ट करने के लिए proxychains.conf
के अलावा एक अलग कॉन्फ़िगरेशन फ़ाइल का उपयोग करेगा।
उपयोग उदाहरण:
$ proxyresolv targethost.com
इस उदाहरण में यह proxychains.conf द्वारा निर्दिष्ट प्रॉक्सी (या श्रृंखलाबद्ध प्रॉक्सी)
के माध्यम से targethost.com को रिज़ॉल्व करेगा।
ज्ञात समस्याएँ:
-
nmap के नए संस्करण यह निर्धारित करने का प्रयास करते हैं कि कौन सा नेटवर्क इंटरफ़ेस उपयोग करना है
भले ही इसकी आवश्यकता न हो (जैसे सरल syn स्कैन करते समय जो मानक POSIX socket API
का उपयोग करते हैं। इसके परिणामस्वरूप त्रुटियाँ होती हैं जब proxychains आरक्षित
पता स्थान को एक ip पता देता है।
संभावित समाधान: proxy_dns अक्षम करें, न्यूमेरिक ip का उपयोग करें, या SOCKS प्रॉक्सी के लिए
nmap का मूल समर्थन उपयोग करें।
-
Mac OS X 10.11 (El Capitan) SIP नामक एक नई सुरक्षा सुविधा के साथ आता है
जो सिस्टम ऐप्स को हुक करने से रोकती है।
समाधान हैं SIP को आंशिक रूप से अक्षम करना recovery mode में
csrutil enable --without debug जारी करके,
या सिस्टम बाइनरी को होम डायरेक्टरी में कॉपी करके वहाँ से चलाना।
विवरण के लिए github issue #78 देखें।
-
glibc dynlinker में एक बग या सुरक्षा सुविधा है जो dlopen()ed मॉड्यूल को
मुख्य प्रोग्राम के लिए स्थापित समान dlsym हुक के अधीन होने से रोकती है।
यह मुख्य रूप से स्क्रिप्टिंग भाषाओं जैसे perl या python को प्रभावित करता है
जो C में लिखे मॉड्यूल के काम करने के लिए dlopen() पर अत्यधिक निर्भर हैं।
हालाँकि, इसके root के रूप में काम करने की अपुष्ट रिपोर्टें हैं।
musl libc इस बग से अप्रभावित है।
उपयोगी लिंक
लीक की जाँच करने के लिए निम्नलिखित साइटें उपयोगी हो सकती हैं:
https://ipfighter.com/
https://browserleaks.com/webrtc
https://dnsleaktest.com
http://check.torproject.org - tor विशेष
http://ifconfig.me - curl के माध्यम से उपयोग किया जा सकता है
http://ifconfig.io/
समुदाय:
irc.libera.chat पर #proxychains
दान:
बिटकॉइन दान का स्वागत है - कृपया इस पते पर भेजें:
1C9LBpuy56veBqw5N33sZMoZW8mwCw3tPh