
Alguns sites comohttp://www.geoip.co.uksão capazes de obter o endereço IP privado do meu host onde outros gostamhttps://www.iplocation.net/não conseguem fazê-lo.
Qual é a razão por trás desse comportamento? Sempre pensei que o IP privado seria inacessível aos servidores se eu estivesse usando uma interface NAT.
O NAT anexa o IP público ao pacote de saída ou remove completamente o IP privado? Se este for o caso, por que o comportamento acima mencionado é observado?
Além disso, quando vi o código-fonte dohttp://www.geoip.co.uk, observei que meu IP é renderizado diretamente como texto, ou seja, sem qualquer tipo de chamada para uma função JavaScript. Então, como o site sabe meu IP privadoantesele até renderiza a página da web?
O 10.9.64.58 é meu endereço IP privado (aquele que recebo após o ipconfig).
EDITAR: Como @simlev aponta que devo adicionar as seguintes informações: Sou um estudante universitário e estou conectado à LAN do instituto quando visito o site no meu PC, mas observo o mesmo comportamento no meu telefone também e meu telefone não está ligado essa LAN. Capturas de tela do Imguraquieaqui.
EDIT: Outra observação que considero relevante: quando visito o site usando https:// recebo meu IP público (o desejado), mas somente quando o visito usando http:// recebo o IP privado. Então, há algum problema de protocolo que estamos falando aqui?
Responder1
Você usa um proxy http? No meu caso, o proxy web encaminha o IP interno, provavelmente é um recurso anti-abuso.
Uma possibilidade semelhante é que o seu ISP forneça apenas um endereço IP externo compartilhado e, quando você visitar sites, ele também passe seu IP interno; isso é para identificar os abusadores: o site pode fornecer ambos os IPs ao registrar uma denúncia de abuso junto ao ISP e, graças ao IP interno, o ISP é capaz de rastrear rapidamente o usuário abusivo. Seria mais difícil fazer isso tendo apenas o ip externo compartilhado.
Como os IPs internos e externos são passados com sua solicitação, alguns sites mostre seu IP optam por mostrar o IP de onde realmente vem a solicitação, enquanto outros mostram o IP em cuja conta a solicitação foi feita.
Verifique os cabeçalhos que você está enviando (por exemploaqui). Você provavelmente tem um X-Forwarded-For com seu IP privado adicionado por algo em sua rede ou por um dos dispositivos de rede do ISP.
Para mais informações, veja as respostas de Cristopher, Adam Katz e Markaqui. A propósito, Mark dá a mesma sugestão que eu e links para o mesmo site :-)
Atualizar:sim, você (muito provavelmente) está usando um proxy.
Se você estiver no campus, como pode ser deduzido do seu comentário, só faz sentido que o seu ISP (também conhecido como universidade) não conecte cada um de seus alunos diretamente à Internet: estou propenso a especular que você está com proxy transparente .
Atualizar:Como o OP percebeu e apontou corretamente, o mesmo site visitado por https mostra o IP externo. Isto é esperado, uma vez que os proxiesgeralmentenão altera o tráfego https e, portanto, não pode adicionar o X-Forwarded-For que fornece o endereço IP interno.
Responder2
É possível que o site esteja aproveitando o vazamento de segurança do WebRTC.
- “Enorme falha de segurança vaza endereços IP reais de usuários de VPN”.TorrentFreak. 30 de janeiro de 2015.
Origem do uBlock (para Firefox/para cromo) é capaz de fechar esta vulnerabilidade de segurança. Mas você deve ir para a página Configurações e marcar a caixa apropriada chamada "Impedir que o WebRTC vaze endereços IP locais".