
टोर एग्ज़िट रिले के लिए एक तेज़ और मॉड्यूलर स्कैनर। कैननिकल रिपॉज़िटरी (इश्यू ट्रैकर सहित) https://gitlab.torproject.org/tpo/network-health/exitmap पर है।

यह रिपॉजिटरी अनुरक्षित नहीं है। Tor प्रोजेक्ट का फोर्क देखें।
Exitmap एक तेज़ और मॉड्यूलर Python-आधारित स्कैनर है जो
Tor एग्जिट रिले के लिए है। Exitmap मॉड्यूल उन कार्यों
को लागू करते हैं जो (सभी या कुछ) एग्जिट रिले पर चलाए जाते हैं। यदि आप
फंक्शनल प्रोग्रामिंग की पृष्ठभूमि रखते हैं, तो exitmap को Tor एग्जिट रिले के लिए
एक map() इंटरफ़ेस के रूप में सोचें: मॉड्यूल कोई भी TCP-आधारित नेटवर्किंग कार्य कर सकते
हैं जैसे वेब पेज लाना, फ़ाइल अपलोड करना, SSH सर्वर से कनेक्ट करना, या IRC चैनल में शामिल होना।
व्यवहार में, exitmap एग्जिट रिले की विश्वसनीयता और विश्वसनीयता की निगरानी के लिए उपयोगी है। Tor प्रोजेक्ट exitmap का उपयोग Tor प्रोजेक्ट की check सेवा पर गलत नकारात्मक परिणामों की जांच करने और दुर्भावनापूर्ण एग्जिट रिले खोजने के लिए करता है। exitmap के लिए नए मॉड्यूल विकसित करना आसान है; बस doc/ निर्देशिका में HACKING फ़ाइल देखें या मौजूदा मॉड्यूल में से किसी एक को देखें।
Exitmap Stem का उपयोग करके दिए गए सभी एग्जिट रिले के लिए सर्किट बनाता है। हर बार जब Tor exitmap को एक स्थापित सर्किट के बारे में सूचित करता है, तो नव स्थापित सर्किट के लिए एक मॉड्यूल लागू किया जाता है। मॉड्यूल शुद्ध Python स्क्रिप्ट या निष्पादन योग्य हो सकते हैं। निष्पादन योग्य के लिए, torsocks आवश्यक है।
अंत में, ध्यान दें कि exitmap एक नेटवर्क मापन उपकरण है और सामान्य Tor उपयोगकर्ताओं के लिए इसका बहुत कम उपयोग है। Tor प्रोजेक्ट पहले से ही नियमित रूप से इस उपकरण को चला रहा है। अधिक exitmap स्कैन केवल अनावश्यक नेटवर्क लोड का कारण बनते हैं। exitmap को सार्वजनिक रूप से उपलब्ध कराने का एकमात्र कारण यह है कि इसका स्रोत कोड और डिज़ाइन कुछ लोगों के लिए रुचिकर हो सकता है।
Exitmap Tor के साथ संचार करने के लिए लाइब्रेरी Stem का उपयोग करता है। Stem को स्थापित करने के कई तरीके हैं। सबसे आसान तरीका प्रदान की गई requirements.txt फ़ाइल के साथ pip का उपयोग करना हो सकता है:
$ pip install -r requirements.txt
Exitmap को केवल एक मॉड्यूल का नाम तर्क के रूप में चाहिए। उदाहरण के लिए, आप checktest मॉड्यूल के साथ exitmap चला सकते हैं:
$ ./bin/exitmap checktest
कमांड लाइन आउटपुट तब आपको दिखाएगा कि Tor कैसे बूटस्ट्रैप करता है, checktest मॉड्यूल का आउटपुट, और एक स्कैन सारांश। यदि आपको तीन हॉप्स की आवश्यकता नहीं है और एक स्थिर पहले हॉप के साथ दो हॉप्स का उपयोग करना पसंद करते हैं, तो चलाएँ:
$ ./bin/exitmap --first-hop 1234567890ABCDEF1234567890ABCDEF12345678 checktest
केवल जर्मन एग्जिट रिले पर समान परीक्षण चलाने के लिए, निष्पादित करें:
$ ./bin/exitmap --country DE --first-hop 1234567890ABCDEF1234567890ABCDEF12345678 checktest
यदि आप सर्किट निर्माणों के बीच पाँच सेकंड का विराम चाहते हैं ताकि Tor नेटवर्क और स्कैनिंग गंतव्य पर लोड कम हो, तो चलाएँ:
$ ./bin/exitmap --build-delay 5 checktest
ध्यान दें कि 1234567890ABCDEF1234567890ABCDEF12345678 एक छद्म फिंगरप्रिंट है
जिसे आपको अपने नियंत्रण वाले एग्जिट रिले से बदलना चाहिए।
exitmap के सभी विकल्पों के बारे में अधिक जानने के लिए, चलाएँ:
$ ./bin/exitmap --help
Exitmap में बैटरी शामिल है, जो निम्नलिखित मॉड्यूल प्रदान करता है:
डिफ़ॉल्ट रूप से, exitmap आपकी होम निर्देशिका में .exitmaprc फ़ाइल को पढ़ने का प्रयास करता है। फ़ाइल सभी कमांड लाइन विकल्पों को स्वीकार करती है, लेकिन आपको डैश को अंडरस्कोर से बदलना होगा। यहाँ एक उदाहरण है:
[Defaults]
first_hop = 1234567890ABCDEF1234567890ABCDEF12345678
verbosity = debug
build_delay = 1
analysis_dir = /path/to/exitmap_scans
Exitmap पसंद नहीं है? तब देखें tortunnel, SoaT, torscanner, DetecTor, या SelekTOR।
पुल अनुरोध सबमिट करने से पहले, कृपया सुनिश्चित करें कि सभी यूनिट परीक्षण पास हो जाएँ, इसके लिए चलाएँ:
$ pip install -r requirements-dev.txt
$ py.test --cov-report term-missing --cov-config .coveragerc --cov=src test
संपर्क: Philipp Winter [email protected]
OpenPGP फिंगरप्रिंट: B369 E7A2 18FE CEAD EB96 8C73 CF70 89E3 D7FD C0D0