
पूर्ण पोर्ट स्कैन परिणामों को विभाजित करें और इसे लक्षित Nmap चलाने के लिए उपयोग करें
Divide Et Impera And Scan (और स्कैन परिणामों को भी मर्ज करें)
NixOS![]() | ![]() |
|---|---|
| NixOS | offsec.tools |
DivideAndScan का उपयोग पोर्ट स्कैनिंग रूटीन को 3 चरणों में विभाजित करके कुशलतापूर्वक स्वचालित करने के लिए किया जाता है:
पहले चरण में एक तेज़ पोर्ट स्कैनर* का उपयोग करने का इरादा है, जिसके आउटपुट को पार्स किया जाता है और एक एकल फाइल डेटाबेस (TinyDB) में संग्रहीत किया जाता है। अगला, दूसरे चरण के दौरान डेटाबेस डेटा के अनुसार प्रत्येक लक्ष्य के लिए उसके खुले पोर्ट के सेट के साथ व्यक्तिगत Nmap स्कैन लॉन्च किए जाते हैं (मल्टीप्रोसेसिंग समर्थित है)। अंत में, तीसरे चरण में अलग-अलग Nmap आउटपुट को nMap_Merger के साथ विभिन्न प्रारूपों (XML / HTML / सादा टेक्स्ट / grepable) में एक ही रिपोर्ट में मर्ज किया जाता है। विज़ुअलाइज़ेशन भाग DrawNmap द्वारा प्रदान किया जाता है।
संभावित उपयोग के परिदृश्य:
* उपलब्ध पोर्ट स्कैनर:
अस्वीकरण। इस रिपॉजिटरी में निहित सभी जानकारी केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान की गई है। लेखक इस उपकरण के किसी भी अवैध उपयोग के लिए जिम्मेदार नहीं है।

सफलतापूर्वक divide and scan करने के लिए हमें कुछ अच्छे पोर्ट स्कैनिंग टूल प्राप्त करने होंगे (नीचे दिए गए उदाहरणों में GitHub रिलीज़ को eget के माध्यम से प्राप्त किया गया है)।
📑 नोट: यदि आप अपने होस्ट OS पर निर्भरताओं से परेशान नहीं होना चाहते हैं, तो Docker भाग पर जाएं।
sudo apt install nmap xsltproc -y
sudo nmap --script-updatedb
pushd /tmp
wget https://github.com/ivre/masscan/archive/refs/heads/master.zip -O masscan-master.zip
unzip masscan-master.zip
cd masscan-master
make
sudo make install
popd && rm -rf /tmp/masscan-master*
eget -t 2.0.1 -a amd64 RustScan/RustScan --to /tmp/rustscan.deb
sudo dpkg -i /tmp/rustscan.deb && rm /tmp/rustscan.deb
sudo wget https://gist.github.com/snovvcrash/8b85b900bd928493cd1ae33b2df318d8/raw/fe8628396616c4bf7a3e25f2c9d1acc2f36af0c0/rustscan-ports-top1000.toml -O /root/.rustscan.toml
sudo mkdir /opt/naabu
sudo eget -s linux/amd64 projectdiscovery/naabu --to /opt/naabu
sudo ln -sv /opt/naabu/naabu /usr/local/bin/naabu
sudo mkdir /opt/nimscan
sudo eget -a NimScan elddy/NimScan --to /opt/nimscan
sudo ln -sv /opt/nimscan/nimscan /usr/local/bin/nimscan
sudo mkdir /opt/sx
sudo eget -s linux/amd64 v-byte-cpu/sx --to /opt/sx
sudo ln -sv /opt/sx/sx /usr/local/bin/sx
sudo mkdir /opt/pd
sudo eget -s linux/amd64 projectdiscovery/dnsx --to /opt/pd
sudo ln -sv /opt/pd/dnsx /usr/local/bin/dnsx
DivideAndScan PyPI पर divideandscan के रूप में उपलब्ध है, हालांकि मैं इसे pipx के साथ GitHub से स्थापित करने की सलाह देता हूं ताकि हमेशा नवीनतम संस्करण उपलब्ध रहे:
~$ pipx install -f "git+https://github.com/snovvcrash/DivideAndScan.git"
~$ das
एक रिलीज़ भी है जो shiv के साथ पैक किया गया है (हालांकि फ़ाइल का आकार बड़ा है):
# shiv -e das.divideandscan:main -o das.pyz divideandscan
~$ wget https://github.com/snovvcrash/DivideAndScan/releases/latest/download/das.pyz && chmod +x das.pyz
~$ ./das.pyz
डीबगिंग उद्देश्यों के लिए आप poetry के साथ डेवलपमेंट एनवायरनमेंट सेट कर सकते हैं:
~$ git clone --recurse-submodules https://github.com/snovvcrash/DivideAndScan
~$ cd DivideAndScan
~$ poetry install
~$ poetry run das
📑 नोट: DivideAndScan सभी पोर्ट स्कैनर चलाने के लिए sudo का उपयोग करता है, इसलिए स्कैनिंग कमांड लागू होने पर यह पासवर्ड मांगेगा।
आप DivideAndScan को Docker कंटेनर में निम्नानुसार चला सकते हैं:
~$ docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan
चूंकि टूल को कुछ इनपुट डेटा की आवश्यकता होती है और कुछ आउटपुट डेटा उत्पन्न करता है, आपको अपने वर्तमान कार्यशील निर्देशिका को कंटेनर के अंदर /app पर माउंट पॉइंट के रूप में निर्दिष्ट करना चाहिए। साथ ही होस्ट पर पोर्ट 8050 प्रकाशित करने से Nmap रिपोर्ट विज़ुअलाइज़ेशन के लिए उपयोग किए जाने वाले Dash ऐप तक पहुंच मिलती है।
आप बेस कमांड को छोटा बनाने के लिए एक उपनाम सेट करना चाह सकते हैं:
~$ alias das='docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan'
~$ das