IP ativo

Gostaria de saber se alguém poderia me ajudar com um pequeno código onde:

  • Saber se o IP está ativo ou não

  • Se não estiver ativo enviar uma mensagem para um endereço de email notificando que determinado IP não está ativo

  • Fazer a verificação a cada 3 minutos

Só isso, obrigado a todos desde já, e desculpe o incomodo.

Se você quiser uma ferramenta, existem vários por aí, tem um tal de Big Brother que é muito bom, inclusive…

Se não, tente pingar o IP, via Runtime.exec("ping "+ipProcurado);. Reza a lenda que não dá rpa fazer headers ICMP com Java, mas se você puder abrir uma portinha com no alvo, dá pra checar se estar porta está aberta ainda.

Para e-mail, procure sobre JavaMail.

[]s

Olá

Se você precisa saber se um IP está ativo só pode ser porque você precisa usar algum serviço em alguma porta nesta máquina. Não imagino nenhum outro motivo honesto para isto e até gostaria que me explicasse caso haja outro motivo que não consiga me lembrar.

Então tente abrir um socket com este IP e esta porta.

[]s
Luca

Que tal, Luca: verificar se sua própria conexão está ativa :wink:

[]s

Olá

A minha conexão? E porque enviaria e-mail para mim mesmo?

[]s
Luca

Caso do meu trabalho:

O ISP promete 24/7h (não é isso, exemplo) de conexão com a Internet. O carinha de infra precisa saber SE e QUANDO a conexão caiu, ele pediu apra que eu fizesse algo assim. Acabei achando o tal Big Brother, que é bom, mas é muita sobrecarga só pra ficar pingando um ipzinho. Solução? Script em Perl para pingar um host (acho que era o do O Globo) e quando não conseguir, usar o SMTP interno para avisar o administrador.

[]s

Olá

OK, vc venceu. Acho que estou meio pregado porque a corrida me cansou muito. Dois amigos que correm mais rápido do que eu exauriram todas as minhas energias.

[]s
Luca

Gente a idéia eh simples, não se trata de saber se “eu” estou conectado, mas sim se antenas de Rádio espalhadas pela cidade, ou no campo, sendo que estes aparelhos possuem IP interno; estão em funcionamento ou não, uma vez que não se encontrem em funcionamento, e tendo automatizado a tarefa de verificação, este software avisaria que uma dessas antenas estaria tvz sem energia elétrica, ou qqer outra coisa, assim o pessoal da retaguarda(plantão) pode correr e arrumar o problema. E por aí vai, também imagino que vai passar muita coisa na cabeça de vocês agora. hehe
Estamos precisando disso, e que possa rodar em Background em Linux(Free BSD), por isso enviei a dúvida ao fórum, a mesma idéia pode ser aplicada em satélites, sistemas móveis, e por aí vai. Se alguém tiver a solução, agradeço.

[]´s a todos

Olá

[quote=“trevieri”] Se alguém tiver a solução, agradeço.
[/quote]

As antenas tem ICMP habilitado? Caso afirmativo, na minha opinião, o Phillip já deu uma solução simples e funcional logo na primeira resposta dele. Se você quiser sofisticar faça o ping em C e chame por JNI.

[]s
Luca

Não use java pra isso, tanto trabalho…
Um scriptzinho bash da mais que conta do recado e vai ser bem mais simples.

algo como (veja que não sei programar em bash direito)

EMAIL=`cat /etc/email_radios_off.txt"
for(i in `cat /etc/radios`) do;
   [! `ping $i`] sendmail admin@seudominio "$EMAIL $i";
done

Coloca isso no cron e pronto. Em java vai ter pelo menos umas 200 linhas o resultado, se usar JNI, nem me fale.

se você puder usar JDK 5.0, há um método chamado isReachable. Estava procurando sobre ping e achei este link. olhe o que o thingol escreveu… se realmente insistir em usar java, é uma boa ção usar este método…
[]'s

Eh... acho que já resolveram este problema... o último post foi de 2004... nem percebi... hahaha.... teh +