naabu
naabuは、goベースのポートスキャナである。
naabuの高速スキャンにてオープン状態のポートを取得し、その結果をnmapに渡すといった使い方が想定されているようである。
Instead of scanning every port, let Naabu quickly find the open ones first, then feed them straight into Nmap for detailed analysis.
— ProjectDiscovery (@pdiscoveryio) August 13, 2025
naabu -host <TARGET> -nmap-cli '<nmap command>'#ProjectDiscovery #Naabu #Nmap #Recon #CyberSecurityTools pic.twitter.com/JxHpNkQ47M
goがインストールされている環境であれば、次のコマンドでインストールできる。
$ sudo apt update
$ sudo apt install libpcap-dev
$ go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
なお、WSL上のUbutuでポートスキャンを実行すると、妙な結果が得られた(nmapの結果も参考として記載)。
$ sudo ~/go/bin/naabu -host scanme.nmap.org -s s -rate 1000 -nmap-cli 'nmap -sV -Pn'
__
___ ___ ___ _/ / __ __
/ _ \/ _ \/ _ \/ _ \/ // /
/_//_/\_,_/\_,_/_.__/\_,_/
projectdiscovery.io
[INF] Current naabu version 2.5.0 (latest)
[WRN] UI Dashboard is disabled, Use -dashboard option to enable
[INF] Running SYN scan with CAP_NET_RAW privileges
scanme.nmap.org:22
5d39:d0cf:800:4500:28:0:4000:3106:22
scanme.nmap.org:80
5d39:d0cf:800:4500:28:0:4000:3006:80
[INF] Running nmap scan on range 0: 45.33.32.156 5d39:d0cf:800:4500:28:0:4000:3106 5d39:d0cf:800:4500:28:0:4000:3006 -p 22,80
[INF] Using custom nmap arguments: -sV -Pn
[INF] Integrating nmap results for 45.33.32.156:
22/tcp (ssh 6.6.1p1 Ubuntu 2ubuntu2.13 OpenSSH)
80/tcp (http 2.4.7 Apache httpd)
[INF] Found 1 ports on host 5d39:d0cf:800:4500:28:0:4000:3106 (5d39:d0cf:800:4500:28:0:4000:3106)
[INF] Found 1 ports on host 5d39:d0cf:800:4500:28:0:4000:3006 (5d39:d0cf:800:4500:28:0:4000:3006)
[INF] Found 2 ports on host scanme.nmap.org (45.33.32.156)
$ sudo nmap -sV -Pn scanme.nmap.org
Starting Nmap 7.94SVN ( https://nmap.org ) at 2026-04-05 20:45 JST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.12s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.36 seconds
これをgeminiに聞いてみると、次のような回答が得られた。
IPv6のような謎の文字列の正体
naabu のログに出ている以下の文字列に注目してください。
5d39:d0cf:800:4500:28:0:4000:3106:22
これは一見IPv6アドレスのように見えますが、実は WSL2のネットワークスタックが生のパケット(Raw Packet)を解釈しようとして発生している表示バグ、もしくはパケットのパースミス である可能性が高いです。
4500 ... IPv4ヘッダーの開始(Version 4, IHL 5)
28 ... トータルレングス(40バイト)
4000 ... フラグ(Don't Fragment)
このように、IPヘッダーのバイナリデータがそのままアドレスとして誤認されています。これは WSL2(特にNATモード) で naabu のような高速なSYNスキャナを動かした際によく見られる現象で、Windowsの仮想ネットワークアダプタがパケットを正しくブリッジできていないサインです。
この回答と併せて回避案も提示されたが、ポートスキャンに関してはおとなしくLinux VMを使った方がよいかもしれない。