How to Install Nmap on Debian 12, 11 or 10

Nmap is invaluable for network analysis and security on Debian systems, including Debian 12 Bookworm, Debian 11 Bullseye, and Debian 10 Buster. Understanding its multifaceted features and advantages is crucial for optimizing its use.

Core Attributes of Nmap on Debian:

  • Versatile Scanning: Nmap is capable of scanning both IPv4 and IPv6 networks and supports a range of techniques, from ping scans and port scans to advanced OS and service version detections.
  • Purpose-Driven: Ideal for network exploration, security assessments, vulnerability identification, and penetration testing, Nmap meets diverse security and analysis needs.
  • Scripting Engine: Nmap’s built-in scripting engine allows users to create custom scripts, automate complex scanning tasks, and enable dynamic interactions with target systems.
  • Comprehensive Reporting: Generate detailed reports in XML, HTML, and grepable text formats for in-depth analysis and streamlined data processing.
  • Command-Line Mastery: Nmap’s robust command-line interface provides flexibility to fine-tune scans, optimizing performance and output.

Nmap is a cornerstone of network security and analysis. It offers robust features and is adaptable to Debian distributions. Its versatile capabilities make it an essential tool for maintaining network integrity and security.

With the introduction out of the way, let’s explore how to install Nmap on Debian, utilizing terminal commands and various methods.

Method 1: Install Nmap via Debian’s Default Repository

Update Debian Linux Before Nmap Installation

Before proceeding with the installation process, ensuring that your system packages are up-to-date is essential. This can be achieved by executing the following command in the terminal:

sudo apt update && sudo apt upgrade

By doing so, you can avoid any conflicts during the installation or operation of Nmap.

Install Nmap via APT Command

Once you have ensured that your system packages are up-to-date, you can proceed with the Nmap installation process. Fortunately, Nmap is available in Debian’s default repository, making the installation process straightforward. You can install Nmap by executing the following command in the terminal:

sudo apt install nmap

This will install Nmap on your Debian system.

Verify Nmap Installation

After the installation, verifying that Nmap is installed correctly is essential. To do so, execute the following command in the terminal:

nmap --version

This command will display the version number and additional information about the installed version of Nmap. If Nmap is installed correctly, you will see the version number and details about the installation.

Method 2: Install Nmap via source

In some situations, users might need the latest version of Nmap, and the version in Debian’s repositories might not be good enough. Compiling Nmap from its source code can solve this problem, providing the newest features and updates. This method requires more steps and frequent updates, but it can be helpful for advanced users or those with specific needs.

Install Initial Required Packages for Nmap

Before looking at the source code, we must prepare our system with the necessary tools. The build-essential package includes important packages for compiling Debian software, including tools like the gcc compiler and make. Installing this package is essential to compiling and building Nmap from its source.

To proceed, open your terminal and input:

sudo apt install build-essential libssh2-1-dev libssl-dev python3-distutils

Download Nmap Source Archive

Our next move is to fetch the Nmap source code. The official Nmap download page is the trusted source for this. We’ll employ the wget command to download the current stable release for this guide. It’s worth noting that the version might change over time. As of this guide, the latest stable release is 7.94. However, always refer to the download page for the most recent version and adjust your command accordingly.

To fetch the Nmap source code, execute:


Note: Visit the download page to get the latest version! This command is just an example and will soon be outdated.

Extract Nmap Source Archive

With the Nmap source code in hand, our next task is to unarchive the files. To achieve this, run:

bzip2 -cd nmap-7.94.tar.bz2 | tar xvf -
cd nmap-7.94

Note: Remember to adjust the example command to the version you downloaded.

Proceed with Nmap Build Configuration

We’re now at a stage where we can initiate the configuration process. This step tailors the Nmap source code for your specific Debian system, ensuring both compatibility and peak performance. To set up the build configuration, input:

./configure --with-localdirs

Compile Nmap Source via make

With our build ready, it’s time to compile the source code. The make command facilitates this, interpreting the Makefile in the Nmap source directory to compile the source code:


Install Nmap via make install Command

Having compiled the source code, we’re now poised to install Nmap. This phase situates the compiled software in the relevant directories of your system. To finalize the Nmap installation, run:

make install

If the command fails to install, you may need to run “sudo” in front of “make install.”

Confirming the Nmap source Installation

Post-installation, verifying that Nmap has been accurately installed from the source and reflects the latest version is paramount. To authenticate this, execute:

nmap --version

This command will reveal the installed Nmap version, which should align with the source code version you procured. Congratulations, you’ve adeptly compiled and installed the most recent version of Nmap from source on your Debian system.

Basics of Nmap Command Examples

To become familiar with Nmap, it is important to have a basic understanding of its commands. These commands are essential to utilize the full functionality of Nmap.

Nmap Port States Definitions

When scanning for open ports on a target system, Nmap reports the state of each port it probes. The following table outlines the different port states that Nmap may report:

Port StateDescription
OpenThe target port is unfiltered, meaning that Nmap was able to determine whether it was open or closed. This state is often reported when the target system is behind a load balancer or a packet filtering device.
ClosedThe target port is closed, which is reachable but not accepting connections. This state suggests that a firewall or other security mechanism blocks incoming traffic to the port.
FilteredThe target port is filtered, meaning that Nmap could not determine the state of the port due to firewall rules or other security mechanisms that prevented the probes from reaching the target.
UnfilteredThe target port is unfiltered, meaning that Nmap was able to determine whether the port is open or closed. This state is often reported when the target system is behind a load balancer or a packet filtering device.

Nmap Basic Commands

The following sections provide an overview of some basic Nmap commands.

Scan Host:

To scan a host, whether internal or external, you can use the following command:

nmap [IP address] or [website address]

Alternatively, you can scan internally using the following command:

nmap localhost

To perform a scan quickly, you can use the -F flag:

nmap -F [IP address] or [website address]

When scanning, if you want to scan specific hosts, you can specify.

nmap [IP address],[IP address],[IP address]

If you want to scan specific hosts, you can specify them using the following command:

nmap [IP address],[IP address],[IP address]

Operating System Scan:

To initiate an operating system scan, you can use the following command:

nmap -O --osscan-guess [IP address] or [website address]

Port Specification and Scan Order:

To initiate a custom port scan, you can use the -p flag followed by the ports you wish to scan:

nmap –p 80,443,8080,9090 [IP address] or [website address]

Services Scan:

To initiate a services scan, you can use the following command:

nmap -sV [IP address] or [website address]


To initiate a TCP SYN scan, you can use the following command:

nmap -sS [IP address] or [website address]

Nmap Help:

Overall, Nmap has many features and combinations. To learn more about these, you can use the following command to bring up the list of commands and optional flags that can be used with your scans:

nmap --help

By utilizing these basic Nmap commands, you can perform effective network scans, identify vulnerabilities, and enhance the security of your system.

Additional Tips on Nmap

Remove (Uninstall) Nmap

Removing the Packaged Version of Nmap

If you installed Nmap using the package manager (apt), you can uninstall it with the following command:

sudo apt remove nmap

This command will remove Nmap and any associated configuration files. If you also want to remove the dependencies that were installed with Nmap and are no longer used by any other programs, you can use:

sudo apt autoremove

Removing the Compiled Version of Nmap

The removal process is slightly different if you’ve compiled Nmap from source and installed it. Typically, if you used make install to install Nmap, you can navigate to the source directory and use make uninstall to remove it. However, not all Makefiles include an uninstall target.

Navigate to the Nmap source directory:

cd /path/to/nmap/source/directory

Then run the following command:

sudo make uninstall

You should see something similar below:

running uninstall
Removing '/usr/local/lib/python3.11/dist-packages/'.
Removing '/usr/local/lib/python3.11/dist-packages/__pycache__/ndiff.cpython-311.pyc'.
Removing '/usr/local/bin/ndiff'.
Removing '/usr/local/share/man/man1/ndiff.1'.
Removing '/usr/local/bin/uninstall_ndiff'.
make[1]: Entering directory '/home/joshua/nmap-7.94/nping'
rm -f /usr/local/bin/nping
rm -f /usr/local/share/man/man1/nping.1
make[1]: Leaving directory '/home/joshua/nmap-7.94/nping'

joshua@debian:~/nmap-7.94$ nmap --version
bash: /usr/local/bin/nmap: No such file or directory


To conclude, this guide explained how to install Nmap on a Debian system. We covered preparing your system, installing Nmap, and verifying the installation. With Nmap, you can explore and check networks, find weaknesses, and improve your system’s security. Follow these steps, and you will have a powerful tool for network analysis.

Joshua James
Follow me
Latest posts by Joshua James (see all)