2 pontos por GN⁺ 2026-02-02 | 1 comentários | Compartilhar no WhatsApp
  • Latência pode ser usada em uma ferramenta de CLI para estimar a localização de um endereço IP no nível de país, estado ou cidade
  • Usando mais de 3.000 probes da rede Globalping, a ferramenta faz medições de ping e traceroute para cada IP
  • Ela compara a latência em etapas de continente → país → estado → cidade e considera como localização real a região com o menor valor
  • Nos testes, mostrou precisão consistente com os resultados do ipinfo em casos como Polônia, Flórida e Miami
  • Como ferramenta de CLI open source, qualquer pessoa pode executá-la, demonstrando a utilidade prática da validação de localização de IP baseada em latência

Visão geral da estimativa de localização de IP baseada em latência

  • Foi criada uma ferramenta de CLI capaz de interpretar endereços IP no nível de país, estado dos EUA e cidade
  • O trabalho se baseia em casos demonstrados pelo ipinfo em que provedores de VPN registravam dados de localização falsos
    • O ipinfo constrói uma grande rede de probes para rastrear e testar com ping todos os IPs, validando sua localização física real
  • Essa abordagem elimina erros de dados públicos e permite uma determinação de localização mais confiável com base em latência e dados de hop

Uso da rede Globalping

  • Globalping é um projeto open source baseado em comunidade que permite auto-hospedar probes em contêineres
    • Atualmente há mais de 3.000 probes distribuídos pelo mundo
    • Os usuários podem executar testes de rede como ping e traceroute por meio dessa rede
  • A ferramenta de CLI automatiza isso com a biblioteca globalping-ts
    • Faz testes de ping no IP informado a partir de vários continentes
    • Seleciona o continente com a menor latência
    • Depois realiza medições mais detalhadas com vários probes dentro desse continente

Estrutura por etapas de medição

  • Etapa 1 (detecção de continente): teste de ping com 5 probes por continente
    • Exemplo de resultado: Europa 32.39ms, América do Norte 137.18ms → Europa selecionada
  • Etapa 2 (detecção de país): medição com 50 probes dentro do continente escolhido
    • Resultado: Polônia 7.29ms, Alemanha 13.42ms, Lituânia 17.65ms → classificado como Polônia
  • Etapa 3 (detecção de estado nos EUA): teste com 50 probes dentro dos Estados Unidos
    • O IP “Bahamas” da NordVPN foi classificado na prática como Flórida (0.45ms)
  • Etapa 4 (detecção de cidade): medição com 36 probes dentro do estado
    • Resultado: Miami (0.00ms), seguida por West Palm Beach e Tampa

Precisão e limitações

  • O “magic field” do Globalping seleciona probes aleatoriamente no nível de continente, então alguns países podem ficar de fora
    • Isso pode causar classificações incorretas para países vizinhos
  • Para melhorar a precisão, é preciso especificar os probes diretamente por país e estado e ajustar a quantidade de probes
    • Exemplo: na América do Norte, a recomendação é usar 200 probes nos EUA, 20 no Canadá e 10 no México
  • A versão atual usa o número mínimo de probes para permitir execução também por usuários não autenticados
    • Com autenticação, são possíveis 500 testes por hora, e créditos adicionais podem ser obtidos por hospedar probes ou apoiar no GitHub

Execução e uso da ferramenta open source

  • Comando: geolocate $IP
    • A opção –limit permite ajustar a quantidade de probes em cada etapa
  • A documentação no GitHub traz o modo de uso completo
  • Sugestões de melhoria via Pull Request são bem-vindas
  • É possível solicitar créditos gratuitos e participar hospedando probes

Conclusão

  • A estimativa de localização de IP baseada em latência é um método preciso e prático quando há pontos de observação suficientes
  • Com a rede Globalping e a ferramenta de CLI open source, qualquer pessoa pode verificar facilmente a localização real de um IP
  • O método tem potencial de uso em verificação de fraude de localização em VPN, análise de roteamento de rede e depuração de desempenho

1 comentários

 
GN⁺ 2026-02-02
Comentários do Hacker News
  • É um pequeno projeto que experimenta se é possível fazer estimativa de localização geográfica usando um serviço como o Globalping
    Está num nível de demonstração simples, então não é suficiente para uso real em produção
    Para usar direito, seriam necessárias pelo menos 500 probes em cada etapa
    Como a ideia era não ultrapassar o limite para usuários anônimos, a otimização foi evitada de propósito
    • Parece que daria para usar uma abordagem de gradient descent para reduzir o número de probes e ainda ganhar eficiência
      No começo, faria 3 medições em vários continentes, descartaria a probe mais lenta e adicionaria uma nova probe perto das mais rápidas, repetindo esse processo
      Assim, em vez de dividir em 5 etapas, talvez fosse possível “rastrear” a localização real em tempo real
      A ideia é tratar a latência como um campo potencial escalar e usar seu gradiente
    • Em teoria, 3 probes não seriam suficientes?
  • Impressiona o fato de ter sido feito sem IA
    As mensagens de commit com uma palavra só foram engraçadas, mas até deram uma sensação mais humana
    • Como há separadores “══════” no código, parte dele parece coisa gerada pelo Claude
  • Fiquei curioso se seria possível que o servidor medido adicionasse latência artificial dependendo do IP de origem para falsificar a localização
    • É totalmente possível
      Por exemplo, dá para fazer truques ainda mais sofisticados com uma ferramenta como fakeroute
      Quase não teria utilidade prática, mas é uma ideia divertida
    • Não é impossível, mas simplesmente não responder ao ping é muito mais simples
    • O próprio traceroute já é uma ferramenta difícil de interpretar, então falsificá-lo é muito fácil
      Como no caso em que o The Pirate Bay fingiu ter se mudado para a Coreia do Norte, um AS também poderia adicionar ASes falsos ao caminho BGP para parecer mais convincente
      Isso talvez possa virar um jogo de gato e rato com VPNs
      Referências relacionadas: discussão no Reddit, caso no HN
    • Em alguns ISPs regionais dos EUA (Xfinity, Charter etc.), já existe latência artificial por causa de Bufferbloat
      Mesmo em links de 1000/30Mbps, a latência pode chegar a 2500ms
  • Vi uma abordagem parecida no estudo ‘You Can’t Cheat Time’, apresentado na DEFCON 31
    Vídeo da apresentação
    As limitações da geolocalização baseada em ping são as seguintes:
    O IP já costuma ter informação de localização em bancos de dados, a assimetria de roteamento quebra o modelo de distância, Anycast/CDN faz com que um único IP exista em várias regiões, e ICMP pode ser bloqueado ou ter baixa prioridade
    Em vez de ping, eu usei um modelo de latência HTTP(S) + ML(SVR) treinado com 39 mil dados
    No caso de servidores atrás do CloudFront, o erro ficou em cerca de 600 km
    Mais importante do que a precisão é detectar sandbox, malware com geofence e fornecer um sinal auxiliar de localização quando o banco de IP falha
    • Se alguém quisesse evitar esse tipo de rastreamento, poderia adicionar atraso aleatório a todos os pacotes ou criar regras intencionais de atraso por origem de ping para parecer estar na localização desejada
  • Surpreende que isso funcione mesmo com tanta variação de latência
    Anos atrás, conversando com um amigo na Holanda, eu já consegui acessar conteúdo da NL com latência menor a partir do Reino Unido
    Provavelmente por diferença na qualidade do peering
    • Trabalho na IPinfo
      Estamos tocando um projeto de compartilhamento de dados de roteamento e peering em parceria com IXPs e grandes instituições da internet
      Em alguns países, há peering direto com IXP de outro continente, e a diferença de latência pode equivaler a milhares de km
      Há casos reais em que o tráfego entre duas operadoras do mesmo país sai para o exterior antes de voltar
      Estamos corrigindo esse fenômeno com algoritmos de geolocalização baseados em medição
      No fim, o objetivo é ajudar IXPs, operadoras e entidades de governança da internet a resolver esse tipo de problema
    • Também pode ser simplesmente por causa da latência do acesso local
      Em VDSL ou DOCSIS, só em 1 km já podem surgir 5–15 ms de atraso
      Entre Londres e Amsterdã, é algo em torno de 7 ms
    • Talvez seja porque o conteúdo foi entregue de um PoP próximo com cache
      Antigamente, até cidades grandes da Holanda sofriam com falta de fibra óptica
    • Da minha cidade até um servidor na França são 250 km em linha reta, mas pelo ping dá algo como 2000 km
      Ou seja, a distância fica inflada em mais de 8 vezes
      Um servidor no Reino Unido está mais longe, mas mesmo assim o ping é menor
      Uma abordagem baseada em traceroute parece mais realista do que ping
  • Obrigado ao Dimitry. Todo o time da IPinfo ficou grato pela menção
    O pesquisador Calvin vai apresentar sobre geolocalização de IP baseada em medição na NANOG96
    Link da apresentação
  • Ideia e execução realmente muito boas
    Queria ver mais projetos assim no HN
  • Pelo texto, parece que o método é simplesmente escolher como localização o ping mais curto
    Isso é simples demais; parece que usar triangulação (triangulation) daria mais precisão
    • Como o texto também menciona, o objetivo era só um proof of concept simples
      Com probes suficientes e um pouco de sorte, funciona surpreendentemente bem
      Claro que existem métodos muito mais inteligentes
    • Mas pacotes não viajam em linha reta, então cálculo simples de distância não faz muito sentido
  • Compartilhando experiência de uso desse tipo de técnica em ambiente real de serviço
    1. Em roteamento de internet, trilateração (trilateration) quase nunca funciona
      Por isso, usar a medição única mais próxima é o mais realista
      Para obter dados úteis, são necessários milhares de nós por cidade
    2. Esse tipo de medição é mais adequado para validar dados de localização já existentes
    3. Hops de traceroute são úteis para localizar roteadores
      O RIPE IPmap já mapeia com precisão a maioria dos roteadores públicos
    4. Funciona bem para infraestrutura ou IPs de servidor, mas tem limitações em redes de usuários comuns
      Como ferramenta de comparação, também recomendo ping.sx
  • Olhando a rota IP do caminho de volta, muitas vezes dá para acertar com bastante precisão pelo menos o estado
    O FQDN do último hop frequentemente inclui código de aeroporto ou código de cidade, o que ajuda bastante