
قم بالمسح مرة واحدة فقط حسب عنوان IP وقلل أوقات المسح باستخدام Nmap لكميات كبيرة من البيانات.
قم بالمسح مرة واحدة فقط حسب عنوان IP وقلل أوقات المسح باستخدام Nmap للكميات الكبيرة من البيانات. Unimap هو اختصار لـ "Unique Nmap Scan". يمكن للأداة العمل على Linux أو OSX أو Windows أو Android (Termux) دون مشاكل.
إذا كنت تخطط لتشغيل Nmap على مؤسسة بأكملها، فعليك أن تضع في اعتبارك أن العشرات أو المئات أو حتى الآلاف من النطاقات الفرعية ستشير بالتأكيد إلى نفس عنوان IP، وستصل إلى نقطة يصبح فيها مواصلة المسح شبه مستحيلة. أيضًا، قد يتم حظر عنوان IP الخاص بك بسبب عمليات المسح المتعددة لنفس عنوان المضيف البعيد من بين أمور أخرى.
يستخدم Unimap تقنيته الخاصة لحل عناوين IP لجميع النطاقات الفرعية في البداية، وبمجرد انتهاء هذه العملية، يقوم بإنشاء متجه بعناوين IP الفريدة ويطلق مسحًا متوازيًا باستخدام Nmap وفقًا لعدد الخيوط التي قام المستخدم بتكوينها، وفي الوقت نفسه، يحلل البيانات من الملفات التي تم إنشاؤها باستخدام Nmap لمعرفة المعلومات التي تتوافق مع كل عنوان IP. أخيرًا، يربط Unimap معلومات كل عنوان من عناوين IP المرتبطة بالنطاقات الفرعية. لذا، على سبيل المثال، إذا كان لديك 50 نطاقًا فرعيًا يشير إلى نفس عنوان IP، فستقوم بمسح Nmap واحد فقط ولكن ستحصل على جميع البيانات المرتبطة بكل نطاق فرعي في نفس الوقت، وفي المسح الكبير يوفر ذلك أيامًا أو أسابيع.
تحتاج إلى تثبيت Rust (الإصدار 1.88 أو أحدث) و Nmap على جهاز الكمبيوتر الخاص بك، ثم قم بتشغيل:
1. git clone https://github.com/Edu4rdSHL/unimap.git && cd unimap
# بدلاً من ذلك يمكنك تنزيل إصدار من https://github.com/Edu4rdSHL/unimap/releases/latest
# قم بفك ضغطه وتابع إلى الخطوة التالية.
2. cargo build --release
# الآن الملف الثنائي موجود في ./target/release/unimap
# الأمر التالي يعمل فقط على Linux و MacOS. يحتاج مستخدمو Windows إلى تحديد مسار الهدف في متغير البيئة
3. cp ./target/release/unimap /usr/local/bin
# الآن يمكنك استخدام أمر `unimap` من أي مكان.
يتم نشر الصورة edu4rdshl/unimap لـ linux/amd64 و linux/arm64
في كل إصدار، تحت latest وإصدار الإصدار:
docker pull edu4rdshl/unimap:latest
docker run --rm edu4rdshl/unimap:latest -t hackerone.com --fast-scan
# احتفظ بملفات CSV و Nmap XML: قم بتركيب دليل على /opt/unimap
docker run --rm -v "$(pwd):/opt/unimap" edu4rdshl/unimap:latest -f targets.txt --fast-scan -u results.csv
راجع docker/README.md لبناء الصورة بنفسك.
قم بتنزيل أحدث إصدار لنظام التشغيل الخاص بك واستخدمه.
يمكن تثبيت unimap من حزم AUR المتاحة باستخدام مساعد AUR. على سبيل المثال،
$ paru -S unimap
إذا كنت تفضل، يمكنك استنساخ حزم AUR ثم تجميعها باستخدام makepkg. على سبيل المثال،
git clone https://aur.archlinux.org/unimap.git && cd unimap && makepkg -si
يتطلب Unimap صلاحيات الجذر/المسؤول لتشغيل مسح Nmap TCP SYN (Stealth)، ونستخدمه لأسباب تتعلق بالدقة والأداء. إذا كنت على Linux أو نظام قائم على Linux، فما عليك سوى استخدام قشرة الجذر أو تشغيل الأداة باستخدام sudo، وفي Windows يمكنك فتح موجه الأوامر (CMD) كمسؤول وتشغيل الأداة كالمعتاد.
unimap -f targets.txt -u log.csv يقوم بمسح كامل ويكتب المخرجات إلى log.csv.unimap -f targets.txt --fast-scan -o يقوم بمسح سريع ويحفظ ملف السجل في مجلد logs/.sudo unimap -f targets.txt --ports "1-1000" --min-rate 5000 يقوم بمسح المنافذ من 1-1000 مع اكتشاف الخدمة والإصدار (إذا كنت تريد مسحًا سريعًا استخدم علامة --fast-scan) بمعدل أدنى يبلغ 5000.--threads و --min-rate (وهو الأكثر أهمية).قم بتشغيل اختبارات الوحدة والتكامل (لا حاجة لشبكة أو جذر أو Nmap):
cargo test
قم بتشغيل فحص شامل قصير يبني صورة Docker ويطلق عمليات مسح حقيقية
ضد scanme.nmap.org (يتطلب Docker والوصول إلى الإنترنت):
scripts/container-test.sh
افتح issue.