none
Obter o IP da máquina do cliente externo RRS feed

  • Pergunta

  • Estou usando a rotina abaixo para pegar o IP do cliente que acesso o site, porém está retornando o endereço IP do servidor onde o site está hospedado. Alguém sabe porque não retorna o IP correto do cliente?

    string strHostName = System.Net.Dns.GetHostName();
    string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(1).ToString();

    Label1.Text = clientIPAddress;

    sexta-feira, 14 de março de 2014 20:21

Todas as Respostas

  • Olá Alexandre,

    Achei o código abaixo na net. Asp.Net não é bem a minha praia, mas eu acho que é isso que você precisa:

        string VisitorsIPAddr = string.Empty;
        if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
        {
            VisitorsIPAddr = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
        }
        else if (HttpContext.Current.Request.UserHostAddress.Length != 0)
        {
            VisitorsIPAddr = HttpContext.Current.Request.UserHostAddress;
        }
        Label1.Text = "Seu IP é: " + VisitorsIPAddr;
    

    Fonte: How to get Public Ip address of a user in C# - Stack Overflow


    Herbert Lausmann

    Meu BlogMeu perfil no Facebook

    sexta-feira, 14 de março de 2014 20:30
  • GetHostName() retorna informações do servidor.

    Para o lado cliente você pode fazer da seguinte forma

    string ip_Cliente = Request.UserHostAddress;



    Se a sugestão resolver o problema, favor marcar como Resposta.

    sexta-feira, 14 de março de 2014 20:36
  • Obrigado pelas informações, porém quando usando esse código está vindo um IP assim:

    : ::1

    Muito estranho somente vem os dois pontos e no final o número 1.

    Alguém sabe o que pode ser isso?

    Obs: Possuo o proxy ISA na minha rede e tenho configurado também DNS e DNS REVERSO. Será que isso tem a ver?

    segunda-feira, 17 de março de 2014 11:43
  • Você está conectando de localhost para um maquina com IPV6 habilitado.

    Veja aqui a mesma situação


    Se a sugestão resolver o problema, favor marcar como Resposta.

    segunda-feira, 17 de março de 2014 14:51
  • ok verifiquei que o ipv6 estava desabilitado no servido IIS.

    Depois acessei o site por uma rede externa qualquer, e agora observei que está RETORNANDO O IP DO MEU PROXY ISA SERVER como se fosse uma REDE INTERNA do tipo 10.0.0.2

    Realmente não entendi porque está retornando o IP do meu Servidor ISA.

    segunda-feira, 17 de março de 2014 17:04
  • ok verifiquei que o ipv6 estava desabilitado no servido IIS.

    Depois acessei o site por uma rede externa qualquer, e agora observei que está RETORNANDO O IP DO MEU PROXY ISA SERVER como se fosse uma REDE INTERNA do tipo 10.0.0.2

    Realmente não entendi porque está retornando o IP do meu Servidor ISA.

    segunda-feira, 17 de março de 2014 18:59
  • Você publicou sua aplicação e acessou externo e ai foi retornado o IP do seu ISA ?


    Se a sugestão resolver o problema, favor marcar como Resposta.

    segunda-feira, 17 de março de 2014 20:42
  • Ok foi isso mesmo....

    Acesso externo a aplicação e retorna o IP do servidor proxy da minha rede interna.

    terça-feira, 18 de março de 2014 11:29
  • Creio que será necessário criar uma nova variável conforme essa thread


    Se a sugestão resolver o problema, favor marcar como Resposta.

    terça-feira, 18 de março de 2014 11:52
  • criei mais retorna o ip do servidor...
    terça-feira, 18 de março de 2014 15:01