Descoberta de Hosts com Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, o objetivo é aprender a realizar a descoberta de hosts usando o Nmap. O laboratório abrange vários comandos Nmap para descoberta de hosts, incluindo a execução de um scan de ping na rede 192.168.1.0/24 com a opção -sn para desabilitar a varredura de portas, usando ping TCP SYN e ping ACK, e combinando diferentes pings. Também demonstra como visualizar hosts ativos no terminal Xfce. Além disso, demonstra a execução de um scan de ping no endereço localhost enquanto desabilita a varredura de portas.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Recebeu uma taxa de avaliações positivas de 97% dos estudantes.

Executar Varredura de Ping com Nmap

Neste passo, você executará uma varredura de ping básica usando o Nmap para identificar hosts ativos em uma rede. Uma varredura de ping, também conhecida como descoberta de hosts, é uma técnica fundamental para determinar quais hosts estão online. O Nmap envia várias sondagens para cada endereço IP na faixa especificada e analisa as respostas para identificar hosts ativos. A opção -sn no Nmap desabilita a varredura de portas, tornando a varredura mais rápida e menos intrusiva do que uma varredura de portas completa.

192.168.1.0/24 é uma notação CIDR que representa uma rede. O /24 indica que os primeiros 24 bits do endereço IP são fixos, definindo a rede, e os 8 bits restantes são usados para endereços de host dentro dessa rede. Isso se traduz em uma faixa de endereços IP de 192.168.1.1 a 192.168.1.254.

Para executar uma varredura de ping na rede 192.168.1.0/24, abra seu terminal (se ainda não estiver aberto) e execute o seguinte comando:

sudo nmap -sn 192.168.1.0/24

Este comando instrui o Nmap a executar uma varredura de ping em todos os endereços IP dentro da rede 192.168.1.0/24. O comando sudo é usado porque o Nmap frequentemente requer privilégios elevados para enviar certos tipos de pacotes de rede.

Neste ambiente de laboratório, a rede 192.168.1.0/24 não contém nenhum host ativo, portanto, você verá uma saída semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:49 CST

A varredura é concluída sem exibir relatórios de hosts, indicando que nenhum host respondeu às sondagens de ping nesta faixa de rede. Em um cenário do mundo real com hosts ativos, você veria uma saída como:

Starting Nmap 7.XX ( https://nmap.org ) at YYYY-MM-DD HH:MM ZZZ
Nmap scan report for 192.168.1.1
Host is up (0.000XXs latency).
Nmap scan report for 192.168.1.10
Host is up (0.002XXs latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.XX seconds

Em seguida, você executará uma varredura de ping no endereço localhost (127.0.0.1) enquanto desabilita a varredura de portas. Isso demonstra como usar a opção -sn especificamente para descoberta de hosts sem iniciar uma varredura de portas completa. Isso é útil quando você deseja apenas verificar se um host está ativo e evitar varreduras de portas potencialmente ruidosas ou demoradas.

127.0.0.1 é o endereço de loopback, também conhecido como localhost. Ele sempre se refere à máquina atual. Pingar o localhost é uma maneira rápida de verificar se a interface de rede está funcionando corretamente.

Para executar uma varredura de ping no localhost sem varredura de portas, execute o seguinte comando em seu terminal:

sudo nmap -sn 127.0.0.1

Este comando instrui o Nmap a executar uma varredura de ping no endereço 127.0.0.1. A opção -sn garante que o Nmap apenas execute a descoberta de hosts e não tente varrer nenhuma porta.

A saída indicará se o host está ativo. Ela deve ser semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:49 CST
Nmap scan report for localhost (127.0.0.1)
Host is up.
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

Esta saída confirma que o localhost (127.0.0.1) está ativo e funcionando. O Nmap apenas executou uma varredura de ping, conforme especificado pela opção -sn, e não varreu nenhuma porta.

Executar Varreduras de Ping TCP SYN e ACK

Neste passo, você utilizará o Nmap para executar varreduras de ping TCP SYN e ACK. Essas técnicas costumam ser mais confiáveis do que o ping ICMP, pois muitos firewalls bloqueiam o tráfego ICMP, mas permitem o tráfego TCP.

Primeiro, vamos tentar uma varredura de ping TCP SYN em 192.168.1.1 para demonstrar o que acontece quando um host não está acessível. Um ping TCP SYN envia um pacote TCP SYN para o host de destino. Se o host estiver ativo e escutando na porta especificada (ou qualquer porta por padrão), ele responderá com um pacote SYN/ACK. O Nmap então reinicia a conexão enviando um pacote RST.

A opção -PS no Nmap especifica que você deseja usar um ping TCP SYN. Por padrão, o Nmap envia o pacote SYN para a porta 80.

Para executar uma varredura de ping TCP SYN em 192.168.1.1, execute o seguinte comando em seu terminal:

sudo nmap -PS 192.168.1.1

Este comando instrui o Nmap a enviar um pacote TCP SYN para a porta 80 do host 192.168.1.1. O sudo é necessário porque o Nmap precisa de privilégios elevados para criar e enviar pacotes TCP brutos.

Como 192.168.1.1 não está acessível neste ambiente de laboratório, você verá uma saída semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:49 CST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 2.10 seconds

Esta saída mostra que o Nmap não conseguiu alcançar 192.168.1.1. A mensagem sugere usar -Pn se você suspeitar que o host está ativo, mas está bloqueando as sondagens de ping.

Agora, vamos executar uma varredura de ping TCP SYN em localhost (127.0.0.1) para ver como funciona quando o host está acessível:

sudo nmap -PS 127.0.0.1

Isso mostrará uma saída semelhante a:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:50 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

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

Esta saída mostra que o Nmap detectou com sucesso o localhost como ativo e também realizou uma varredura de portas, mostrando as portas abertas no sistema.

Em seguida, você executará uma varredura de ping ACK. Um ping ACK envia um pacote TCP ACK para o host de destino. Ao contrário do ping SYN, que tenta estabelecer uma conexão, o ping ACK envia um pacote que parece fazer parte de uma conexão já estabelecida. Os firewalls frequentemente têm regras para lidar com pacotes ACK de entrada de forma diferente dos pacotes SYN, tornando o ping ACK útil para contornar algumas configurações de firewall.

A opção -PA no Nmap especifica que você deseja usar um ping TCP ACK. Por padrão, o Nmap envia o pacote ACK para a porta 80.

Primeiro, vamos tentar o ping ACK em 192.168.1.1:

sudo nmap -PA 192.168.1.1

Como esperado, isso mostrará que o host está inativo:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:50 CST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 2.11 seconds

Agora, vamos executar uma varredura de ping TCP ACK em localhost para ver o caso de sucesso:

sudo nmap -PA 127.0.0.1

Isso produzirá uma saída semelhante a:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:50 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

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

Esta saída mostra que o Nmap enviou um pacote TCP ACK para o localhost e recebeu uma resposta, indicando que o host está ativo. A varredura também mostra as portas abertas no sistema.

Combinar Técnicas de Varredura de Ping

Neste passo, você aprenderá a combinar varreduras de ping TCP SYN e ACK usando o Nmap para descobrir hosts ativos em uma rede. Combinar diferentes tipos de ping pode aumentar a confiabilidade da descoberta de hosts, pois alguns hosts podem responder a um tipo de ping, mas não a outro, devido a regras de firewall ou configurações de rede.

Usando as opções -PS e -PA, o Nmap enviará pacotes TCP SYN e TCP ACK para cada host na rede especificada. Isso aumenta as chances de detectar hosts ativos, especialmente em ambientes com firewalls restritivos.

Primeiro, vamos tentar a varredura combinada na rede 192.168.1.0/24 para demonstrar o que acontece quando não há hosts presentes:

sudo nmap -PS -PA 192.168.1.0/24

Este comando instrui o Nmap a enviar pacotes TCP SYN e TCP ACK para a porta 80 de cada host na rede 192.168.1.0/24. O sudo é necessário porque o Nmap precisa de privilégios elevados para criar e enviar pacotes TCP brutos.

Como não há hosts ativos nesta faixa de rede em nosso ambiente de laboratório, você verá uma saída semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:51 CST

A varredura é concluída sem exibir relatórios de hosts, indicando que nenhum host respondeu às sondagens de ping SYN ou ACK nesta faixa de rede.

Em um cenário do mundo real com hosts ativos, a saída seria semelhante a esta:

Starting Nmap 7.XX ( https://nmap.org ) at YYYY-MM-DD HH:MM ZZZ
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Nmap scan report for 192.168.1.2
Host is up (0.0015s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0012s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.XX seconds

Isso mostraria que o Nmap varreu a rede 192.168.1.0/24 e encontrou três hosts ativos que responderam às técnicas de ping combinadas.

Para demonstrar a técnica de ping combinada com um exemplo funcional, vamos usá-la no localhost:

sudo nmap -PS -PA 127.0.0.1

Isso produzirá uma saída mostrando que o localhost responde aos dois tipos de ping:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:51 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
2121/tcp open  ccproxy-ftp
2222/tcp open  EtherNetIP-1
3001/tcp open  nessus
8080/tcp open  http-proxy

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

Finalmente, você pode revisar os comandos executados no terminal para identificar as técnicas aprendidas usando o Nmap. O terminal mantém um histórico dos comandos executados, o que pode ser útil para revisar seu trabalho e verificar os resultados de suas varreduras.

Para visualizar o histórico de comandos no terminal, você pode usar o comando history. Este comando exibirá uma lista numerada dos comandos executados anteriormente.

Digite o seguinte comando e pressione Enter:

history

Isso exibirá uma lista de seus comandos recentes. Role pela lista para encontrar os comandos Nmap usados nos passos anteriores, especificamente os comandos usando -sn, -PS e -PA para executar varreduras de ping.

Por exemplo, você deve ver comandos como:

  1  sudo nmap -sn 192.168.1.0/24
  2  sudo nmap -sn 127.0.0.1
  3  sudo nmap -PS 192.168.1.1
  4  sudo nmap -PS 127.0.0.1
  5  sudo nmap -PA 192.168.1.1
  6  sudo nmap -PA 127.0.0.1
  7  sudo nmap -PS -PA 192.168.1.0/24
  8  sudo nmap -PS -PA 127.0.0.1
  9  history

Ao revisar esses comandos e suas saídas (que você deve ter anotado nos passos anteriores), você pode confirmar as diferentes técnicas de ping aprendidas e como elas se comportam com hosts acessíveis e inacessíveis. O comando history é uma ferramenta útil para auditar seu trabalho e garantir que você tenha executado corretamente os passos deste laboratório.

Nota: A saída exata do comando history dependerá dos comandos que você executou na sua sessão de terminal.

Resumo

Neste laboratório, você aprendeu a realizar a descoberta de hosts usando o Nmap. Iniciou executando uma varredura de ping na rede 192.168.1.0/24 com a opção -sn para desabilitar a varredura de portas, o que é mais rápido e menos intrusivo. Também realizou uma varredura de ping no endereço localhost 127.0.0.1 enquanto desabilitava a varredura de portas. Além disso, explorou diferentes tipos de ping, como ping TCP SYN com -PS, ping ACK com -PA e um ping combinado com -PS -PA, para identificar efetivamente hosts ativos em diversos cenários de rede. Finalmente, aprendeu a revisar o histórico de comandos no terminal para verificar suas ações e hosts descobertos.