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.
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