Skip to content
Related Articles
Get the best out of our app
Open App

Related Articles

How to install and use Naabu in Windows

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Enumeration and Scanning are integral parts of the Security Research Process. Getting information about the network structure of the target domain is very important. Automation Intelligence tools help us in improving the security research process and save lots of time. So Naabu is an automated tool that is used for Port Discovery. It is a fast port scanner tool that is written in Golang language that offers you to enumerate valid ports for target domains quickly and efficiently. It is a straightforward tool that does fast SYN scans on the host/list of hosts and lists all ports that return a reply.

Note: As Naabu is a Golang language-based tool, so you need to have a Golang environment on your system.

Features of Naabu Tool

  • It is simple and has a modular codebase, which makes it easier to contribute.
  • It is Quicker and Simpler in SYN probe-based scanning.
  • It supports multiple output formats like JSON, file, Stdout.
  • It is optimized for ease of use and lightweight resources.
  • It has Stdin and stdout support for integrating into workflows.
  • It has Flexible definitions for ports to scan.

Installation of Naabu Tool in Windows 10 OS

Step 1: Download the Nabbu Tool .zip File from Github, use the following link to download.

Step 2: Unzip the Zip File using WinRar for Default System Extractor.

Right Click -> Extract Here

Step 3: Open the Command Prompt from the Nabbu Directory.

Type cmd on Address Bar

Type cmd to open Command Prompt from Working Directory

Step 4: Check the help menu page to get a better understanding of Naabu tool, use the following command.

naabu.exe -h

Now we are on the Command Prompt from the Naabu Directory.

Check the Help Menu Page using naabu.exe -h command.

Working with Naabu Tool in Windows 10

Example 1: Simple Host Scan (Single Host)

In this example, we are specifying only a single host for scanning ( Naabu will scan the host and output the results in the command line itself. -host tag is used to give input as the host to scan.

nabbu.exe - host

Example 2: Port Scan on Host

In this example, we are explicitly giving the ports to be scanned on the host You can see that we have given 80,443,21-23 ports to be scanned on the host. -p tag is used for scanning ports on host. -p – is used to scan all ports.

naabu.exe -p 80,443,21-23 -host

Example 3: Excluding Ports to Scan on Host

In this example, we are filtering or excluding some results. We have given 443 port numbers to be excluded from the results. You can see that while scanning ports 80,443 naabu has only resulted 80 port number on -exclude-ports tag is used.

naabu.exe -p 80,443 -exclude-ports 443 -host

Example 4: Saving the Output in File Format

In this example, we are storing output permanently in a txt file on our system. As on the command line, it vanishes when we close the window, so to store it permanently we provide -o tag with the output storing filename. 

naabu.exe -host -o output.txt

In the below screenshot, the results of the above scan are stored in the output.txt file on our system. It stores permanently rather than the command line.

Example 5: Multiple Hosts Scan

1. In this example, Naabu is provided to run a port scans on multiple hosts same instance. So in the below screenshot, we have given three hosts in hosts.txt file.


naabu.exe -iL C:\Users\Gaurav\Downloads\naabu_2.0.4_windows_amd64\hosts.txt.txt

In the below screenshot, we are scanning ports for multiple hosts which are fetched from the hosts.txt file. -iL tag is used to use multiple hosts file.

Example 6: Saving the Output in JSON Format

In this Example. we are displaying our output in the format of JSON. As stated above Naabu allows to store and display output in various formats. -json tag is used here.

naabu.exe -host -json

Example 7: Using Pipe to filter Results

In this example, we are filtering results using the pipe (|) operator. You can see in the previous examples when we are starting our scan there is some caution message.

Use with caution. You are responsible for your actions

Developers assume no liability and are not responsible for any misuse or damage.

[←[34mINF←[0m] Running CONNECT scan with non root privileges

[←[34mINF←[0m] Found 2 ports on host (

So using the -silent tag along with pipe operator can remove the unnecessary message:

echo | naabu.exe -silent

Example 8: Second Layer Validation

In this example, we are instructing the tool to make a TCP connection for every port and verify if the connection succeeded.

naabu.exe -host -verifynaabu.exe -host -verify

Example 9: Nmap Integration

In this example, we are integrating naabu with nmap tool for more detailed results. -nmap-cli tag is used to give the nmap query in the form of a command line.

naabu -iL ip.txt -p 443,80 -stats -nmap-cli ‘nmap -sV -oX naabu-output.xml’

Example 10: CDN Exclusion

In this example, Naabu also supports excluding CDN IPs being port scanned. If used, only 80 and 443 ports get scanned for those IPs. This feature can be enabled by using exclude-cdn flag.

naabu.exe exclude-cdn cloudflare -host

My Personal Notes arrow_drop_up
Last Updated : 02 Oct, 2022
Like Article
Save Article
Similar Reads