Skąd Google wie gdzie jest moje WiFi?

Google MapsDla nadania kontekstu przypomnę, że od ponad pół roku korzystam z telefonu komórkowego BlackBerry Bold. Jednym z atutów tego systemu jest fakt, że jest bardzo popularny w USA, dzięki czemu liczący się na rynku gracze pamiętają o tworzeniu swoich aplikacji również w wersji na BB. Mowa głównie o Google, które zapewnia pełną współpracę pomiędzy terminalem a usługami Google. Nie jest inaczej w przypadku aplikacji Google Maps, która bardzo dobrze współpracuje z wbudowanym w urządzenie GPS-em i systemem A-GPS. W aplikacji tej zintegrowana jest usługa Google Latitude, która w Polsce jest jeszcze mało znana.

Google LatitudeGoogle Latitude przesyła informacje o naszym położeniu na serwer i umożliwia udostępnianie tej wiadomości znajomym (a bezpośrednio w programie widzimy na mapie swoich znajomych). Możemy udostępnić taką informację w swoim opisie w Google Talk (status automatycznie się uaktualnia) albo umieścić na mapie na swojej stronie. Dodatkowo Google może pamiętać nasze położenie, dzięki czemu możemy zobaczyć na mapie historię miejsc pobytu i wyeksportować do Google Earth.

Google Latitude History

Aby nie powodować nadmiernego zużycia baterii aplikacja nie używa GPS gdy jest uruchomiona w tle, tylko korzysta z A-GPS, czyli aproksymuje lokalizację na podstawie informacji o “widzianych” przez telefon nadajnikach GSM. Zwykle dokładność takiego określenia pozycji wynosi od kilkuset metrów do kliku kilometrów. Im więcej nadajników (miasto) tym informacja dokładniejsza.

Przechodząc do sedna sprawy: uruchomiłem wczoraj aplikację u siebie na wsi. Google Maps pokazało kropkę na mapie w prawie idealnym miejscu (+- 20 metrów) i napisało “Your location within 100 meters. Waiting for GPS”. Bez sygnałów z satelitów udało mu się określić “dokładną” pozycję. Krótki test pokazał, że stało się tak dzięki temu, że telefon był w tym czasie podłączony do prywatnego, domowego WiFi (stąd pewnie dokładność 100 metrów odpowiadająca zasięgowi WiFi). Pomyślałem, że dziwne i stwierdziłem że nie będę zawracał sobie tym głowy.  Przyjechałem do Warszawy i powtórzyłem test. Bez WiFi lokalizacja jest z dokładnością rzędu 1000 metrów. Włączyłem WiFi i od razu osiągnąłem dokładność 100 metrów (bez GPS!), a kropka oznaczająca pozycję jest na mapie umieszczona w idealnym miejscu.  I teraz pytanie: Skąd Google wie gdzie jest moje WiFi? Przyznam, że nie umiem udzielić odpowiedzi na to pytanie. Jestem świadomy, że Google wie o nas wszystkich dużo, ale czy czasami nie za dużo? Skąd oni biorą informacje (oba WiFi podłączone do neostrady w dwóch różnych województwach)?

Może ktoś umie udzielić odpowiedzi na to pytanie? Jeśli ktoś posiada Google Maps, niech spróbuje czy ma taki sam objaw.

Wykonałem “za ciosem” jeszcze jedną próbę: odpaliłem na iPod Touch podłączonym do WiFi Google Maps, ale program stwierdził, że nie potrafi znaleźć mojej lokalizacji.

Zapraszam do podzielenia się własnymi uwagami na ten temat.

|

Komentarze (40) »

  1. Łukasz Więcek:

    18 Nov 2009 @ 00:10

    U mnie po odpaleniu WiFi też dokładność nagle wzrosła, ale o dziwo mój domniemany obszar położenia został źle wyznaczony 😉 Widać Google nie wie, gdzie jest mój AP 😉

    Przedstawiam też dwa screeny:
    Bez GPS i WiFi: http://clip2net.com/clip/m233/1258499395-device1-71kb.png
    Bez GPS, ale z WiFi: http://clip2net.com/clip/m233/1258499423-device2-31kb.png

    Pozdrawiam!

  2. df:

    18 Nov 2009 @ 10:50

    np. na podstawie sąsiednich adresów fizycznych kart sieciowych/routerów/access pointów ze znanymi lokalizacjami GPS

  3. komw:

    18 Nov 2009 @ 10:50

    Google Latitude przesyła informacje o aktualnych BTS’ach do których jesteśmy podłączeni. W momencie gdy np użytkownicy używali google maps z włączonym GPSem, google zrobiło/robi mapę BTSów na świecie. Ludziom którzy nie mają GPS’a , google wyznacza pozycję tylko na podstawie właśnie takich map BTS’ów.
    Proste, przyjemne i w miare dokładne..

  4. miki:

    18 Nov 2009 @ 10:50

    przeczytaj o Assisted-GPS i GPS. nie ma to nic kompletnie wspolnego z lokalizacja sieci wifi

  5. komw:

    18 Nov 2009 @ 10:52

    Ew. może też zawężać kręg przez geolokalizację IP.

  6. rejdzu:

    18 Nov 2009 @ 10:53

    wszystko to odbywa sie poprzez obliczanie pozycji za pomoca przekaznikow operatorow gsm. Taka sama funkcjonalnosc ma program palringo, ktory bez wlaczonego gps jest w stanie okreslic pozycje na mapie. wifi potrzebne jest tylko do wczytania lokacji z google maps. jezeli masz kolo siebie duzo przekaznikow to mozna okreslic pozycje z dosyc duza dokladnoscia

  7. Jay:

    18 Nov 2009 @ 10:54

    To jest stosunkowo prosta i popularna metoda. Nazywa się geolokalizacja i jest możliwa po nr IP urządzenia, bądź adresie hosta. Więcej info na … google 😉

  8. rejdzu:

    18 Nov 2009 @ 10:58

    geolokalizacja na pewno ci zadziala w systemie zmiennych ip jaki wystepuje w usludze neostrada

  9. gray:

    18 Nov 2009 @ 11:04

    Tzw. ‘znawcom tematu’ podpowiadam – adres fizyczny nie jest rutowalny.

  10. kebe:

    18 Nov 2009 @ 11:14

    Ja ostatnio też się zastanawiałem nad tym “problemem”… i znalazłem odpowiedz na http://feedback.twofortyfouram.com/pages/5655-locale-feedback/suggestions/67865-improve-location-detection-wi-fi-condition- (żółte komentarze)

  11. agaghgk:

    18 Nov 2009 @ 11:16

    Gdyby zacząć wszczepiać obowiązkowo RFIDY to ludzie by się burzyli. Wystarczy pomachać im przed nosem telefonem i jeszcze sami zapłacą …

    😉

  12. haha:

    18 Nov 2009 @ 11:21

    Boszzzzzz co za bzdury. Google nie namierza żadnego wifi tylko namierza cie wg nadajników GSM. Mam tak samo – i o dziwo nie korzystam z żadnego wifi…

  13. Koziołek:

    18 Nov 2009 @ 11:42

    Kiedyś w czasach gdy był projekt PowerGG istniała wtyczka pozwalająca na trace połączenia. Raport zawierał między innymi podstawowe dane o punktach przyłączeniowych oraz dane klienta (imię, nazwisko, kod pocztowy). Wbrew pozorom w sieci śmiga bardzo dużo informacji geolokalizacyjnych.
    Za pomocą zwykłych narzędzi sieciowych można określić położenie urządzenia fizycznego z dokładnością do około 100m. Czyli wiedząc gdzie mniej więcej jesteś i mając sygnał GPS można znacznie dokładniej określić pozycję.

    Zresztą określenie “bez GPS” jest trochę naciągane, bo telefon jeżeli tylko jest włączony to jest w tak zwanej sieci ratunkowej, dzięki czemu bez logowania u operatora można dzwonić pod 112.

  14. Romek:

    18 Nov 2009 @ 11:44

    ożeszcie jakiś ty kozak 😀 po wifie namierzył go co do metra 🙂
    koleś, wyłącz moduł gsm/dcs i ciekawe z jaką dokładnością cie namierzą 😀
    tragedia, zamiast poczytać i zrozumieć jak działa GPS, A-GPS, to w zamian jest pierdolenie na cała stronę, że cuda i czary z Google….

  15. MB:

    18 Nov 2009 @ 12:00

    Proste, pewnie juz wczesniej byles w zasiegu tego wifi i mailes wlaczony GPS, google dzieki temu zdobylo namiary geograficzne wifi i sobie zapamietalo…

  16. areskey:

    18 Nov 2009 @ 12:14

    http://jestemmobilny.pl/2009/06/domowy-gps-od-nokii/

  17. Grzegorz:

    18 Nov 2009 @ 12:40

    A-GPS dziala troche inaczej, to nie jest aproksymacja na podstawie nadajnikow. Sa to dodatkowe dane pobierane z serwerow operatora GSM pomagajace szybciej “zlapac” sygnal GPS z satelitow. A-GPS nie moze dzialaz bez GPS.

  18. Gantz:

    18 Nov 2009 @ 12:47

    z wiki: “Działanie polega na pomiarze czasu dotarcia sygnału radiowego z satelitów do odbiornika. Znając prędkość fali elektromagnetycznej oraz znając dokładny czas wysłania danego sygnału można obliczyć odległość odbiornika od satelitów.”

    jeżeli zpingujemy jeden adres IP dostaniemy czasz w jakim odpowie ten serwer znając średnią prędkość z jaką przesyłany jest pakiet możemy wyznaczyć okrąg na mapie i w pobliżu tego okręgu będziemy się znajdowali
    jeżeli zrobimy tak z dwoma okręgami będziemy mieli na mapie dwa punkty (przeciącia się okręgów) i w pobliżu jednego z mich będziemy się znajdowali
    w przypadku trzech okręgów jest możliwe wyznaczenie jednego punktu koło którego będziemy się najdowali
    pomiar będzie mało dokładny ale jeżeli zwiększymy ilość takich okręgów to pomiar będzie coraz bardziej dokładny

    podsumowując nadajników gsm w pobliżu będzie tylko kilka, a adresów serwerów (których płożenie jest znane jest sporo) więc wystarczy obliczyć odległość od np. 20 różnych serwerów (wydaje mi się że tyle wystarczy) nie jest sprawą trudną

  19. HouK:

    18 Nov 2009 @ 12:51

    Sprawa prosta … W większości nowych laptopów włączenie przełącznikiem Wifi i bluetooth w laptopie powoduje też włączenie GPS-a … Np w DELL-u domyslnie w bios jest ustawioen że GPS-bluetooth i Wifi włączane są po przełączeniu tego przełącznika.

  20. echo:

    18 Nov 2009 @ 12:52

    Romek, już czujesz się fajny…?

  21. HouK:

    18 Nov 2009 @ 12:52

    Pingi to kiepski miernik. Czasy odpowiedzi są zależne od obciążenia łącza …

  22. Zembi:

    18 Nov 2009 @ 13:09

    Prawdopodobnie dzieki WPS (wireless positioning system).

    Jest kilka produktow ktore juz uzywaja tej technologii pozycjonowania i pewnie chodzi o to. Podobnie jak sreet view (samochod jezdzil po miescie walil fotki), firma ktora sworzyla WPS wypuscila auta ktore jezdzily rowniez po polsce wylapujac sygnaly WiFi. Nawet jesli siec byla zabezpieczona antena wylapywala zrodlo sygnalu, SSID sieci i ustawiala lokalizacje. WPS z pewnoscia nie jest tak dokladny ale latwiejszy do zalozenia ze wzgledu na to ze wystarczy go wlaczyc softwarowo w wypadku posiadania urzadzenia bezprzewodowego – niepotrzebny jest modul GPS.

    Wiecej na ten temat na googlach, ale sa juz np. karty bezprzewodowe do aparatow foto (mam taka) ktore korzystaja z WPS – ale w sumie jestem zaskoczony ze tak dokladnie ci wychwyca bo tutaj tez jest roznica kilku metrow (duze bloki duzo sieci) do kilometra.

  23. Gantz:

    18 Nov 2009 @ 13:11

    Tutaj bym się raczej nie zgodził z tobą do końca

    Bez pobierania:

    Odpowiedź z 216.239.59.104: bajtów=32 czas=53ms TTL=48
    Odpowiedź z 216.239.59.104: bajtów=32 czas=53ms TTL=48
    Odpowiedź z 216.239.59.104: bajtów=32 czas=55ms TTL=48
    Odpowiedź z 216.239.59.104: bajtów=32 czas=55ms TTL=48

    pobieranie na pełnej przepustowości:

    Odpowiedź z 209.85.229.104: bajtów=32 czas=52ms TTL=48
    Odpowiedź z 209.85.229.104: bajtów=32 czas=53ms TTL=48
    Odpowiedź z 209.85.229.104: bajtów=32 czas=52ms TTL=48
    Odpowiedź z 209.85.229.104: bajtów=32 czas=52ms TTL=48

    poza tym pisałem że im większa ilość serwerów tym pomiar jest dokładniejszy, pozatym ping nie ma rozmiarów 1k pakietów

  24. Lukasz:

    18 Nov 2009 @ 13:19

    Metoda jest prosta, kazda osoba majaca wlaczony GPS i wifi mapuje wszystkie acces pointy jakie po drodze widzi jego telefon. Pary wspolrzedne (lon,lat) oraz adres mac urzadzenia sa wysylane do google. Za kazdym razem jak ktos bedzie w poblizu takiej sieci zostanie automatycznie zlokalizowany na podstawie wczesniej dostarczonej do google lokalizacji.

    Jak ktos uzywa latitude i w ogole location based services na telefonie z androidem i bedzie chcial byc zlokalizowany na podstawie wifi bedzie musial sie zgodzic na wysylanie anonimowej informacji o lokalizacji do google (w zamian za tani i szybki sposob lokalizacji).

    Metoda zostala juz dawno temu wprowadzona przez fime Mexens, aktualnie jest dostepna w produkcie Navizon (www.navizon.com)

  25. toffitomek:

    18 Nov 2009 @ 13:32

    Google Maps dla BB nie uzywa wifi. Transfer odbywa sie tylko po połączeniach GSM

  26. Glaeken:

    18 Nov 2009 @ 13:34

    A-GPS, to co innego niz DGPS.
    AGPS do dane o ephemeris satelit, ktore sie wgrywa do nadajnika GPS, przyspieszaja namiar gps, mniejwiecej zamiast 40 sekund, czekasz 3 na wyznaczenie lokalizacji.
    DGPS to jest differential GPS i moze byc na podstawie EGNOS/WAAS lub nadajnikow naziemnych LUB danych z internetu, ale tylko waska gama odbiornikow GPS obsluguje dane z internetu i zapewniam was, ze nie widzieliscie takich odbiornikow nawet na oczy.
    Najczesciej spotyka sie odbiorniki obslugujace WAAS/EGNOS, czyli dodatkowe kilka setelit, ktore przesylaja dane korekcyjne oraz (glownie w USA i nie dla publiki) odbiorniki podobne do LORAN, ktore korzystaja z nadajnikow naziemnych zeby odebrac sygnal DGPS.
    Systemy te sa tylko WSPARCIEM dla GPS. Nie zastepuja go i nie maja nic wspolnego z uslugami trangulacji GSM czy lokalizacja sieci WiFi.

  27. jacekowski:

    18 Nov 2009 @ 13:50

    Ehh co za ludzie, napisal wyraznie ze wlaczenie wifi poprawialo dokladnosc, pomimo wylaczonego gps – co by oznaczalo ze na takiej samej zasadzie jak sobie porobili mapki BTSow tak porobili sobie mapki AP – bo co to za problem skoro telefony maja gps, nawet kismet ma opcje ze potrafi polaczyc sie z gps i zapisywac sobie lokalizacje, wiec pewnie wyglada to na takiej zasadzie
    – telefon do google – o mam tu takiego AP aa:bb:cc:dd:ee:ff wiesz moze gdzie on jest
    – google do telefonu – ten AP jest w 66° 33′ 39″ N 3° 1′ 14″ E
    – google do telefonu, opcja alternatywna – nie wiem, odpal gps i wyslij lokalizacje

  28. Grzegorz:

    18 Nov 2009 @ 16:48

    @Gantz: od kiedy pingami mierzy się odległość??? Przecież czas odpowiedzi nie zależy od odległości tylko od czasu przetwarzania pakietów przez routery. Impulsy w kablu czy też światłowodzie pokonują przecież 300 km w ciągu jednej milisekundy. Wszystkie serwery w Polsce pingowałyby się więc w czasie pojedynczych milisekund. A tak przecież nie jest, bo przecież pakiety muszą być przetworzone przez elektronikę poszczególnych routerów na trasie. Przetwarzanie obejmuje np. dekrementację pola TTL. Pingami mógłbyś mierzyć odległość gdyby były przetwarzane w zerowym czasie.

  29. fryt:

    18 Nov 2009 @ 16:51

    firefox jak i pewnie google maps pobiera od nas dane przez przegladarke w tym mac adres naszej karty sieciowej, adres ssid i siłe sygnału , dzięki temu własnie moze okreslac te polozenia, jesli ci nie pasuje to wylacz ta funkcjonalnosc 😉
    src: http://mxr.mozilla.org/mozilla-central/source/dom/src/geolocation/NetworkGeolocationProvider.js#323

    320 if (accessToken != “”)
    321 request.access_token = accessToken;
    322
    323 if (accessPoints != null) {
    324 request.wifi_towers = accessPoints.map(function (ap) ({
    325 mac_address: ap.mac,
    326 ssid: ap.ssid,
    327 signal_strength: ap.signal,
    328 }));
    329 }

  30. Bejb:

    18 Nov 2009 @ 18:35

    Zero prywatności w dzisiejszych internetowych czasach, zrezygnowałem z instalacji Opery mobile na telefonie z symbianem, ponieważ wyczytałem w tresci licencji jaką musiałem zaakceptować przed instlacją o tym że Opera zbiera wiele danych o użytkowniku łacznie z numerem telefonu, nie wiem gdzie to dalej wędruje więc anulowałem instalację, podobnie było z palringo, chcialem skorzystać, ale zniecheciła mnie tez funkcja lokalizacji, niby można to kontrolować, ale nie mam czasu badać dogłębnie obsługi funcji tego programu, jeszcze pomylę jakąś funkcję a późnie okaże się że moja była dziewczyna będzie zawsze wiedziała gdzie jestem i przyjdzie oblać mnie szklanką wody kiedy pójdę do restauracji z nową dziewczyną 😉 producenci tego typu programów sami strzelają sobie gola do własnej bramki, w świecie internetu jest podobnie jak w świecie przepisów prawnych, tzn. nieznajomośc prawa szkodzi, poodbnie tutaj, neiznajomość zasad funkcjonowania programów i duża ilosc opcji może doprowadzić do tego że zaczną one działać na nasza niekorzyść bo klikniemy nie w ten link co powinniśmy i ktoś zainstaluje trojana i wykradnie numer karty kredytowej pozniej wyczyści konto, wiadomo że nie można popadać w paranoję, ale rozsądek podpowiada umiar i korzystanie z rzeczy które się zna i wie jak się je obsługuje, to tyle z mojej strony, dziekuję za uwagę 😉

  31. Cass:

    18 Nov 2009 @ 21:15

    Jeżeli dobrze zrozumiałem podłączyłeś się do domowego Wi-Fi i dziwisz się dlaczego google widzi twoją pozycję? Jeżeli nie to sory, ale jeżeli o to chodzi to odpowiedź jest prosta. Google pobiera adres sieciowy (IP) serwera, z którego w danej chwili korzystasz i przeszukuje bazy danych o lokalizacji danego ip i wyświetla wynik. Myślę, że za drobną opłatą TP udostępnia takie informacje. Jak wyłączasz Wi-Fi to włącza się ustalanie pozycji na zasadzie najczęściej 3 najbliższych nadajników, które zazwyczaj są trochę od siebie oddalone. Pozdro

  32. ab:

    18 Nov 2009 @ 22:20

    Gantz: nie masz o tym zielonego pojecia.

  33. Romek:

    18 Nov 2009 @ 23:36

    @echo
    Zacznę się czuć fajny jak ty zaczniesz mi obciągać

  34. Aggressor:

    19 Nov 2009 @ 14:02

    Namierzanie lokalizacji użytkownika przy wykorzystaniu jego połączenia WiFi wykorzystuje też polski serwis z UK http://www.totu.co.uk. Zawsze gdy wchodzę na tę stronę z terenu UK korzystając z połączenia WiFi pokazuje moją dokładną loklaizację,. A jak jestem podłączony przez kabel, to już tylko lokalizuje mnie w centrum Londynu.

  35. Co zrobić z Google Latitude » blogh:

    24 Nov 2009 @ 00:34

    […] Na szybko napisałem więc skrypt (w PHP – bo tak), który przy pomocy CURL’a pobiera dane w formacie JSON i wrzuca je do mojej bazy danych. Ustawiłem, aby skrypt był uruchamiany co 10 minut i mam już swoją bazę danych z historią lokalizacji. Idealnie nie jest – telefon wysyła informację o swoim położeniu średnio co 40 minut, w dodatku, gdy korzysta tylko z nadajników GSM często określa położenie z dokładnością do kilku kilometrów. O dziwo, gdy telefon ma włączony moduł wi-fi dokładność jest znacznie większa – kilkanaście metrów (jak słusznie zauważono tydzień temu). […]

  36. Piotr:

    1 Mar 2010 @ 01:02

    do Cass: bzdury wypisujesz, adres IP to nie adres firmy i serwer mozesz miec w dowolnym miejscu, powiedzmy ze jestem wlascicielem sieci wifi i mam klase C. Jeden serwer moge miec w firmie, drugi 10km dalej, oba maja inne IP i dane tepsy tu nie pomoga.

  37. mroova81:

    2 Apr 2010 @ 16:32

    Mam omnie lite i bez włączonego modułu GSM (nawet bez karty, jeszcze nie zdążyłem się przesiąść) telefonik pokazuje dokładnie gdzie jestem +-300m ale w rzeczywistości mniej. Oczywiście nie korzystam z GPS, bo w bloku to nawet nie da się złapać fixa, działa tylko i wyłącznie wi-fi. Żona ma SE w595 bez GPS, ale ma google maps i jej fon też wie gdzie się znajduje.
    Sam nie wiem, czy się cieszyć tymi funkcjami… Dlaczego się o tych metodach lokalizacji nie mówi tak głośno jak o innych “dobrach”?

  38. Az:

    16 May 2010 @ 09:20

    Działa b. ładnie

  39. dav4:

    10 Jun 2010 @ 20:32

    Mieszkam obok małego sklepiku. W sklepiku mają sieć wifi, telefonik (i600) w domku łapię sieć z sklepiku i moją domową. Ostatnio w sklepiku nie ma prądu bo ma z innego źródła, trwają prace.. i co za tym idzie ta sieć z sklepiku jest nie dostępna. Mój i600 nie ma gps i jak dotąd w domu raczej nie było problemów z ustalaniem pozycji ale ostatnio przez to że nie ma dostępnej tej sieci to telefonik nie chce coś pozycji ustalić. Morał jest prosty, Google maps wysyła SSIDy lub mac’i APeków i potem ustala położenie wg. ich kombinacji, aczkolwiek czasami i bez wifi ustali położenie, ale rzadziej. Wg google i600(blackjack 1) jest nie kompatybilny z latitude ;/

  40. Improwizacja:

    2 Dec 2012 @ 04:25

    Skontaktuj się ze mną gg1634814 chętnie pogadam na ten temat myślę że też mam całkiem ciekawą historie mogą mieć związek.

RSS komentarzy · adres TrackBack

Odpowiedz