Nmap: encontre IPs gratuitos a partir da faixa


14

Existe uma maneira de procurar IPs gratuitos na rede? Eu uso, nmap -sP 192.168.1.0/24mas isso realmente mostra os hosts que estão ativos.


10
não responde ao ping não significa necessariamente não utilizado.
Grant

1
Você quer um scanner IPAM, não o nmap.
TheCleaner

2
A varredura de descoberta de host do @Grant Nmap (às vezes chamada de "varredura de ping") envia várias sondas diferentes, não apenas as solicitações de eco do ICMP. Para endereços no mesmo link de dados, ele usa solicitações ARP, que são basicamente impossíveis de ignorar.
precisa saber é o seguinte

1
Você também deve se lembrar que os hosts que não estão ligados também aparecerão como não tendo um endereço IP.
Tero Kilkanen 04/04

Respostas:


24

Usar o Nmap como este é uma maneira bastante precisa de fazer o que você pediu, desde que algumas pré-condições sejam verdadeiras:

  1. Você deve executar a verificação como raiz (ou Administrador no Windows) para enviar solicitações de ARP, não conexões TCP. Caso contrário, a verificação pode relatar um endereço como "inativo" quando é simplesmente protegido por firewall.
  2. Você só pode fazer isso a partir de um sistema no mesmo link de dados (camada 2) que o intervalo de endereços que está sendo digitalizado. Caso contrário, o Nmap precisará usar testes da camada de rede que podem ser bloqueados por um firewall.

Para obter os endereços "disponíveis", você precisa obter a lista de endereços que o Nmap reporta como "inativos". Você pode fazer isso com um simples comando awk:

sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

Resumo das opções do Nmap usadas:

  • Quando você usa a -vopção, o Nmap imprime os endereços encontrados como "inativos", além dos que estão "ativos".
  • Em vez de -sP, substituí a ortografia mais recente -sn, que ainda realiza a mesma verificação, mas significa "pular a verificação de porta" em vez da "verificação de ping" enganosa (já que a fase de descoberta do host não significa necessariamente uma verificação de eco ICMP ou Ping )
  • A -nopção ignora as pesquisas reversas de DNS, o que demora um pouco, pois você não está interessado em nomes, mas apenas em endereços IP.
  • A -oGopção informa ao Nmap para produzir um formato grepable , que é mais fácil para o awk processar. O argumento " -" diz para enviar esta saída para stdout.

O comando awk procura "Status: Inativo" e imprime o segundo campo, contendo o endereço IP.

Obviamente, se você tiver acesso às configurações em execução do switch ou às concessões do servidor DHCP, poderá obter essa resposta com muito mais autoridade sem fazer uma verificação que possa disparar alarmes de segurança.


1
Marcando isso totalmente para uso futuro e nem é minha pergunta :)
Martinc

1

Não tenho certeza sobre o n-map, mas pode-se razoavelmente supor que, se você escrever um script ping que envie 1 ping para cada endereço, todos os hosts que retornarem com "destino inacessível" estarão desocupados e qualquer coisa que retorne "solicitar tempo limite" está ocupado, mas não está respondendo ao ping. A diferença entre as duas respostas é que "destino inacessível" não recebeu uma resposta à sua solicitação ARP. "Tempo limite da solicitação" significa que algo respondeu à solicitação do ARP, mas não ao pacote ICMP.


Quando executado com privilégios de root, o Nmap simplesmente faz a solicitação ARP e relata os endereços que respondem.
precisa saber é o seguinte

0

Aqui está a mesma coisa no PowerShell ....

((nmap -v -sn -n 10.208.2.0/24 -oG - ) -match "Status\:\sDown") | foreach {($_).Split(" ")[1]}

0

Aqui está outro inspirado por Anders Larsson

para ip em 172.18.5. {129..254}; faça {ping -c 1 -W 1 $ ip; } &> / dev / null || eco $ ip e pronto | ordenar

O que significa: "Tente executar ping em todos os Ips no intervalo. Se o" ping "falhar, imprima esse IP"

Se você fizer

nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

Funciona rápido, mas notei que alguns hosts relatados como "Inativos" são na verdade "Ativos"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.