nmap
nmap (“Network Mapper”) e’ uma ferramenta para explorar e auditar networks.
“Good neighbors always spy on you to make sure you are doing well.”
– Pawan Mishra
TLTR
Como o nmap tem milhoes de combinacoes de configuracoes, vou apresentar as que mais uso e no final um resumo das configuracoes que conheco/uso. Recomendo que invista tempo e energia para ler o manual completo do nmap.
Target
Assuma <target>
como um IP Address, Subnet ou
hostname. Exemplos:
- IP Address: 8.8.8.8
- Subnet: 192.168.0.0/24
- Hostname: umgeher.org
Dia a dia…
Para identificar um host, normalmente eu uso as seguinte configuracoes.
nmap -sV -sS -O <target>
Com isso ele devolve quais portas estao abertas ou filtradas, quantas estao fechadas. Nome e versao de cada servico que esta’ atras da porta descoberta. Alem da identificacao do sistema operacional.
Configuracoes
Alguns, para nao falar varias, configuracoes podem ser usadas em conjunto. E basicamente quase todas as configuracoes devem ser rodados com um superuser.
Aqui separei em tres categorias:
- Discovery e Identificacao - sao as configuracoes para voce identificar e fazer discovery dos seus targets.
- Performance - configuracoes de como o nmap vai se comportar com delay e agressividade dos scans.
- Output - configuracoes de output
Discovery e Identificacao
Configuracoes para discovery e identificacoes de targets.
- -6 - utiliza IPv6
- -A - modo agressivo… o mesmo que usar -O, -sC, -sV e –traceroute
- –dns-servers - informa enderecos dos DNS servers a serem utilizados
- -e - informa a interface de rede a ser usada
- -iL - “input from list”, use um arquivo como uma lista de targets
- -O - ativa a identificacao do sistema operacional
- -Pn - trata todos os targets como online
- -PS - envia um packet com SYN flag para a porta definida, em caso de nao informar a porta, o padrao e’ a 80
- -PU - envia um packet UDP para a porta definida, em caso de nao informar a porta, o padrao e’ a 40125
- -sn - scan sem port ping
- -sC - executa o scan usando o script default
- -sV - executa a identificacao dos servicos em cada porta encontrada
- –traceroute - ativa o modo traceroute
Performance
Configuracoes para controlar o tempo e velocidade dos scans.
- -T0 - modo paranoico, envia o packet a cada 5 minutos. praticamente nao da’ para usar
- -T1 - aguarda 15s para enviar cada packet
- -T2 - aguarda 0.4s para enviar cada packet
- -T3 - modo default do nmap
- -T4 - forca o tempo de timeout para 1250ms
- -T5 - forca o tempo de timeout para 300ms
Output
Configuracoes de output.
- -oG - grep mode!
- -oN - normal, o default do nmap
- -oS - s|<rIp7 k1dd13
- -oX - xml
Basicamente, se voce estiver apenas vendo no terminal, nao use opcao de output. Caso queria guardar o resultado, utilize -oG. Todas essas 4 opcoes precisam do nome do arquivo para fazer o storage. Exemplo:
nmap -A -oG result-nmap-grep <target>
Scripts
O nmap tem o rescurso de voce executar scripts. Vou escrever sobre eles no futuro. Mas um exemplo basico. Descobrir quais methods o HTTP Server aceita.
nmap -p80,443 --script http-methods --script-args httpmethods.test-all=true <target>
Curiosidades
Zine
O nmap foi publicado pela primeira vez na antiga e otima zine phrack, em 1997-09-01. O codigo fonte foi publicado na propria zine. Veja o artigo aqui. Nostalgia pura!
POP
Varios filmes, series e animes usam o nmap em cenas de “hacking”. O site oficial tem uma lista deles, caso queira ver.
Articles from blogs I follow around the net
j2k25 - OpenBSD Hackathon Japan 2025 (rsadowski@)
Fresh from the just concluded j2k25 hackathon in Nara, Japan, Rafael Sadowski (rsadowski@) has published his report on his blog: Week 2: The j2k25 Japan Hackathon We arrived in Nara during the late afternoon. After checking into our hotel, goda@, my wife and I…
via OpenBSD Journal 2025-06-01 10:42How to trigger a command on Linux when disconnected from power
# Introduction After thinking about BusKill product that triggers a command once the USB cord disconnects, I have been thinking at a simple alternative. => https://www.buskill.in BusKill official project website When using a laptop connected to power …
via Solene'% 2025-05-31 00:00Improved (maybe) indenting on save
I realized that sometimes identing the whole buffer might not be the desired output. That because if the file is on different identation, your git commit might be hard to follow. Because of that I studied a bit emacs lisp and came up with similar idea. On …
via Lucas E M M. opinions 2025-05-30 11:30Generated by openring
/comments ~umgeher/changelog@lists.sr.ht?Subject=Re: nmap
/permalink https://umgeher.org/posts/2022/02/nmap.html