Como verificar quais portas estão abertas, com nmap

O nmap e o netstat são ferramentas tradicionais de monitoramento da rede no Linux e no UNIX.
O primeiro é comumente usado em filmes sobre hackers (ou crackers), por que tem uma “saída bonitinha” 😉
nmap list listening ports
Recentemente escrevi sobre como mudar a porta de escuta do servidor SSH, como medida bastante efetiva de segurança contra ataques. Neste caso, é útil saber quais portas estão em uso, para evitar conflitos entre serviços no seu sistema.
Neste contexto, o nmap e o netstat também podem ajudar a descobrir pontos vulneráveis do seu sistema.
Veja um exemplo de uso do nmap:


sudo nmap -sT -O localhost 

[sudo] senha para justincase:          

Starting Nmap 7.50 ( https://nmap.org ) at 2017-07-03 16:33 -03
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000092s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
631/tcp open  ipp
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.8 - 4.9
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.61 seconds

Destaquei, acima, o trecho em que se exibe as portas abertas (open). Aqui é mais adequado usar o comando grep, para filtrar e exibir apenas os números das portas abertas:


sudo nmap -sT -O localhost | grep -i open

22/tcp  open  ssh
631/tcp open  ipp

Entenda melhor o comando:

  • -sT — trata-se de uma opção inteira, como é possível ver no manual do comando (use ‘man nmap’, para ver mais).
    Esta opção manda o nmap fazer um rastreio da conexão TCP.
  • -O — faz a tentativa de detectar o sistema operacional sobre o qual está sendo pedida a varredura.
    A detecção permite habilitar testes específicos da plataforma analisada durante o processo.

Se acrescentarmos a opção -A, podemos obter detalhamentos da versão do sistema operacional e dos daemons:


sudo nmap -sT -O -A localhost | grep -i open

22/tcp  open  ssh     OpenSSH 7.5p1 Debian 5 (protocol 2.0)
631/tcp open  ipp     CUPS 2.2

Inclua as portas relacionadas ao protoclo UDP também:


sudo nmap -sT -sU localhost

Starting Nmap 7.50 ( https://nmap.org ) at 2017-07-03 17:26 -03
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00017s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 1994 closed ports
PORT     STATE         SERVICE
22/tcp   open          ssh
631/tcp  open          ipp
68/udp   open|filtered dhcpc
631/udp  open|filtered ipp
1900/udp open|filtered upnp
5353/udp open|filtered zeroconf

Nmap done: 1 IP address (1 host up) scanned in 2.81 seconds

Você pode combinar as opções do comando acima — com a obtenção do mesmo resultado – da seguinte forma:


sudo nmap -sTU localhost

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *