Categories
Tutoriais

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

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

By 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!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.