Alguma maneira de encontrar endereços IP não utilizados na minha rede?

25

Como localizo endereços IP não utilizados na minha rede? O servidor DHCP continua atribuindo o mesmo endereço e preciso de um endereço IP diferente para testar meu aplicativo. O software precisaria rodar no Windows.

jasonh
fonte

Respostas:

36

Provavelmente, a melhor maneira é usar o NMAP ( http://nmap.org/ ) no modo de verificação de ARP Ping. O uso será algo como nmap -sP -PR 192.168.0.*(ou seja qual for sua rede).

A vantagem dessa abordagem é que ela usa o Protocolo de resolução de endereços para detectar se os endereços IP estão atribuídos às máquinas. Qualquer máquina que queira ser encontrada em uma rede precisa responder ao ARP; portanto, essa abordagem funciona onde as varreduras de ping, pings de transmissão e varreduras de porta não (devido a firewalls, política de SO, etc.).

guilherme
fonte
1
+1 Eu não tinha percebido que os binários do nmap estavam disponíveis no Windows; definitivamente use isso, é demais.
msanford
Isso fez exatamente. Espero não ter chateado ninguém com a consulta. Aparentemente, o Nmap também gosta de me dizer quais portas "interessantes" estão abertas em qualquer uma das máquinas que encontrar. : OI definitivamente não precisava ou queria isso.
jasonh
3
Opa. Usar -sP além de -PR deve desativar a varredura desnecessária de portas.
guilherme
-0.5 para mim, curingas são aceitáveis nas especificações de acolhimento nmap (0,5 porque não há "*" na manpage relativas aos anfitriões, apenas portas;)
msanford
6
É surpreendente que descrevamos uma nmapsolução de varredura horizontal para uma pergunta (iniciante?) Perguntando como 'enviar' um endereço IP não utilizado em um ambiente de rede alocado por DHCP. Não é nossa responsabilidade (como administradores?) Sugerir que ele se aproxime da autoridade DHCP local (seu administrador?) E obtenha alguns endereços IP de teste alocados? ACORDADO, este é um hack elegante, todos nós amamos o nmap, incluindo os fãs de matriz. Mas, entendemos o que está acontecendo aqui?
194/09 nik
17

Você realmente não deve tentar encontrar endereços IP não utilizados em uma rede que usa DHCP. Você não deve fazer isso, a menos que saiba o que está fazendo, e perguntar como fazê-lo sugere que não.

O gerenciamento de endereços de rede é implicitamente uma atividade organizacional (não técnica). O DHCP faz com que os administradores de rede geralmente pensem que é puramente técnico, mas o protocolo é bem projetado e pode suportar facilmente suas necessidades com um pouco de negociação política.

O DHCP possui um recurso no qual determinados sistemas podem receber o mesmo endereço IP toda vez (em outras palavras, o mecanismo de atribuição pode ser dinâmico, mas as atribuições podem ser corrigidas).

Peça ao administrador do DHCP para criar algumas entradas para você. Se eles disserem "não", faça um trabalho de perna e peça ao seu gerente que peça que ele faça.

Ou peça ao administrador do DHCP para alocar um intervalo de endereços IP para seu uso pessoal, mas não para servi-los fora do DHCP.

Isso é realmente no melhor interesse de todos. Se você projeta valer um pouco de esforço extra, algum amor organizacional irá percorrer um longo caminho.

Não acho que os outros pôsteres tenham pensado seriamente sobre o que pode acontecer, e parte do perigo é que os resultados dos conflitos de endereços IP são imprevisíveis:

Se você furtar endereços e eles entrarem em conflito com o sistema de outra pessoa, os resultados poderão ser dolorosos, como o término do trabalho.

  1. Os sistemas se comportam de maneira diferente quando têm conflitos de IP. Alguns se abandonam rapidamente. Alguns apenas colocam avisos estranhos na tela. Potencialmente, alguns sistemas lutariam pelo endereço IP.

  2. Você não sabe qual sistema você estaria desconectando. Você pode estar desconectando um servidor importante ou o seu sistema pode ter um servidor stub que começa a responder ao tráfego real. Ou pode ser o PC do seu chefe, ou algum engenheiro sênior que também estava de posse de IP.

Aqui está uma história de DNS bastante semelhante. Eu trabalhei com uma pessoa inteligente, mas às vezes desagradável em uma empresa, e ele entendeu quase tudo, exceto a resolução de DNS. Ele configurou cerca de 80% dos sistemas de correio da empresa para que, se houvesse uma pequena interrupção, meu ambiente de laboratório acabasse sendo o servidor de correio de saída. Eles detectaram esse problema rapidamente, mas você pode imaginar o quão ruim isso poderia ser se meu sistema não tivesse colocado o correio na fila atrás do firewall.

benc
fonte
2
@benc, Excelente! esta é a primeira resposta que vejo sendo racional quanto à verificação de um endereço IP não utilizado em um ambiente DHCP. +1 por pensar como um administrador no ServerFault.
194/09 nik
Parece, notei essa pergunta só porque você respondeu isso hoje! As coisas parecem ter terminado sem esse ponto aqui no mês passado !!
194/09 nik
Sim. Eles não podem dizer que eu não os avisei.
benc
É uma pena que esta não seja a resposta selecionada - porque responde à pergunta real. 1
3

Uma vez na minha empresa, alguém acidentalmente configurou seu IP para o do switch principal em nossa sala de servidores.

Resultado líquido:
"O WTF aconteceu na rede1?!?!"

Moral da história: fale com seus administradores. Se você estiver em uma empresa de engenharia, é provável que eles tenham um processo para fornecer um endereço ou até seu próprio intervalo.

prestomation
fonte
+1 - estas são as histórias que assustam as pessoas a se comportarem corretamente. Desculpe o que aconteceu com você na vida real.
benc
2

Você basicamente tem que opções:

  • Pergunte ao servidor DHCP quais endereços ele já atribuiu (por meio da interface da web, da interface CLI ou de qualquer outra interface usada pelo servidor). Isso funcionará se muitos nós da sua rede usarem o DHCP para se configurar (ou seja, não tiver nenhum endereço IP auto-atribuído). Obviamente, você também precisa acessar a configuração do roteador, o que parece que você pode não ter.

  • Faça ping (ou portscan) em toda a sua sub-rede e veja quem responde. Isso pode não funcionar se nós específicos tiverem a solicitação de eco ICMP desativada (ou seja, "Bloquear ping").

msanford
fonte
Está correto, não tenho acesso ao servidor DHCP. Algum utilitário sugerido para executar ping na sub-rede? Tentei a sugestão "ping 224.0.0.1", mas ela relata "falha geral".
jasonh
Receio ter sempre acesso a uma máquina Linux para coisas como diagnóstico de rede (por isso não sou tão útil para a sintaxe do Windows). Bata no Google e veja o que você encontra; certamente existe uma boa ferramenta gráfica de freeware por aí.
msanford
Guilherme tem abaixo, usar nmap nmap.org/download.html embora a sintaxe énmap -sP 192.168.0.1-254
msanford
1

Conforme mencionado em outras respostas, as verificações de ping ou NMAP da sub-rede local são provavelmente a melhor maneira de determinar endereços IP gratuitos, se você não tiver acesso ao servidor DHCP.

No entanto , lembre-se de duas coisas.

  1. Seus administradores de rede provavelmente não serão gentis com você executando varreduras de portas / ping; se eles tiverem algo parecido com a prevenção decente de intrusões, você não ficará surpreso quando eles vagarem pela mesa parecendo infelizes.

  2. A mistura de configuração estática e DHCP na mesma sub-rede pode causar problemas. Se você configurar um dispositivo com um IP, ficará "livre" por meio de varreduras de sub-rede etc., e o servidor DHCP subseqüentemente encaminhará esse endereço para outro nó, sua máquina e o proprietário "real" do endereço IP continuarão lutando quem deve ter a entrada ARP para esse IP. Isso levará à conectividade intermitente para as duas máquinas. (E novamente, uma possível visita do seu administrador amigável do bairro).

Se você realmente precisa de outro endereço IP para testar, é possível entrar em contato com os administradores da rede e perguntar? Eles poderiam configurar uma entrada DHCP manual que daria à sua máquina uma concessão DHCP específica com base em seu endereço MAC.

Murali Suriar
fonte
Obrigado pelas dicas. Estou ciente da possibilidade do servidor DHCP emitir o endereço para outra pessoa, por isso não pretendo mantê-lo por muito tempo. Eu realmente preciso de outro endereço IP. O firewall da Cisco verifica meu endereço IP para ver se eu já fui autenticado por ele durante as últimas 12 horas e, se for o caso, nunca me apresenta um meio de sair. A única maneira de voltar à tela de logon é deixar esse período de 12 horas expirar ou obter um novo IP. Já fiz isso uma vez alternando para uma conexão sem fio, mas agora preciso de outra tentativa no firewall para verificar meu código.
jasonh
1

Confira fing. Costumava ser chamado de lookatlan. É uma instalação pequena, mas escaneia a rede e fornece uma interface gráfica simples para ver o que está sendo usado e o que não está.

Andarilho do Peixe
fonte
0

Se você estiver usando o DHCP do Windows Server, o visualizador de DHCP mostrará os endereços IP usados. Talvez você tenha um intervalo muito pequeno de IP, tente estender o intervalo.

Eu tive um problema semelhante ao usar o roteador para atribuir endereços IP. Minha solução, estendi o alcance e isso pareceu funcionar.

Saif Khan
fonte
Tenho uma forte sensação, pelo fraseado de sua pergunta, de que ele não é o administrador da rede, mas apenas procurando um endereço IP gratuito para testar algum código.
msanford
Exatamente. Estou escrevendo um aplicativo que automatiza o login através de um firewall da Cisco. Depois de fazer login no dia, não tenho mais como sair. Como preciso testar diferentes cenários no meu código, preciso obter um IP diferente para que seja solicitado o login novamente.
jasonh