Esse ferramental costuma vir instalado em distribuições voltadas para segurança da informação, como o Kali 
Linux. Estou pressupondo que o leitor desse material utiliza uma voltada para o cotidiano, como o Debian ou o Ubuntu.
Para instalar o Nmap no Debian/Ubuntu, execute o seguinte comando como usuário root:
# apt -y install nmap
Estado das portas no escaneamento do Nmap:
-  O Nmap pode ser usado através de linha de comando ou em uma interface gráfica, embora nesse material nos concentremos no console.
-  Sua saída será uma lista contendo alvos, e/ou dispositivos rastreados, com informações adicionais de cada um. Uma das informações obtidas pelo rastreamento é uma tabela de portas, que exibe o número de porta, protocolo, nome do serviço e estado que pode ser aberto, filtrado, não filtrado ou fechado.
-  Se o estado for aberto, indica que o serviço, ou a aplicação, no servidor escaneado está em execução.
-  Quando o estado é filtrado, indica que o Firewall está bloqueando a porta e não permite que o Nmap diga se ela está aberta ou fechada.
-  Já no estado fechado, indica que a aplicação não está escutando na porta.
-  As portas classificadas como não filtradas, indicam que elas respondem o Nmap, mas ele por sua vez, não consegue determinar se determinada porta se encontra no estado aberto ou fechado.
Exemplos de escaneamento e exploração de redes
Irei expor alguns exemplos de utilização do Nmap, para que o leitor entenda melhor seu funcionamento, utilizando a linha de comandos.
1. Escaneamento básico do Nmap:
 nmap 1.1.1.1
Caso você queira utilizar o hostname, basta trocar o IP pelo hostname.
 nmap cloudflare.com
O resultado será algo como:
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:43 -03
Nmap scan report for one.one.one.one (1.1.1.1)
Host is up (0.019s latency).
Not shown: 995 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh
25/tcp  filtered smtp
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
Nmap done: 1 IP address (1 host up) scanned in 8.55 seconds
~$
2. Escanear portas específicas:
Para escanear todas as portas entre 1 e 65535, na máquina local, utilize:
 nmap -p 1-65535 localhost
Para escanear as portas 80 (http) e 443 (https) em um IP:
 nmap -p 80,443 8.8.8.8
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:44 -03
Nmap scan report for google-public-dns-a.google.com (8.8.8.8)
Host is up (0.021s latency).
PORT    STATE    SERVICE
80/tcp  filtered http
443/tcp open     https
Nmap done: 1 IP address (1 host up) scanned in 7.96 seconds
3. Escanear vários IPs, ou vários hostnames:
Para realizar o escaneamento nos IPs 1.1.1.1 e 8.8.8.8, utilize:
 nmap 1.1.1.1 8.8.8.8
Já para realizar a verificação em uma sequência de IPs (1.1.1.1, 1.1.1.2, 1.1.1.3 e 1.1.1.4):
 nmap -p 1.1.1.1,2,3,4
4. Escanear faixas de IPs:
Realizar o escaneamento em 14 IPs consecutivos (8.8.8.1 até o 8.8.8.14):
 nmap -p 8.8.8.0/28
Ou:
 nmap 8.8.8.1-14
Escanear todo a classe C de um IP (256 IPs - 8.8.8.1 até 8.8.8.256):
 nmap  8.8.8.*
Caso queira excluir um IP da lista que será analisada, utilize --exclude:
 nmap -p 8.8.8.* --exclude 8.8.8.1
5. Escanear as portas populares na WEB:
Usando o parâmetro "top-ports" junto com o número de portas, como 20, viabiliza que sejam escaneadas as 20 portas mais populares.
 nmap --top-ports 20 192.168.15.209
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:46 -03
Nmap scan report for 192.168.15.209
Host is up (0.00022s latency).
PORT     STATE  SERVICE
21/tcp   closed ftp
22/tcp   open   ssh
23/tcp   closed telnet
25/tcp   closed smtp
53/tcp   closed domain
80/tcp   closed http
110/tcp  closed pop3
111/tcp  closed rpcbind
135/tcp  closed msrpc
139/tcp  closed netbios-ssn
143/tcp  closed imap
443/tcp  closed https
445/tcp  closed microsoft-ds
993/tcp  closed imaps
995/tcp  closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp open   http-proxy
 nmap --top-ports 20 google.com
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:47 -03
Nmap scan report for google.com (64.233.185.139)
Host is up (0.25s latency).
Other addresses for google.com (not scanned): 64.233.185.102 64.233.185.101 64.2       33.185.100 64.233.185.113 64.233.185.138 2800:3f0:4001:810::200e
rDNS record for 64.233.185.139: yb-in-f139.1e100.net
PORT     STATE    SERVICE
21/tcp   filtered ftp
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
53/tcp   filtered domain
80/tcp   open     http
110/tcp  filtered pop3
111/tcp  filtered rpcbind
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
143/tcp  filtered imap
443/tcp  open     https
445/tcp  filtered microsoft-ds
993/tcp  filtered imaps
995/tcp  filtered pop3s
1723/tcp filtered pptp
3306/tcp filtered mysql
3389/tcp filtered ms-wbt-server
5900/tcp filtered vnc
8080/tcp filtered http-proxy
Nmap done: 1 IP address (1 host up) scanned in 12.18 seconds
6. Salve o resultado do escaneamento em um arquivo:
Em muitos casos, será interessante salvar o resultado em um arquivo de texto, para análise no momento ou posterior, além da viabilidade de enviar por e-mail. Para isso, podemos utilizar o parâmetro "-oN" ou "-oX". Para gerar um arquivo de texto, utilize o "-oN".
 nmap -oN resultados.txt google.com
Caso seja necessário, os resultados podem ser armazenados em um arquivo XML, será necessário o "-oX".
 nmap -oX resultados.xml google.com
7. Desabilitar a resolução de nomes via DNS:
Para que o escaneamento seja mais rápido e mais discreto, a resolução de nomes via DNS pode ser desabilitada com a opção "-n":
 nmap -p 80 -n 8.8.8.8
8. Escaneamento que detecta o S.O. (Sistema Operacional) de um servidor:
O uso do parâmetro "-A" permite a detecção do S.O. no servidor destino, ficando ainda mais rápido junto com o "-T4". Veja esse exemplo:
 nmap -A -T4 drsolutions.com.br
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 13:03 -03
Nmap scan report for drsolutions.com.br (45.34.14.127)
Host is up (0.16s latency).
rDNS record for 45.34.14.127: playadelsol18.com
Not shown: 994 filtered ports
PORT     STATE  SERVICE  VERSION
53/tcp   closed domain
80/tcp   open   http     Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: Did not follow redirect to https://drsolutions.com.br/
443/tcp  open   ssl/http Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: drSolutions - Ag\xC3\xAAncia Digital - Sites, Marketing A drSolution...
| ssl-cert: Subject: commonName=drsolutions.com.br
| Subject Alternative Name: DNS:drsolutions.com.br, DNS:hospedagem.drsolutions.com.br, DNS:suporte.drsolutions.com.br, DNS:tarefas.drsolutions.com.br, DNS:treinamentos.drsolutions.com.br, DNS:www.drsolutions.com.br
| Not valid before: 2019-04-15T22:37:25
|_Not valid after:  2019-07-14T22:37:25
|_ssl-date: TLS randomness does not represent time
993/tcp  closed imaps
995/tcp  closed pop3s
8080/tcp open   ssl/ssl  Apache httpd (SSL-only mode)
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Apache/2.4.25 (Debian)
| http-title: 400 Bad Request
|_Requested resource was /login/
| ssl-cert: Subject: commonName=server.zhap.com.br/organizationName=drSolutions/stateOrProvinceName=SP/countryName=BR
| Not valid before: 2019-04-08T13:02:13
|_Not valid after:  2029-04-05T13:02:13
|_ssl-date: TLS randomness does not represent time
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 67.57 seconds
9. Detectar serviços e suas versões:
Essa detecção pode ser realizada com os parâmetros "-sV".
 nmap -sV vivaolinux.com.br
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 13:08 -03
Nmap scan report for vivaolinux.com.br (54.233.68.155)
Host is up (0.017s latency).
rDNS record for 54.233.68.155: ec2-54-233-68-155.sa-east-1.compute.amazonaws.com
Not shown: 994 filtered ports
PORT     STATE  SERVICE    VERSION
22/tcp   open   ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp   open   http       nginx 1.14.0
443/tcp  open   https?
3000/tcp closed ppp
8000/tcp closed http-alt
8443/tcp open   https-alt?
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 30.27 seconds
10. Escaneamento em protocolos TCP ou UDP:
Escaner básico utilizando o protocolo TCP, utilizando "-sT":
 nmap -sT 1.1.1.1
Escaner básico utilizando o protocolo UDP, utilizando "-sU":
# nmap -sU 1.1.1.1
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 13:12 -03
Nmap scan report for one.one.one.one (1.1.1.1)
Host is up (0.017s latency).
Not shown: 981 closed ports
PORT      STATE         SERVICE
7/udp     open|filtered echo
13/udp    open|filtered daytime
19/udp    open|filtered chargen
67/udp    open|filtered dhcps
123/udp   open|filtered ntp
135/udp   open|filtered msrpc
136/udp   open|filtered profile
137/udp   open|filtered netbios-ns
138/udp   filtered      netbios-dgm
139/udp   open|filtered netbios-ssn
161/udp   open          snmp
445/udp   open|filtered microsoft-ds
520/udp   open|filtered route
1645/udp  open|filtered radius
1646/udp  open|filtered radacct
1812/udp  open|filtered radius
1813/udp  open|filtered radacct
2000/udp  open|filtered cisco-sccp
49152/udp open|filtered unknown
11. Utilizar o spoofing do IP:
Ao realizar um escaneamento, pode ser necessário realizar o spoofing do IP, ou seja, esconder o IP de origem do escaneamento. Isso pode ser feito com a opção "-S":
 nmap -S 10.10.10.5 192.168.15.210
Nesse escaneamento, caso alguém esteja monitorando os pacotes, o IP de origem será 10.10.10.5, ao invés do IP real de minha máquina.