Ir para conteúdo
Fórum Script Brasil
  • 0

Como Descobrir O Ip Da Estação Do Cliente?


Eder Alves

Pergunta

Pessoal,

Preciso saber o endereço ip da estação do meu cliente, sendo esta estação está dentro de uma rede corporativa, rodando XP e acessando meu site via NAT ou Proxy. O endereço IP que eu preciso é da estação dentro da rede corporativa, portanto não consigo com as variáveis tipo REMOTE_ADDR executadas pelo Servidor. Eu não quero o endereço IP Válido na Internet e sim o endereço da estação válido apenas na rede corporativa, o que é dificultado pelo fato de as máquinas serem configuradas de forma diferente, sendo que algumas podem nem mesmo ter o java instalado.

Alguém pode me ajudar a resolver este problema?

Obrigado.

Éder Alves

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ola caro amigo, existe uma metodo infalivel para pegar o ip da maquina =))

Process process = Runtime.getRuntime().exec("ipconfig");

Ai tu pega o outputstream do process, leia ele, faça uns substrings malucos ou use regexp e pegue o ip.

Boa sorte.

Editado por iSoron
Adicionando tag [code]
Link para o comentário
Compartilhar em outros sites

  • 0

Não funcionou, pois não estou programando em Java e sim em Javascript.

Colocando este código para ser executado pelo browser do cliente, ele ocasiona um erro de script, dizendo que o objeto Runtime não está definido.

Éder Alves

Editado por Eder Alves
Link para o comentário
Compartilhar em outros sites

  • 0

Com Javascript você não vai conseguir ir muito longe. Revelar o endereço IP local dessa forma pode ser considerado falha de segurança, na maioria dos casos. Com Java, você consegue, mas a sua applet vai precisar ser assinada (usando as ferramentas keytool e jarsigner):

import java.applet.*;
import java.net.*;

public class Teste extends Applet {
    public void init() {
        try {
            System.out.println(InetAddress.getLocalHost().getHostAddress());
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}
javac Teste.java
jar cvf Teste.jar Teste.class 
keytool -genkey -alias Teste
jarsigner Teste.jar Teste
Se a máquina em questão tiver vários IPs, é melhor utilizar esse código:
String localhost = InetAddress.getLocalHost().getHostName();
InetAddress[] addr = InetAddress.getAllByName(localhost);
for (int i=0; i<addr.length; i++) {
    System.out.println(addr[i]);
}

ps: A applet até roda sem assinatura, mas sempre retorna o endereço '127.0.0.1'..

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...