Localizando IP de seu servidor Linux (inclusive IP dinâmico)

Publicado por Elizênio Cardoso em 02/01/2009

[ Hits: 8.125 ]

 


Localizando IP de seu servidor Linux (inclusive IP dinâmico)



Bom pessoal, eu tive muita dificuldade em encontrar uma solução para acesso remoto a meu servidor porque uso IP dinâmico, então tive que desenvolver minha própria solução.

O que eu vou apresentar para vocês é um script bem simples que armazena o seu IP em um banco de dados da web.

OBS.: Só vale para quem tem algum domínio com banco de dados MySQL ou algum servidor com IP fixo.

Hospedando os arquivos para identificação do seu IP dinâmico

Para gravar o seu IP em um banco de dados de seu domínio ou domínio de um amigo você vai precisar dos seguintes arquivos.

Copie esse código e salve com o nome conexao.php:

<?

$conexao=mysql_connect("endereço do seu banco de dados", "seu usuário", "sua senha");
mysql_select_db("seu banco de dados");

?>

Esse código fará a conexão com o banco em que seu site estiver hospedado, salve com o nome grava_ip.php.

<?

include "conexao.php";
$ip = getenv("REMOTE_ADDR");
$resultado = mysql_query("update ipcasa set ipcasa='$ip' where id='1'");
$linhas = mysql_affected_rows();

echo"<a href='http://$ip'> casa $ip</a>";

?>

Esse arquivo identifica o IP do visitante e grava no banco de dados, para que isso ocorra você deve deixar uma tarefa na inicialização do seu servidor que acesse o endereço, exemplo: no meu caso uso Slackware Linux, fica assim:

# lynx www.seusite.com.br/nome_da_pasta_onde_esta_os_arquivos/grava_ip.php

Quando o servidor executa essa tarefa, ele deixa no banco o registro do IP atual.

Para ver o IP você vai precisar de mais um arquivo que eu deixei como index, pode nomeá-lo de index.php:

<HTML>
<HEAD>
<TITLE>Documento PHP</TITLE>
</HEAD>
<BODY>
<?
include "conexao.php";
$resultado=mysql_query("select ipcasa from ipcasa where id='1'");
$ip = mysql_result($resultado, 0, "ipcasa");
echo "<strong>Esse é seu IP: $ip</strong>";
?>
</BODY>
</HTML>

Para você ver o seu IP agora basta acessar o endereço do seu site, a pasta onde foram colocados esses 3 arquivos e terá o seu IP de qualquer lugar. Se você quiser colocar essa tarefa no cron fica bem melhor, assim você pode atualizar seu IP com a frequência que achar melhor, é só uma sugestão isso eu ainda não fiz.

Gente desculpe os erros de ortografia e outros, quero apenas compartilhar uma solução que para mim caiu como uma luva.

Obrigado!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Como trocar chave de segurança entre servidores

Criando seu próprio Captive Portal

Usando o Gnome3

Montando automaticamente o floppy e CDROM com AutoFS

Tudo o que você precisa para configurar sua placa de rede no Ubuntu

  

Comentários
[1] Comentário enviado por pitombera em 02/01/2009 - 20:57h

Não complique. Há sites que fazem isso pra você já. Mas se quer um script, aqui vai um bem minimalista. ( Juro que não entendi o que vc quis com essa dica, coisa de mais pra tão pouco coisa ).

[]'s e Feliz 2009

#!/bin/sh
host=whatismyip.com.br
port=80
cmd="GET / HTTP/1.1"

HTTP(){
echo open ${host} ${port}
sleep 1
echo ${cmd}
sleep 1
echo "host: ${host}"
sleep 1
echo
sleep 1
echo exit
}

HTTP | telnet | grep left | cut -d'>' -f2 | cut -d'<' -f1 | head -1


[2] Comentário enviado por bjaraujo em 03/01/2009 - 18:09h

Essa dica é interessante para manter a segurança (o ip não é divulgado), mas se isso não for necessário o uso de serviços de DNS dinâmico é muito mais prático.
Valeu.

[3] Comentário enviado por zennh em 03/01/2009 - 21:10h

bom... na verdade uso esse script pq num sei ate quando posso contar com serviço que não pago
por exemplo (no-ip) pra quem quer segurança no trafego de informações. sempre que tenho um problema como
queda de energia ou de internet quando volta, o servidor ta no ar denovo.

meu objetivo era ajudar alguem que tenha a mesma dificuldade que tive.

obrigado!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts