
الميزات • التثبيت • الاستخدام • تشغيل Naabu • التكوين • تكامل NMAP • استبعاد CDN/WAF • Discord
Naabu هي أداة مسح المنافذ المكتوبة في GO تتيح لك تعداد المنافذ الصحيحة للمضيفين بطريقة سريعة وموثوقة. إنها أداة بسيطة حقًا تقوم بمسح سريع SYN/CONNECT/UDP على المضيف/قائمة المضيفين وتسرد جميع المنافذ التي تُرجع الرد.

naabu -hسيعرض هذا المساعدة للأداة. فيما يلي جميع المفاتيح التي يدعمها.
Usage :
naabu [flags]
Flags :
INPUT :
-host string[] hosts to scan ports for (comma-separated)
-list, -l string list of hosts to scan ports (file)
-exclude-hosts, -eh string hosts to exclude from the scan (comma-separated)
-exclude-file, -ef string list of hosts to exclude from scan (file)
PORT :
-port, -p string ports to scan (80,443, 100-200)
-top-ports, -tp string top ports to scan (default 100) [full,100,1000]
-exclude-ports, -ep string ports to exclude from scan (comma-separated)
-ports-file, -pf string list of ports to scan (file)
-port-threshold, -pts int port threshold to skip port scan for the host
-exclude-cdn, -ec skip full port scans for CDN/WAF (only scan for port 80,443)
-display-cdn, -cdn display cdn in use
RATE-LIMIT :
-c int general internal worker threads (default 25)
-rate int packets to send per second (default 1000)
UPDATE :
-up, -update update naabu to latest version
-duc, -disable-update-check disable automatic naabu update check
OUTPUT :
-o, -output string file to write output to (optional)
-j, -json write output in JSON lines format
-csv write output in csv format
CONFIGURATION :
-config string path to the naabu configuration file (default $HOME/.config/naabu/config.yaml)
-scan-all-ips, -sa scan all the IP's associated with DNS record
-ip-version, -iv string[] ip version to scan of hostname (4,6) - (default 4) (default ["4"])
-scan-type, -s string type of port scan (SYN/CONNECT) (default "c")
-source-ip string source ip and port (x.x.x.x:yyy - might not work on OSX)
-interface-list, -il list available interfaces and public ip
-interface, -i string network Interface to use for port scan
-nmap invoke nmap scan on targets (nmap must be installed) - Deprecated
- nmap-cli string nmap command to run on found results (example : -nmap-cli 'nmap -sV')
-r string list of custom resolver dns resolution (comma separated or from file)
-proxy string socks5 proxy (ip[:port] / fqdn[:port]
-proxy-auth string socks5 proxy authentication (username:password)
-resume resume scan using resume.cfg
-stream stream mode (disables resume, nmap, verify, retries, shuffling, etc)
-passive display passive open ports using shodan internetdb api
-irt, -input-read-timeout value timeout on input read (default 3m0s)
-no-stdin Disable Stdin processing
HOST-DISCOVERY :
-sn, -host-discovery Perform Only Host Discovery
- Pn, -skip-host-discovery Skip Host discovery (Deprecated : use -wn/-with-host-discovery instead)
-wn, -with-host-discovery Enable Host discovery
-ps, -probe-tcp-syn string[] TCP SYN Ping (host discovery needs to be enabled)
-pa, -probe-tcp-ack string[] TCP ACK Ping (host discovery needs to be enabled)
-pe, -probe-icmp-echo ICMP echo request Ping (host discovery needs to be enabled)
-pp, -probe-icmp-timestamp ICMP timestamp request Ping (host discovery needs to be enabled)
-pm, -probe-icmp-address-mask ICMP address mask request Ping (host discovery needs to be enabled)
-arp, -arp-ping ARP ping (host discovery needs to be enabled)
-nd, -nd-ping IPv6 Neighbor Discovery (host discovery needs to be enabled)
-rev-ptr Reverse PTR lookup for input ips
OPTIMIZATION :
-retries int number of retries for the port scan (default 3)
-timeout int millisecond to wait before timing out (default 1000)
-warm-up-time int time in seconds between scan phases (default 2)
-ping ping probes for verification of host
-verify validate the ports again with TCP verification
DEBUG :
-health-check, -hc run diagnostic check up
-debug display debugging information
-verbose, -v display verbose output
-no-color, -nc disable colors in CLI output
-silent display only results in output
-version display version of naabu
-stats display stats of the running scan (deprecated)
-si, -stats-interval int number of seconds to wait between showing a statistics update (deprecated) (default 5)
-mp, -metrics-port int port to expose naabu metrics on (default 63636)قم بتنزيل The Ready to Run Binary / Docker أو التثبيت بـ GO
ملاحظة : قبل تثبيت NAABU ، تأكد من تثبيت مكتبة
libpcapلالتقاط الحزم.
لتثبيت libcap على linux : sudo apt install -y libpcap-dev ، على mac : brew install libpcap
go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latestلتشغيل الأداة على الهدف ، ما عليك سوى استخدام الأمر التالي.
naabu -host hackerone.com سيؤدي هذا إلى تشغيل الأداة ضد Hackerone.com. هناك عدد من خيارات التكوين التي يمكنك تمريرها مع هذا الأمر. يمكن استخدام مفتاح المطول -v لعرض معلومات مطوّلة.
naabu -host hackerone.com
__
___ ___ ___ _/ / __ __
/ _ / _ / _ / _ / // /
/_//_/_,_/_,_/_.__/_,_/ v2.0.3
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[INF] Running SYN scan with root privileges
[INF] Found 4 ports on host hackerone.com (104.16.100.52)
hackerone.com:80
hackerone.com:443
hackerone.com:8443
hackerone.com:8080 يمكن تحديد المنافذ التي يجب فحصها على المضيف عبر معلمة -p (يجب التعبير عن منافذ UDP كـ u:port ). يستغرق منافذ تنسيق NMAP وتشغيل التعداد عليها.
naabu -p 80,443,21-23,u:53 -host hackerone.com بشكل افتراضي ، يتحقق Naabu من Top 100 منفذ من NMAP. وهو يدعم قوائم المنافذ التالية -
| علَم | وصف |
|---|---|
-top-ports 100 | مسح لمنفذ NMAP Top 100 |
-top-ports 1000 | مسح لمنفذ NMAP Top 1000 |
-p - | مسح للمنافذ الكاملة من 1-65535 |
يمكنك أيضًا تحديد منافذ محددة ترغب في استبعادها من الفحص.
naabu -p - -exclude-ports 80,443 لتشغيل Naabu على قائمة المضيفين ، يمكن استخدام خيار -list .
naabu -list hosts.txtلتشغيل Naabu على ASN ، حيث يمكن استخدام المدخلات. يتطلب عنوان IP متاحًا لـ ASN المعطى ويدير التعداد عليها.
echo AS14421 | naabu -p 80,443
216.101.17.249:80
216.101.17.249:443
216.101.17.248:443
216.101.17.252:443
216.101.17.251:80
216.101.17.251:443
216.101.17.250:443
216.101.17.250:80 يمكنك أيضًا الحصول على الإخراج بتنسيق JSON باستخدام -json Switch. يحفظ هذا المفتاح الإخراج بتنسيق خطوط JSON.
naabu -host 104.16.99.52 -json
{"ip":"104.16.99.52","port":443}
{"ip":"104.16.99.52","port":80}يمكن أن تكون الموانئ التي تم اكتشافها إلى أدوات أخرى أيضًا. على سبيل المثال ، يمكنك أن تنشر المنافذ التي اكتشفتها Naabu إلى HTTPX والتي ستجد بعد ذلك خوادم HTTP على المضيف.
echo hackerone.com | naabu -silent | httpx -silent
http://hackerone.com:8443
http://hackerone.com:443
http://hackerone.com:8080
http://hackerone.com:80 يمكن التحكم في السرعة عن طريق تغيير قيمة علامة rate التي تمثل عدد الحزم في الثانية. قد تؤدي زيادة ذلك أثناء معالجة المضيفين إلى زيادة معدلات إيجابية كاذبة. لذلك يوصى بإبقائه إلى مبلغ معقول.
يدعم Naabu كلاً من IPv4 و IPv6. يمكن أن يتم تجميع النطاقات معًا كمدخلات. إذا تم استخدام IPv6 ، يجب تكوين الاتصال بشكل صحيح ، ويجب أن تحتوي واجهة الشبكة على عنوان IPv6 المعين ( inet6 ) وبوابة افتراضية.
echo hackerone.com | dnsx -resp-only -a -aaaa -silent | naabu -p 80 -silent
104.16.99.52:80
104.16.100.52:80
2606:4700::6810:6434:80
2606:4700::6810:6334:80 يجعل الخيار -ip-version 6 الأداة تستخدم عناوين IPv6 أثناء حل أسماء المجال.
echo hackerone.com | ./naabu -p 80 -ip-version 6
__
___ ___ ___ _/ / __ __
/ _ / _ / _ / _ / // /
/_//_/_,_/_,_/_.__/_,_/ v2.0.8
projectdiscovery.io
Use with caution. You are responsible for your actions
Developers assume no liability and are not responsible for any misuse or damage.
[INF] Running CONNECT scan with non root privileges
[INF] Found 1 ports on host hackerone.com (2606:4700::6810:6334)
hackerone.com:80 لمسح جميع عناوين IP لكلا الإصدارين ، يمكن استخدام ip-version 4,6 جنبًا إلى جنب مع علامة -scan-all-ips .
echo hackerone.com | ./naabu -iv 4,6 -sa -p 80 -silent
[INF] Found 1 ports on host hackerone.com (104.16.100.52)
hackerone.com:80
[INF] Found 1 ports on host hackerone.com (104.16.99.52)
hackerone.com:80
[INF] Found 1 ports on host hackerone.com (2606:4700::6810:6334)
hackerone.com:80
[INF] Found 1 ports on host hackerone.com (2606:4700::6810:6434)
hackerone.com:80 يدعم Naabu اختياريًا خيارات متعددة لأداء اكتشاف المضيف. اكتشاف المضيف اختياري ويمكن تمكينه باستخدام علامة -wn . -sn SN يرشد الأداة لأداء اكتشاف المضيف فقط.
الخيارات المتاحة لأداء اكتشاف المضيف:
-arp )-ps 80 )-pa 443 )-pe )-pp )-pm )-nd ) يدعم NAABU ملف التكوين على أنه افتراضي موجود في $HOME/.config/naabu/config.yaml ، فهو يتيح لك تحديد أي علامة في ملف التكوين وتعيين القيم الافتراضية لتضمين لجميع عمليات المسح.
قمنا بدمج دعم NMAP لاكتشاف الخدمة أو أي عمليات مسح إضافية تدعمها NMAP على النتائج التي تم العثور عليها من قبل Naabu ، تأكد من تثبيت nmap لاستخدام هذه الميزة.
للاستخدام ، يمكن استخدام علامة nmap-cli متبوعًا بأمر NMAP ، على سبيل المثال:-
echo hackerone.com | naabu -nmap-cli 'nmap -sV -oX nmap-output'
__
___ ___ ___ _/ / __ __
/ _ / _ / _ / _ / // /
/_//_/_,_/_,_/_.__/_,_/ v2.0.0
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[INF] Running TCP/ICMP/SYN scan with root privileges
[INF] Found 4 ports on host hackerone.com (104.16.99.52)
hackerone.com:443
hackerone.com:80
hackerone.com:8443
hackerone.com:8080
[INF] Running nmap command: nmap -sV -p 80,8443,8080,443 104.16.99.52
Starting Nmap 7.01 ( https://nmap.org ) at 2020-09-23 05:02 UTC
Nmap scan report for 104.16.99.52
Host is up (0.0021s latency).
PORT STATE SERVICE VERSION
80/tcp open http cloudflare
443/tcp open ssl/https cloudflare
8080/tcp open http-proxy cloudflare
8443/tcp open ssl/https-alt cloudflare يدعم Naabu أيضًا استبعاد CDN/WAF IPs التي يتم مسحها ضوئيًا. إذا تم استخدامه ، يتم فحص 80 و 443 منافذ فقط لتلك IPS. يمكن تمكين هذه الميزة باستخدام علامة exclude-cdn .
حاليًا يتم دعم cloudflare و akamai و incapsula و sucuri IPs للاستثناءات.
يعرض Naabu معلومات فحص JSON على منفذ محلي مرتبط بـ LocalHost على http://localhost:63636/metrics (يمكن تغيير المنفذ عبر علامة -metrics-port )
برنامج العينة التالي مسح المنفذ 80 من scanme.sh . يتم إرجاع النتائج عن طريق رد اتصال OnResult :
package main
import (
"log"
"github.com/projectdiscovery/goflags"
"github.com/projectdiscovery/naabu/v2/pkg/result"
"github.com/projectdiscovery/naabu/v2/pkg/runner"
)
func main () {
options := runner. Options {
Host : goflags. StringSlice { "scanme.sh" },
ScanType : "s" ,
OnResult : func ( hr * result. HostResult ) {
log . Println ( hr . Host , hr . Ports )
},
Ports : "80" ,
}
naabuRunner , err := runner . NewRunner ( & options )
if err != nil {
log . Fatal ( err )
}
defer naabuRunner . Close ()
naabuRunner . RunEnumeration ()
}نابو مصنوع من؟ من قبل فريق الاستكشاف. جعلت مساهمات المجتمع المشروع ما هو عليه.
انظر ملف Thank.md لمزيد من التفاصيل.