Use o Nmap para saber quais os portos abertos nos PCs
Certamente que já ouviram falar em serviços/aplicações que usam o protocolo TCP ou UDP. Os protocolos TCP e UDP pertencem à camada 4 do modelo OSI (camada de transporte) e em traços gerais, em conjunto com o porto e IP da máquina, definem como uma determinada informação é transmitida na rede.
Numa máquina existem 65.536 portos TCP que podem ser usadas pelas mais diversas aplicações/serviços, o que (teoricamente) poderíamos ter 65.536 aplicações/serviços distintos a correr em simultâneo na nossa máquina. Relembrando o que foi referido em artigos anteriores: o IP identifica a máquina e o porto identifica a aplicação/serviço. Além das portos TCP temos também 65.536 portos UDP. Mas como saber quais o portos abertos num PC?
O Nmap (“Network Mapper”) é um ferramenta muito usada para realizar auditorias ao nível da segurança em redes informáticas (esta ferramenta é também muito usada por hackers que a usam para avaliar remotamente quais os portos abertos numa determinada máquina, identificar qual o sistema operativo instalado na máquina remota e desta forma explorar as possíveis vulnerabilidades).
Funcionalidades mais importantes do Nmap:
- Identificação dos computadores de uma rede, por exemplo, a lista dos computadores que respondem a pings, ou que tenham um determinado porto aberto;
- Detecção de portos abertos em um ou mais computadores de destino;
- Identificação dos serviços de rede em computadores remotos para determinar o nome da aplicação e o número da versão que estão a executar num computador de destino;
- Detecção do sistema operativo e algumas características de hardware de dispositivos de rede;
O Nmap é uma ferramenta extremamente completa, sendo várias as opções disponíveis. O utilizar pode usar esta ferramenta no Linux ou então no Windows (ver aqui).
Alguns parâmetros do Nmap
- -sA– Verifica a versão de uma aplicação
- -sO– Verifica qual o sistema Operativo
- -sU– Verifica o estado dos portos UDP
- -sP– efectua ping
- -sV– versão dos serviços
- -sS– half-open scan (Para que a probabilidade do scan ser detectado por uma firewall seja menor)
- -p – indicar porto ou range de portos
Vamos a alguns exemplos:
Exemplo 1 – Saber os portos TCP abertos da máquina 192.168.10.200
nmap -sT 192.168.10.200 Nmap scan report for pplware.com (192.168.10.200) Host is up (0.015s latency). Not shown: 989 closed ports PORT STATE SERVICE 80/tcp open http 135/tcp open msrpc 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 912/tcp open unknown 990/tcp open ftps 3330/tcp open unknown 3389/tcp open ms-term-serv 5800/tcp open vnc-http 5900/tcp open vnc MAC Address: 05:45:3E:41:AB:DC |
Exemplo 2 – Saber se o porto 161 está aberto no range de IP’s 172.17.12.0-3
nmap -p 161 -sU 172.17.12.0-3 Interesting ports on 171.17.12.1: PORT STATE SERVICE 161/udp open|filtered snmp Interesting ports on 171.17.12.2: PORT STATE SERVICE 161/udp open|filtered snmp Interesting ports on 171.17.12.3: PORT STATE SERVICE 161/udp open|filtered snmp |
Exemplo 3 – Ter um inventário de todas as máquinas de uma determinada rede. Com o seguinte comando, podemos saber para cada PC da rede 192.168.10.0/24 quais os portos abertos, MacAddress, qual o sistema operativo, latência, etc.
nmap -sS -O -T3 -oA invent 192.168.10.0/24 Nmap scan report for 192.168.10.1 Host is up (0.0029s latency). Not shown: 993 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 10001/tcp open unknown 10002/tcp open unknown 10003/tcp open unknown 10004/tcp open unknown 10009/tcp open unknown MAC Address: 05:31:3E:41:AB:DC (Toshiba) Device type: general purpose Running: Microsoft Windows XP OS details: Microsoft Windows XP SP1 Network Distance: 1 hop |
Exemplo 4 – Verificar todos os portos disponíveis num PC. Por omissão, o Nmap apenas faz o scan a 1661 portos (os mais conhecidos). Se pretenderem que o Nmap faça um scan completo a todos os portos basta usarem o seguinte comando:
nmap -sS -p 0-65535 192.168.0.4 Nmap scan report for ab.pplware.com (192.168.0.4) Host is up (0.0039s latency). Not shown: 7989 closed ports PORT STATE SERVICE 80/tcp open http 135/tcp open msrpc 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 912/tcp open unknown 990/tcp open ftps 3300/tcp open unknown 3389/tcp open ms-term-serv 5800/tcp open vnc-http 5900/tcp open vnc 5938/tcp open unknown MAC Address: 05:31:3E:41:AB:DC Nmap done: 1 IP address (1 host up) scanned in 3.84 seconds |
O Nmap é sem duvida uma ferramenta extremamente interessante para identificação dos portos abertos num computador local ou remoto. Caso pretendam efectuar os testes seguintes na vossa própria máquina, devem trocar o endereço IP por 127.0.0.1. Estes foram alguns exemplos da utilização do Nmap mas ha muitos muitos mais. Se tiverem exemplos interessantes não se esqueçam de partilhar connosco.
Este artigo tem mais de um ano
Engraçado como começaste o artigo a dizer “portas” e depois já falas em “portos” 🙂
Anyway, nice one. 🙂
A não ser que ele já tenha corrigido, eu não vejo a palavra “portas” no artigo.
Mas para que se fique esclarecido a palavra correcta é “portos”.
Uma “porta” dum equipamento electrónico é a ficha física de dados.
O “porto” é uma entrada lógica.
Onde existe essa definição documentada? na wikipedia?
na documentação que vi da Microsoft e da Cisco em português está lá portas, mas admito que possa estar errado.
Deu-me todas as portas fechadas… Ou pus o ip errado ou isto por aqui está bem fechado. Caso haja duvidas fui às propriedades da placa de rede e coloquei o IP Adress, era esse certo?
Obrigado!
Para quem quer trabalhar em modo gráfico, pode fazer o download do interface zenmap. Chamo a atenção para a necessidade de ter permissões root. O comando correcto no menu é : gksu “zenmap %F”
Para ficar completo, era sabermos quais os programas que necessitam das portas abertas.
Boas NoName,
Isso depende dos serviços que tens instalados/a correr. Por exemplo, se tiveres um servidor http a correr na máquina, então o porto 80 deverá estar aberto. Dá uma espreitadela aqui neste post: https://pplware.sapo.pt/networking/quais-as-portas-abertas-no-meu-computador/
https://www.google.pt/search?sourceid=chrome&ie=UTF-8&q=port+scanner
porque que eu havia de querer usar nmap a outro port scanner que ande para ai? alem disso port scanners sao praticamente inuteis em maquinas protegidas com uma firewall decente