Naabu是一款基于Go语言开发的快速端口扫描工具,该工具可以帮助广大研究人员以快速可靠的方式枚举目标主机的有效端口。该工具在实现了简单易用的情况下,同时保证了运行的可靠性。该工具支持对主机/主机列表进行快速SYN/CONNECT扫描,并列出所有返回了响应信息的端口。
项目地址
代码语言:javascript复制https://github.com/projectdiscovery/naabu
安装
该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好Go语言环境。接下来,我们可以通过源码、Docker或go命令来下载和安装Naabu。
在安装Naabu之前,请确保已经安装了libpcap库:
代码语言:javascript复制sudo apt install -y libpcap-dev
然后安装Naabu:
代码语言:javascript复制go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
使用
如需针对目标运行Naabu,只需运行下列命令即可:
代码语言:javascript复制naabu -host hackerone.com
上述命令将会针对hackerone.com执行扫描,此时还可以结合其他参数选项一起运行,比如说"-v"选项可以开启Verbose模式等等。
或者,使用"-p"参数指定需要扫描的端口号:
代码语言:javascript复制naabu -p 80,443,21-23 -host hackerone.com
默认配置下,Naabu将会检查Nmap中的前100个端口:
参数选项 | 描述 |
---|---|
-top-ports 100 | 扫描Nmap前100个端口 |
-top-ports 1000 | 扫描Nmap前1000个端口 |
-p - | 扫描从1-65535的完整端口 |
你还可以指定需要排除的端口:
代码语言:javascript复制naabu -p - -exclude-ports 80,443
如需扫描主机列表,可以使用"-list"选项:
代码语言:javascript复制naabu -list hosts.txt
你还可以使用“-json”选项以JSON格式输出数据:
代码语言:javascript复制naabu -host 104.16.99.52 -json
{"ip":"104.16.99.52","port":443}
{"ip":"104.16.99.52","port":80}
工具输出的扫描结果也可以通过管道输出给其他工具:
代码语言:javascript复制echo hackerone.com | naabu -silent | httpx -silent
http://hackerone.com:8443
http://hackerone.com:443
http://hackerone.com:8080
http://hackerone.com:80
Nmap整合
该工具已经整合了Nmap支持,如需使用,可以按照下列方式调用nmap-cli:
代码语言:javascript复制echo hackerone.com | naabu -nmap-cli 'nmap -sV -oX nmap-output'