大多数浏览器现在都内置了对 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(使用前将#替换为@)