使用 Google Geolocation API 通过 MAC 地址对 802.11 接入点进行地理定位

2023-11-25

大多数浏览器现在都内置了对 Google 地理定位 API 的支持。他们通过向 Google 发送附近 802.11 接入点(其信标被您的计算机捕获的那些接入点)的 MAC 地址来实现这一点。

我从不同位置捕获了大量 802.11 数据包。我正在寻找 802.11 接入点的地理定位。假设我们只有他们的 mac 地址。这应该可以通过使用 Google Geolocation API 来实现。

迄今为止我发现的可能对此有所帮助的来源包括:

  • 来自 Mozilla 1.9.1 代码库的地理定位源代码
  • 有关监控 WiFi 接入点的 MDN 文章
  • 有关使用地理定位的 MDN 文章
  • Mozilla WebDev 关于在浏览器中使用地理定位的文章

第一个可能是最好的选择。问题是,我不确定如何使用那里的示例并实际创建一个程序,让我通过管道输入 MAC 地址并输出纬度/经度对。我也不确定如何从 Unix/MacOS 命令行运行 JavaScript。

我知道有很多问题要问,但是有人知道我应该从哪里开始吗?


<?php

$mac = $_SERVER['argv'][1];


$postData = '{
    "version": "1.1.0", 
    "wifi_towers": [{
        "mac_address": "' . $mac . '", 
        "ssid": "0", 
        "signal_strength":-72
    }]
}';

$opts = array(
  'http'=>array(
    'method' => "POST",
    'header'  => 'Content-type: application/x-www-form-urlencoded',
    'content' => $postData
  )
);


$response = file_get_contents(
    'http://www.google.com/loc/json', 
    false, 
    stream_context_create($opts)
);

$loc = json_decode($response, true);

echo $loc['location']['latitude'];
echo ',';
echo $loc['location']['longitude'];

命令行用法:

php geo.php "mac addy here"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Google Geolocation API 通过 MAC 地址对 802.11 接入点进行地理定位 的相关文章

随机推荐