Network Mapper or NMAP is powerful open source network scanner, which may scan network hosts, subnets and ports. NMAP may be used as CLI tool or with GUI (Zenmap). Today we show how it works in command line interface.
How to install in Debian-like systems:
sudo apt install nmap -y
After installation complete, check with nmap --help
command:
user@localhost:~$ nmap --help
Nmap 7.93 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
...
Host scanning. In case you want to scan one network node just give it's IP address or domain name to NMAP:
nmap 192.168.8.198
Result:
user@localhost:~$ nmap 192.168.8.198
Starting Nmap 7.93 ( https://nmap.org ) at 2024-12-15 19:15 +05
Nmap scan report for 192.168.8.198
Host is up (0.00015s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.31 seconds
Here we see opened and listen 80 port.
For getting more information about target try agressive scan using -A
key:
nmap -A example.com
Result:
user@localhost:~$ nmap -A example.com
Starting Nmap 7.93 ( https://nmap.org ) at 2024-12-15 19:17 +05
Nmap scan report for example.com (93.184.215.14)
Host is up (0.24s latency).
Other addresses for example.com (not scanned): 2606:2800:21f:cb07:6820:80da:af6b:8b2c
Not shown: 996 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
80/tcp open http ECAcc (dcd/7D26)
|_http-title: Example Domain
| fingerprint-strings:
| GetRequest:
| HTTP/1.0 404 Not Found
| Content-Type: text/html
| Date: Sun, 15 Dec 2024 14:18:07 GMT
| Server: ECAcc (dcd/7D26)
| Content-Length: 345
| Connection: close
| <?xml version="1.0" encoding="iso-8859-1"?>
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
...
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 93.92 seconds
Lets try with disabled ping-requests. -Pn
key disable ping requests, for example if you want pass firewall unnoticed:
nmap -A -Pn 192.168.8.180
Result:
user@localhost:~$ nmap -A -Pn 192.168.8.180
Starting Nmap 7.93 ( https://nmap.org ) at 2024-12-15 19:21 +05
Nmap scan report for 192.168.8.180
Host is up (0.0086s latency).
Not shown: 980 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp filtered ftp
23/tcp filtered telnet
80/tcp filtered http
110/tcp filtered pop3
113/tcp filtered ident
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
143/tcp filtered imap
199/tcp filtered smux
256/tcp filtered fw1-secureremote
445/tcp filtered microsoft-ds
554/tcp filtered rtsp
995/tcp filtered pop3s
1025/tcp filtered NFS-or-IIS
2638/tcp filtered sybase
3306/tcp filtered mysql
3389/tcp filtered ms-wbt-server
5900/tcp filtered vnc
8888/tcp filtered sun-answerbook
9011/tcp filtered d-star
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.64 seconds
Scan entire subnet. This command return scan results from 192.168.8.1 to 192.168.8.255:
nmap 192.168.8.0/24
Finding MAC addresses of connected devices:
sudo nmap -sP 192.168.8.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "$3;}' | sort
Result:
user@localhost:~$ sudo nmap -sP 192.168.8.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "$3;}' | sort
192.168.8.198 => XX:XX:XX:XX:XX:XX
192.168.8.150 => XX:XX:XX:XX:XX:XX
192.168.8.8 => XX:XX:XX:XX:XX:XX
These methods may be used for operation system or firmware version detection:
sudo nmap -v -Pn -O 192.168.8.110
sudo nmap -vv -O 192.168.8.110
sudo nmap -T4 -A 192.168.8.110
sudo nmap -sV 192.168.8.110
Top comments (0)