naabu — 네트워크 분석 및 진단
최신 도구 가이드 / 네트워크 분석 및 진단 / naabu.html
Go 기반 고속 포트 스캐너. SYN 스캔으로 빠르고 정확하게 열린 포트를 탐지.
기본 정보
| 프로그램 이름 | naabu (나부) |
|---|---|
| 한 줄 소개 | Go 기반 고속 포트 스캐너. SYN 스캔으로 빠르고 정확하게 열린 포트를 탐지. |
| 개발·유지 | ProjectDiscovery (오픈소스 커뮤니티) |
| 공식 홈페이지 | https://github.com/projectdiscovery/naabu |
| 공식 문서 | https://docs.projectdiscovery.io/tools/naabu/overview |
| 공식 다운로드 | https://github.com/projectdiscovery/naabu/releases |
| 지원 운영체제 | Linux, macOS, Windows (Go 바이너리, libpcap 필요) |
| 라이선스 | MIT |
| 안정 버전 | 2.3.x — 확인일 2026-10-18 |
| GitHub 저장소 | https://github.com/projectdiscovery/naabu |
| 분류 | 네트워크 분석 및 진단 (태그: 포트 스캐너, SYN 스캔, Go, 보안, 폰인집) |
이 프로그램은 무엇인가?
naabu는 Go로 작성된 고속 포트 스캐너로, SYN 스캔·CONNECT 스캔·UDP 스캔을 지원합니다. 가볍고 빠르게 설계되어 대량의 호스트에서 열린 포트를 효율적으로 탐지합니다.
ProjectDiscovery 생태계의 핵심 도구로, httpx·subfinder·nuclei와 파이프로 연결해 자동화된 보안 조사 파이프라인을 구성할 수 있습니다. ASN·CIDR·파일 등 다양한 입력 형식을 지원합니다.
어떤 문제를 해결하는가?
- 대상 호스트의 열린 포트를 빠르게 식별해야 할 때 사용합니다.
- 방화벽 규칙이 올바르게 동작하는지 확인합니다.
- httpx와 연결해 열린 포트 중 HTTP 서비스만 필터링합니다.
- 보안 감사에서 전체 서비스 노출 범위를 파악합니다.
주요 기능
SYN 스캔
반쯤 열린 상태(반감기 핸드셰이크)를 이용해 빠르고 정확하게 포트를 탐지합니다.
- 활용 상황: 대규모 포트 스캔에서 속도와 정확도가 모두 필요할 때 사용합니다.
- 얻는 결과: TCP 연결을 완전히 수립하지 않고 포트 상태를 확인합니다.
- 제한 사항: SYN 스캔은 root 또는 cap_net_raw 권한이 필요합니다.
Top 포트 모드
가장 자주 열리는 포트(기본 100개)만 선택해 스캔 속도를 높입니다.
- 활용 상황: 빠른 1차 스캔으로 서비스 노출을 확인할 때 사용합니다.
- 얻는 결과: 수 초 만에 주요 서비스 포트를 확인합니다.
- 제한 사항: 비표준 포트는 이 모드에서 누락될 수 있습니다.
ASN·CIDR 입력
ASN 번호나 CIDR 대역을 입력으로 받아 범위 스캔을 지원합니다.
- 활용 상황: 특정 ISP·클라우드 범위의 포트 노출 상태를 확인할 때 사용합니다.
- 얻는 결과: IP 범위 전체를 한 번에 스캔할 수 있습니다.
- 제한 사항: 대규모 스캔 시 네트워크 정책·법적 문제에 주의해야 합니다.
nmap 통합
발견한 포트를 nmap 명령으로 자동 전달해 심화 분석할 수 있습니다.
- 활용 상황: 포트 발견 후 서비스 버전·취약점을 추가 조사할 때 사용합니다.
- 얻는 결과: naabu → nmap 파이프라인이 자동화됩니다.
- 제한 사항: nmap이 설치되어 있어야 합니다.
설치 및 실행
바이너리 다운로드
GitHub 릴리스에서 설치합니다. libpcap이 필요합니다.
# libpcap 설치 (Debian/Ubuntu)
sudo apt install -y libpcap-dev
# 바이너리 다운로드
wget https://github.com/projectdiscovery/naabu/releases/latest/download/naabu_linux_amd64.zip
unzip naabu_linux_amd64.zip
sudo mv naabu /usr/local/bin/
# 설치 확인
naabu -version
go install
Go 환경에서 설치합니다.
go install -v github.com/projectdiscovery/naabu/cmd/naabu@latest
Docker
Docker로 격리 실행합니다.
docker pull projectdiscovery/naabu:latest
docker run -it --rm projectdiscovery/naabu -host example.com
실제 사용 예제
기본 포트 스캔
대상 호스트의 열린 포트를 스캔합니다.
# Top 100 포트 스캔
echo "example.com" | naabu -silent
# 전체 포트 스캔
naabu -host example.com -p - -silent
특정 포트 범위 스캔
지정한 포트 범위만 스캔합니다.
# 1-1024 포트 스캔
naabu -host 192.168.1.1 -p 1-1024
# 특정 포트 목록
naabu -host example.com -p 80,443,8080,8443
httpx와 파이프 연결
열린 포트에서 HTTP 서비스만 추출합니다.
# naabu 스캔 → httpx 프로빙
naabu -host example.com -p 80,443,8080 -silent | httpx -silent -status-code
# 결과: HTTP 응답하는 포트와 상태 코드만 표시