Naabu

Naabu

Naabu 是一款用 Go 编写的快速端口扫描工具,专注于简单性和性能。

简介

Naabu 是 ProjectDiscovery 开发的端口扫描器,旨在提供快速可靠的端口扫描体验。它支持 SYN 扫描和连接扫描两种模式,可以快速发现开放端口。

主要特性

  • 快速扫描 - 高性能并发扫描
  • SYN 扫描 - 支持 TCP SYN 半开放扫描
  • 连接扫描 - 支持 TCP 全连接扫描
  • 多端口范围 - 支持自定义端口范围
  • 排除选项 - 支持排除特定端口
  • JSON 输出 - 支持结构化输出
  • nmap 集成 - 可与 nmap 联动使用

安装方式

Go 安装

go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest

Docker 部署

docker run -i projectdiscovery/naabu

源码安装

git clone https://github.com/projectdiscovery/naabu.git
cd naabu/v2/cmd/naabu
go build

Kali Linux 安装

sudo apt install naabu

常用参数

参数 描述
-host 目标主机
-l 从文件读取目标
-p 指定端口
-port 指定端口(别名)
-top-ports 扫描前 N 个常用端口
-exclude-ports 排除端口
-s SYN 扫描模式
-c 连接扫描模式
-rate 每秒请求数
-timeout 超时时间
-retries 重试次数
-json JSON 格式输出
-o 输出文件
-silent 静默模式
-verbose 详细模式
-nmap 使用 nmap 扫描

端口范围

预设 描述
-top-ports 100 前 100 个常用端口
-top-ports 1000 前 1000 个常用端口
-p 1-1000 指定端口范围
-p 80,443,8080 指定多个端口

使用示例

# 扫描单个主机
naabu -host target.com

# 扫描指定端口
naabu -host target.com -p 80,443,8080

# 扫描端口范围
naabu -host target.com -p 1-1000

# 扫描前 1000 个常用端口
naabu -host target.com -top-ports 1000

# 从文件读取目标
naabu -l hosts.txt

# SYN 扫描(需要 root 权限)
sudo naabu -host target.com -s

# 连接扫描
naabu -host target.com -c

# JSON 输出
naabu -host target.com -json -o results.json

# 设置速率
naabu -host target.com -rate 1000

# 排除特定端口
naabu -host target.com -exclude-ports 22,80

# 与 nmap 联动
naabu -host target.com -nmap

输出示例

target.com:80
target.com:443
target.com:8080

渗透测试用途

  • 端口发现 - 快速发现开放端口
  • 服务识别 - 识别运行的服务
  • 资产测绘 - 绘制网络资产图
  • 快速扫描 - 大规模端口扫描
  • nmap 前置 - 先用 naabu 快速发现开放端口,再用 nmap 详细扫描

注意事项

  • SYN 扫描需要 root/管理员权限
  • 某些网络环境可能限制 SYN 扫描
  • 建议遵守目标网络的扫描策略

参考资源