Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
naabu — Быстрый сканер портов, написанный на Go, с упором на надёжность и простоту. Предназначен для использования в сочетании с другими инструментами для обнаружения поверхности атаки в программах bug bounty и пентестах. | Kitploit
Инструменты/GitHubGitHub/projectdiscovery/naabu
РазведкаКартирование сетиСканирование портовСбор информацииТестирование на ПроникновениеТоп в Разведка №10
GitHubprojectdiscovery/naabu

naabu

Быстрый сканер портов, написанный на Go, с упором на надёжность и простоту. Предназначен для использования в сочетании с другими инструментами для обнаружения поверхности атаки в программах bug bounty и пентестах.

Репозиторий
6.2k71011 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

naabu

Возможности • Установка • Использование • Запуск naabu • Конфиг • Интеграция с NMAP • Исключение CDN/WAF • Discord

Naabu — это инструмент для сканирования портов, написанный на Go, который позволяет быстро и надежно перечислять открытые порты для хостов. Это очень простой инструмент, выполняющий быстрые SYN/CONNECT/UDP сканирования на хосте/списке хостов и выводящий все порты, возвращающие ответ.

Возможности

naabu

  • Быстрое и простое сканирование на основе зондов SYN/CONNECT/UDP
  • Оптимизировано для простоты использования и легковесности по ресурсам
  • DNS сканирование портов
  • Автоматическое удаление дубликатов IP при DNS сканировании портов
  • IPv4/IPv6 сканирование портов (экспериментально)
  • Пассивное перечисление портов с помощью Shodan Internetdb
  • Обнаружение хостов (экспериментально)
  • Интеграция с NMAP для обнаружения сервисов
  • Пользовательские UDP полезные данные для CONNECT сканирования
  • Встроенные UDP зонды сервисов на основе nmap-service-probes
  • Поддержка множества входных данных - STDIN/HOST/IP/CIDR/ASN
  • Поддержка множества форматов вывода - JSON/TXT/STDOUT

Использование```sh

naabu -h

root@kitploit:~
Это отобразит справку по инструменту. Вот все переключатели, которые он поддерживает.```yaml
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

SERVICES-DISCOVERY:
   -sD, -service-discovery           identify services by port number
   -sV, -service-version             detect service versions using nmap-service-probes
   -sV-fast                          only probe port-hinted services (faster, skips fallback)
   -sV-timeout duration              timeout for service version probes (default 5s)
   -sV-workers int                   number of concurrent service version workers (default 25)
   -sV-probes string                 custom nmap-service-probes file path (auto-detected from local nmap install if empty)
   -uP, -udp-probes                  send protocol-specific payloads on UDP scans using nmap-service-probes

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,6) (default ["4","6"])
   -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) 
   -cp, -connect-payload string    payload to send in CONNECT scans (optional)
   -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)
   -dns-order string                dns resolution order (p/l/lp/pl) (default "l")
   -sr, -system-resolver            use system DNS as fallback resolver
   -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 (automatically enables stream mode)
   -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
   -show-dead                     show hosts that did not respond to host discovery (requires 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
   -ss, -smart-scan                predictive port scanning using port correlation model (not compatible with stream mode)
   -pt, -prediction-threshold int  minimum confidence for port predictions (0-100%) (default 20)

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)

CLOUD:
   -auth                           configure projectdiscovery cloud (pdcp) api key (default true)
   -ac, -auth-config string        configure projectdiscovery cloud (pdcp) api key credential file
   -pd, -dashboard                 upload / view output in projectdiscovery cloud (pdcp) UI dashboard
   -tid, -team-id string           upload asset results to given team id (optional)
   -aid, -asset-id string          upload new assets to existing asset id (optional)
   -aname, -asset-name string      assets group name to set (optional)
   -pdu, -dashboard-upload string  upload naabu output file (jsonl) in projectdiscovery cloud (pdcp) UI dashboard

Инструкции по установке

Загрузите готовый к запуску бинарный файл / docker или установите с помощью GO

Предварительные требования

Примечание: перед установкой naabu убедитесь, что установлена библиотека libpcap для захвата пакетов.

Чтобы установить libpcap на Linux: sudo apt install -y libpcap-dev, на Mac: brew install libpcap, на Windows: установите Npcap

Установка Naabu```sh

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

root@kitploit:~
# Запуск Naabu

Чтобы запустить инструмент на цель, просто используйте следующую команду.```sh
naabu -host hackerone.com

Это запустит инструмент против hackerone.com. Существует ряд опций конфигурации, которые вы можете передать вместе с этой командой. Подробный переключатель -v можно использовать для отображения подробной информации.```console naabu -host hackerone.com

root@kitploit:~
              __

___ ___ ___ / / __ __ / _ / _ / _ / _ / // / ////_,/_,/.__/_,_/ v2.0.3

root@kitploit:~
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

root@kitploit:~
Порты для сканирования на хосте можно указать с помощью параметра `-p` (udp порты должны быть указаны как `u:port`). Он принимает порты в формате nmap и выполняет перечисление на них.```sh
naabu -p 80,443,21-23,u:53 -host hackerone.com

При UDP-сканировании вы можете указать пользовательскую полезную нагрузку для отправки с помощью флага -cp или --connect-payload. Это особенно полезно для UDP-сервисов, которым требуются специфические данные для ответа:```sh naabu -p u:53 -host example.com -cp "DNS query payload"

root@kitploit:~
По умолчанию Naabu проверяет `Топ-100` портов nmap. Она поддерживает следующие встроенные списки портов:

| Flag              | Описание                          |
|-------------------|--------------------------------------|
| `-top-ports 100`  | Сканировать топ **100** портов nmap       |
| `-top-ports 1000` | Сканировать топ **1000** портов nmap      |
| `-p - `           | Сканировать все порты от **1 до 65535** |

Вы также можете указать конкретные порты, которые хотите исключить из сканирования.```sh
naabu -p - -exclude-ports 80,443

Чтобы запустить naabu на списке хостов, можно использовать опцию -list.```sh naabu -list hosts.txt

root@kitploit:~
Для запуска naabu на ASN можно использовать входные данные AS. Он берет IP-адреса, доступные для данного ASN, и выполняет перечисление на них.```console
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. Этот ключ сохраняет вывод в формате JSON lines.```console naabu -host 104.16.99.52 -json

{"ip":"104.16.99.52","port":443} {"ip":"104.16.99.52","port":80}

root@kitploit:~
Обнаруженные порты можно передавать и другим инструментам. Например, вы можете передать порты, обнаруженные naabu, в [httpx](https://github.com/projectdiscovery/httpx), который затем найдет работающие HTTP-серверы на хосте.```console
echo hackerone.com | naabu -silent | httpx -silent

http://hackerone.com:8443
http://hackerone.com:443
http://hackerone.com:8080
http://hackerone.com:80

Скорость можно контролировать, изменяя значение флага rate, который представляет количество пакетов в секунду. Увеличение этого значения при обработке хостов может привести к увеличению количества ложных срабатываний. Поэтому рекомендуется оставлять его на разумном уровне.

IPv4 и IPv6

Naabu поддерживает как IPv4, так и IPv6, и оба включены по умолчанию. При использовании IPv6 необходимо правильно настроить подключение, а сетевой интерфейс должен иметь назначенный IPv6-адрес (inet6) и шлюз по умолчанию.```console echo hackerone.com | naabu -p 80 -silent

104.16.99.52:80 104.16.100.52:80 2606:4700::6810:6434:80 2606:4700::6810:6334:80

root@kitploit:~
Опция `-ip-version 6` заставляет инструмент использовать только IPv6 адреса при разрешении доменных имен.```console
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-адреса обеих версий, можно использовать флаг -scan-all-ips.```console echo hackerone.com | ./naabu -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

root@kitploit:~
# Host Discovery

Naabu опционально поддерживает несколько опций для выполнения обнаружения хостов. Обнаружение хостов является опциональным и может быть включено с помощью флага `-wn`. Флаг `-sn` указывает инструменту выполнять только обнаружение хостов.

Доступные опции для выполнения обнаружения хостов:

- **ARP** ping (`-arp`)
- TCP **SYN** ping (`-ps 80`)
- TCP **ACK** ping (`-pa 443`)
- ICMP **echo** ping (`-pe`)
- ICMP **timestamp** ping (`-pp`)
- ICMP **address mask** ping (`-pm`)
- IPv6 **neighbor discovery** (`-nd`)

# Файл конфигурации

Naabu по умолчанию поддерживает файл конфигурации, расположенный по пути `$HOME/.config/naabu/config.yaml`. Он позволяет вам определить любой флаг в файле конфигурации и задать значения по умолчанию для включения во все сканирования.

# Интеграция с Nmap

Мы интегрировали поддержку nmap для обнаружения сервисов или любых дополнительных сканирований, поддерживаемых nmap, на найденных результатах Naabu. Убедитесь, что у вас установлен `nmap` для использования этой функции.

Для использования можно использовать флаг `nmap-cli`, за которым следует команда nmap, например:-```console
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 имеет встроенное определение версий служб, использующее базу данных служебных проб nmap. Этот процесс выполняется параллельно со сканированием портов для достижения максимальной производительности.```sh naabu -host scanme.sh -sV

root@kitploit:~
- `snitch` `v1.0.1`      _ инструмент сбора информации через дорки_```console
scanme.sh:22 [ssh OpenSSH/6.6.1p1]
scanme.sh:80 [http Apache httpd/2.4.7]
scanme.sh:9929 [nping-echo Nping echo]

[INF] Found 3 ports on host scanme.sh (45.33.32.156) with 3 services identified

Доступные флаги:

Флаг -sV требует файла базы данных nmap-service-probes. naabu не поставляет эту базу данных (она распространяется по лицензии с авторским левом Nmap Public Source License, которая несовместима с лицензией MIT, используемой naabu), поэтому она читает файл из локальной установки nmap, автоматически проверяя стандартные пути установки nmap. Чтобы использовать собственный файл, укажите путь с помощью -sV-probes.

UDP-зонды служб

UDP-службы обычно молчат, когда получают пустую дейтаграмму, поэтому слепое сканирование UDP-портов пропускает большинство из них. С помощью -uP (-udp-probes) naabu выбирает протокол-специфичную полезную нагрузку из базы данных nmap-service-probes для каждого сканируемого UDP-порта (DNS-запрос для порта 53, NTP-запрос для 123, SNMPv1 GetRequest для 161 и так далее), чтобы реальные службы имели на что ответить, и naabu мог сообщить о них как об открытых.```sh naabu -host scanme.sh -p u:53,u:123,u:161 -uP

root@kitploit:~
Notes:

- `-uP` является опциональным и аддитивным. Когда отключено (по умолчанию), UDP-сканирование сохраняет своё историческое поведение с нулевым датаграммным payload'ом.
- Выбранный пробник — это совпадение с наивысшим приоритетом (наименьшей редкостью) для целевого порта; если для порта не зарегистрирован пробник, сканирование возвращается к пустой датаграмме.
- Пользовательский payload, переданный через `-cp`, всегда переопределяет автоматический пробник для этого порта.
- `-uP` использует ту же базу данных пробников, что и `-sV`, поэтому можно комбинировать их без двойной стоимости парсинга. Файл пробников автоматически находится из локальной установки nmap; используйте `-sV-probes` для указания пользовательского файла. Если база данных не найдена, `-uP` записывает предупреждение и молча отключается.

# Исключение CDN/WAF

Naabu также поддерживает исключение IP-адресов CDN/WAF из сканирования портов. При использовании для этих IP-адресов сканируются только порты `80` и `443`. Эта функция включается с помощью флага `exclude-cdn`.

В настоящее время для исключения поддерживаются IP-адреса `cloudflare`, `akamai`, `incapsula` и `sucuri`.

# Статус сканирования

Naabu предоставляет информацию о сканировании в формате json на локальном порту, привязанном к localhost по адресу `http://localhost:63636/metrics` (порт можно изменить с помощью флага `-metrics-port`)

# Использование naabu как библиотеки

Следующая примерная программа сканирует порт `80` хоста `scanme.sh`. Результаты возвращаются через обратный вызов `OnResult`:```go
package main

import (
	"log"

	"context"
	"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(context.Background())
}

OnResult вызывается один раз после завершения сканирования с агрегированными результатами. Для обработки результатов в реальном времени по мере обнаружения портов используйте OnReceive. Опция Stream управляет только асинхронной загрузкой целей — она не влияет на момент вызова колбэков.

Заметки

  • Naabu позволяет произвольное выполнение бинарных файлов как функция для поддержки интеграции с nmap.
  • Naabu предназначен для сканирования портов на нескольких хостах / массового сканирования портов.
  • По умолчанию naabu настроен в предположении, что вы запускаете его с VPS.
  • Мы рекомендуем настроить флаги / скорость, если запускаете naabu с локальной системы.
  • Для наилучших результатов запускайте naabu от пользователя root.

Naabu сделан с 🖤 командой projectdiscovery. Вклад сообщества сделал проект таким, какой он есть.

Смотрите файл Thanks.md для получения дополнительной информации.

Скачать инструмент
ФлагОписание
-sVВключить определение версии службы
-sV-fastЗондировать только службы, подсказанные портом (быстрее, пропускает запасные зонды)
-sV-timeout durationТаймаут для зондов определения версии службы (по умолчанию 5 секунд)
-sV-workers intКоличество параллельных рабочих процессов определения версии службы (по умолчанию 25)
-sV-probes stringПуть к пользовательскому файлу nmap-service-probes (автоматически определяется из локальной установки nmap, если пусто)
-sDОбнаружение служб (сопоставление номера порта с именем службы, без активного зондирования)