Como o Google calcula minha localização em um desktop?

107

Certo, isto está me confundindo um pouco, não tenho certeza se algum de vocês notou ou usou o recurso "minha localização" no Google Maps usando seu desktop (ou nenhum GPS / nenhum dispositivo móvel). Se você tiver um navegador com google gears (mais fácil de usar é o Google Chrome), você terá um círculo azul acima da função de zoom no Google Maps, quando clicado (sem estar conectado à minha conta do Google) usando o Wi-Fi padrão para o meu pessoal roteador e uma conexão normal de internet para meu ISP, de alguma forma consegue localizar minha localização exata com 100% de precisão (neste momento).

Como isso faz? eles mencionam isso aqui, mas não explica muito bem, diz que meu navegador sabe onde estou ...

... estou perplexo, como?

Estou intrigado porque adoraria integrá-lo no futuro de meus projetos de programação, assim como alguns conhecimentos básicos e não parece muito bem documentado no momento.

Shadi Almosri
fonte
1
"duplicado" da minha pergunta de superusuário superuser.com/questions/12495/how-does-google-my-location-work
Stefano Borini
Eles encontram a posição exata da minha casa. É bastante notável.
Ben Shelock
1
@ badbod99 - tenho certeza que eles podem encontrar de outras maneiras também: P @Stefano - você ainda não tem uma resposta e eu acho que isso está relacionado à programação, portanto, stackoverflow @ben - exatamente!
Shadi Almosri

Respostas:

91

Atualmente estou em Tóquio e costumava estar na Suíça. No entanto, minha localização até alguns dias atrás não era exata, exceto na ampla área de Tóquio. Hoje tentei e parece que estou na Suíça. Quão?

Bem, o segredo é que agora estou conectado através de wireless, e meu roteador wireless foi identificado (graças à associação com outras wifis ao meu redor na época) em uma área muito precisa na Suíça. Agora, meu wi-fi mudou para Tóquio, mas o sistema consultado ainda acha que o roteador wi-fi está na Suíça, porque ele não tem informações sobre os wifis adicionais ao meu redor agora ou não pode resolver as informações conflitantes (ou seja, as informações específicas sobre o meu roteador wi-fi em relação à minha geolocalização ip, que me localiza no Extremo Oriente).

Então, para responder à sua pergunta, google, ou alguém por ele, fez "wardriving", mapeando a presença do wi-fi. Cada vez que uma consulta é realizada no sistema (provavelmente em conformidade com o rascunho do W3C para a API de geolocalização ), seu computador envia os identificadores de wi-fi que vê, e o sistema faz duas coisas:

  1. consulta seu banco de dados se a geolocalização existe para algum dos wifis que você passou, e retorna a posição "wardrived" se encontrada, eventualmente com triangulação se intensidades estiverem presentes. Quanto mais redes wi-fi ao redor, maior é a precisão do posicionamento.
  2. adiciona redes adicionais que você vê que não estão no banco de dados no banco de dados, para que possam ser reutilizadas posteriormente.

Como você pode ver, o sistema se constrói sozinho. A única coisa que você precisa é de uma boa semeadura. Depois disso, ele se estende em "pedaços de 50 metros" (o alcance de uma conexão wi-fi recém-encontrada).

Claro, se você realmente quer que o sistema vá à banana, você pode começar a trocar roteadores wi-fi em todo o mundo com outros revolucionários do movimento de posicionamento não global.

Stefano Borini
fonte
Você postou a edição em seu post enquanto eu escrevia minha resposta :)
Shadi Almosri
Parece saber onde estou na minha casa com grande precisão, embora não tenha dongles / placas de comunicação sem fio conectadas ao meu sistema.
Henry,
2
Tudo parece bom e bem. Mas meu desktop não tem nenhuma forma de wireless? No entanto, quando vou ao google maps. Ele sabe exatamente onde estou. E se eu tentar rastrear meu IP ou usar as localizações dos navegadores, ele está longe de onde o google maps diz que estou? Como isso funciona?
Zapnologica
8
@Zapnologica Esta é uma pergunta muito boa, "Como o Google Maps sabe minha posição a partir do meu desktop sem nenhuma placa de rede sem fio instalada?". Ao testar isso sozinho, vejo que ele só conhece minha posição, quando estou conectado com minha conta do Google. Quando eu uso outro navegador que não está logado com minha conta do Google, minha localização seria na cidade grande mais próxima (geolocalização por IP). Acredito que o google usa meu smartphone Android para compartilhar minha localização real, com o google maps no desktop.
Kim K.
Excelente explicação!
Ramashish Baranwal
11

É muito mais simples do que você pensa. Você fez login em seu celular e no Chrome em sua área de trabalho usando a mesma conta do Google. O Google simplesmente espera que seu celular esteja com você na maior parte do tempo. Eles pegam os dados de localização do seu telefone e presumem que a localização da sua sessão de desktop atual é a mesma.

Eu provei isso fazendo RDP em minha máquina Windows em casa do trabalho e verificando o Google Maps remotamente. Ele mostra minha localização igual à do Chrome no Linux no trabalho.

Se você não tiver um celular conectado ao Google, tudo o que eles podem fazer é pesquisar os dados GeoIP para o endereço IP atribuído pelo seu ISP. Normalmente será totalmente impreciso.

Bruce
fonte
2
Obrigado por compartilhar seu teste conosco. esse foi um novo nível de resposta.
M em
ISSO É TOTALMENTE NONSENSE !! O GPS do meu telefone fica desligado o tempo todo. Não conectado ao wi-fi. Como eles podem obter a localização exata do meu telefone? Não. Portanto, sua hipótese está errada. Conecte-se à VPN e vá ao google e veja, você não se mexeu, mas mostrará outro local. Acho que os ISPs vazam dados sobre o endereço do cliente e seu IP para o Google. ASSIM, como sempre, os clientes estão sendo vendidos.
Tommix,
Tommix, acho que você tem assistido CSI demais. Os dados GeoIP não são granulares o suficiente. É preciso, na melhor das hipóteses, na precisão em nível de país ou estado. Como exemplo, o amplamente usado banco de dados MaxMind GeoIP2 City resolve corretamente 58% dos endereços IP para a cidade exata (lembre-se da cidade, não da rua ou número da rua) nos EUA. Em um raio de 50 km, isso aumenta para 87%.
Bruce,
10

Eles usam uma combinação de geolocalização de IP, além de comparar os resultados de uma verificação de redes sem fio próximas com um banco de dados (que é construído coletando coordenadas de GPS junto com dados de verificação de wi-fi quando usuários de telefones Android usam seu GPS)

bdonlan
fonte
Ok, vamos supor que eles tenham meu ip de geolocalização para Londres, eu realmente não entendo a próxima parte? Como eles estão verificando o que a rede sem fio está perto de mim, como eles sabem onde está "perto de mim"? Meu roteador WiFi é meu e não permite o acesso a mais ninguém, então eles não podem saber sobre ele ou usá-lo.
Shadi Almosri
1
veja meu comentário abaixo: eles executam o código do cliente (no Chrome etc), então o Google não acessa seu roteador, mas o navegador do cliente pode acessar sua placa sem fio e determinar quais redes sem fio estão próximas.
pxb
Então, como o Google sabe qual wi-fi SSID está onde? I hav SSID "suckMyBalls" como eles sabem a localização de SuckMyBalls? Se for baseado em outros SSIDs de WIFI - como eles conseguiram sua localização? A resposta é fácil - o ISP vende dados de IP e localização do cliente para o Google.
Tommix,
7

Eu finalmente descobri. O maior problema é como eles conseguiram descobrir quais eram as redes sem fio ao meu redor e como eles sabem onde essas redes estão.

"Parece" ser algo semelhante a isto:

  1. skyhookwireless.com [ou similar] A empresa mapeou a localização de muitos pontos de acesso sem fio, presumo por meios semelhantes que o google streetview deu uma volta e pegou todas as fotos.
  2. Usando o Google Gears e meu navegador, podemos relatar quais redes sem fio eu vejo e tenho ao meu redor
  3. Compare esses pontos sem fio com sua geolocalização e triangule minha posição.

Referência: Slashdot

Shadi Almosri
fonte
Não, esta teoria é ERRADA. Ninguém está mapeando nada. ISP vende seu ip e endereço para o google.
Tommix,
2

De acordo com a própria ajuda do Google Maps:
Se o seu navegador não pode mostrar imagens, compre um novo!

bit2shift
fonte
1

Rejeitando a ideia das redes WiFi!

Desculpe pessoal ... Eu não vejo isso. Usar redes WiFi ao seu redor parece ser um método altamente impreciso e ineficaz de coleta de dados. Hoje em dia, as redes WiFi simplesmente não ficam muito tempo no mesmo lugar.

Pense nisso, as redes WiFi mudam todos os dias. Sem falar nas redes MiFi e Adhoc que são "projetadas" para serem móveis e viajarem com os usuários. Quebras de equipamentos, alterações nas configurações de rede, pessoas se mudando ... Depender de "Redes WiFi" em sua área parece altamente impreciso e, no final, pode nem mesmo oferecer uma melhoria significativa na granularidade em relação à pesquisa de IP.

Eu acho que a ideia de que os usuários do iPhone estão "digitalizando e enviando" os dados da pesquisa WiFi de volta ao Google, e o wardriving, talvez em conjunto com o mapeamento "Street View" do Google Maps, pode parecer um método muito possível de coletar esses dados. na praticidade, não funciona como modelo de negócio.

Ah, e a propósito, esqueci de mencionar em meu post anterior ... quando eu originalmente puxei minha localização, a hora em que fui identificado "com precisão" no mapa, eu estava me conectando a um roteador do meu desktop por meio de uma conexão Ethernet. Não tenho uma placa WiFi no meu desktop.

Então, se aquela teoria das "redes WiFi próximas" fosse verdade ... então eu não deveria ter sido capaz de localizar minha localização com tanta precisão.

Vou ligar para meu ISP, SKyrim, e perguntar se eles compartilham sua topologia de rede para permitir a geolocalização em suas redes.

ct07
fonte
1
coderrr.wordpress.com/2008/09/10/… você estava conectado por ethernet, mas era a um roteador wireless?
Shadi Almosri de
Quer a coleta de dados de localização funcione ou não como um modelo de negócios, o Google faz isso - googleblog.blogspot.com/2009/08/…
Dan Dascalescu
0

Sei que você pode pesquisar o endereço IP para obter a localização aproximada, mas nem sempre é preciso. Talvez eles estejam usando isso?

atualizar:

Normalmente, seu navegador usa informações sobre os pontos de acesso Wi-Fi ao seu redor para estimar sua localização. Se nenhum ponto de acesso Wi-Fi estiver ao alcance, ou se seu computador não tiver Wi-Fi, ele pode recorrer ao uso do endereço IP de seu computador para obter uma localização aproximada.

pxb
fonte
1
Isso é muito fácil e não é preciso o suficiente. Você pode mapeá-lo para a bolsa mais próxima no máximo, não para o meu ponto exato.
Shadi Almosri
sim, às vezes não é preciso. Mostramos como em Glasgow, embora estejamos a centenas de quilômetros de Londres.
pxb
Sobre a atualização - Como ele sabe quais pontos de acesso WiFi estão ao meu redor? : P
Shadi Almosri
1
A citação é do link que você forneceu. Presumo que o navegador (e deve ser um navegador compatível, então definitivamente há um código específico do cliente para que isso funcione) pode obter informações do sistema operacional nos pontos de acesso Wifi que seu PC pode ver (mesmo se não estiver conectado a eles) e use um servidor para pesquisar informações sobre eles e determinar suas localizações. Então você pode triangular para calcular a localização do computador?
pxb
O IP é atribuído ao ISP. portanto, NINGUÉM pode saber o IP e a localização exatos. EXCETO ISP. O ISP vende seus dados privados para o Google e assim por diante.
Tommix,
0

É possível obter sua localização aproximada com base em seu endereço IP (sem fio ou fixo).

Veja por exemplo hostip.info ou maxmind que basicamente fornecem um mapeamento do endereço IP para as coordenadas geográficas. Provavelmente usam muitos tipos de heurísticas e fontes de dados. Esse tipo de sistema provavelmente tem precisão suficiente para colocá-lo na cidade principal certa, na maioria dos casos.

O Google provavelmente usa uma abordagem semelhante, além de truques WiFi.

Juha Syrjälä
fonte
1
A localização do IP já é conhecida há um tempo e é muito fácil de calcular ao nível da cidade, é a precisão da localização que interessava a esta questão ...
Shadi Almosri