How do services like Google Latitude geolocate my laptop perfectly with no GPS?

7,226

Solution 1

Google Latitude uses a proprietary Google service that operates on the exact same principal as the more popular Skyhook Wireless system. The software takes readings from your wifi adapter, and compares these to a database of known wireless networks and their locations, allowing for the triangulation of your position based on signal strengths. This allows the service to determine an accurate location without GPS.

The database of WiFi networks is quite extensive and comes from multiple sources. First, they likely import from public databases like WiGLE. Second, whenever a laptop running the service sees a new network, it's reported to the service. When multiple computers report a new network, its position can be triangulated based on the position of the known computers. It is fairly simple to keep a database of all wireless networks because all wireless networks (even those with the same ESSID) have a unique interface MAC address assigned by the manufacturer.

Solution 2

[Please upvote/accept @jcrawfordor's answer, but I wanted to add some information and the comment box character limit was too small, so I decided put this as an Answer instead.]

Please note the web browser Geolocation API. You probably forgot that the first time you visited Google Latitude, you gave your browser permission to let Google Latitude access your Mac's Location Services data. For browsers that don't support the Geolocation API natively, there are downloadable browser plug-ins or Java applets that provide this kind of feature, almost always by querying your Wi-Fi card for what networks it can see around it. Skyhook's "Loki" technology is a Java applet, but since it needs to access system APIs to query your Wi-Fi card for network scan data, your browser has to ask permission before it will run Loki. Usually Java apps are completely sandboxed and don't require permission to run because they can't violate your privacy or access anything on your system.

Here's what Safari does when you first visit Google Latitude:
Safari asking permission for Google Latitude to access your location information.

Here's what Safari does when you try to load Skyhook's Loki applet:
Skyhook Loki applet asking permission to access system

Solution 3

Although @jcrawfordor pretty much nailed it and the OP must have moved past this but just for others who end up here,the following is whats being done.

Google,Mozilla and several others have their own Wifi Location databases that get populated . Providers have an option to disable this mapping via '_nomap'to their wifi name(SSID) if they're concerned of privacy.

So location finding is merely an extension of a lookup based on strength of the signal. Furthermore these are private dbs i.e FB and Mozilla. You could examine a public DB like OpenWLANMap .

Hope this helps.

Share:
7,226

Related videos on Youtube

zeminlu
Author by

zeminlu

Updated on September 18, 2022

Comments

  • zeminlu
    zeminlu almost 2 years

    How do services like Google Latitude, through my browser, obviously through my Internet connection (Ethernet not Wi-Fi), obtain my location perfectly with only my current public IP address? By asking my ISP?

    • 100rabh
      100rabh about 13 years
      use the Accept, @Luke
    • Suici Doga
      Suici Doga almost 8 years
      Google maps doesn't show the correct location on mine.There aren't any nearby routers other than mine so could that be the reason
  • jcrawfordor
    jcrawfordor about 13 years
    Positioning based on IP address is approximate (typically just to the city) and sometimes completely wrong (especially in the case of cellular networks, where it's typical to assign IPs in the wrong geography). There are techniques that get a more accurate position based on precise latencies, but they are largely theoretical and not yet used by any service that I know of.
  • Spiff
    Spiff about 13 years
    +1. Also, the Google Maps Street View cars notoriously record Wi-Fi network data as well, and I would be shocked if Google Android phones don't record Wi-Fi network location data as well.
  • Andrew Lambert
    Andrew Lambert about 13 years
    Off the top of my head, AOL uses it.
  • zeminlu
    zeminlu about 13 years
    I understand this perfectly, but the fact is that, as I said on my question, I'm not over Wi-Fi, but through an ethernet cable directly to my router. Therefore, I think that for this case, Amazed's answer fits the best. Unless you can add something else now? Thanks!
  • zeminlu
    zeminlu about 13 years
    Seems to me the best answer so far, because as I mentioned in my question, I'm not over Wi-Fi but through an ethernet UTP cable directly to my router. I knew that with what you said, you could aproximate the location, but the fact is that it is indeed PERFECT, it kinda scared me a little bit, by pointing out my house with no error.
  • jcrawfordor
    jcrawfordor about 13 years
    If your computer has a wifi interface at all, it's being used, even if it is not connected. If you're on a device with no wireless adapter, then yes, ip geolocation is used. But I believe the best accuracy that can be achieved this way is around 2 kilometers.
  • nhinkle
    nhinkle about 13 years
    Some recent research has IP geolocation down to <700 meters now. There's an interesting article on New Scientist about it.