05.11.2014 Views

ЛУЧШИХ ВИРУСОВ - Xakep Online

ЛУЧШИХ ВИРУСОВ - Xakep Online

ЛУЧШИХ ВИРУСОВ - Xakep Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

pc_zone<br />

СТЕПАН ИЛЬИН<br />

/ STEP@GAMELAND. RU/<br />

НАВИГАЦИЯ<br />

БЕЗ GPS<br />

Как определить свои координаты по IP, GSM/UMTS и Wi-Fi<br />

Тысячи лет назад о такой штуке, как GPS, никто не мог даже мечтать.<br />

Но моряки и путешественники отлично справлялись с навигацией,<br />

используя компас и карты, солнце и звезды. Сейчас — век цифровой,<br />

но тоже есть немало способов определить месторасположение без<br />

всяких там систем глобального позиционирования.<br />

Спору нет, GPS — классная штука, но что делать, если приемника<br />

под рукой нет? Далеко не у каждого есть встроенный чип в мобиле.<br />

Да и владелец автомобиля совсем не обязательно успел обзавестись<br />

устройством навигации. Так как же быть? Если не брать в расчет редкие и<br />

экзотические варианты, то основных способа три:<br />

1. Определить IP и с помощью специальной базы данных определить<br />

город, в котором находишься, и нередко — долготу и широту.<br />

2. Определить расположение по находящимся рядом базовым станциям<br />

GSM/UMTS. Это возможно при наличии базы данных с идентификаторами<br />

вышек и их координатами.<br />

3. Использовать для вычисления широты и долготы информацию о<br />

находящихся рядом точках доступа Wi-Fi, передав запрос с их характеристиками<br />

на специальный сервер.<br />

Итак, начнем с самого простого.<br />

IP НАМ В ПОМОЩЬ<br />

Когда мне нужно проверить свой внешний IP, чтобы убедиться,<br />

например, что я включил VPN или прокси, я всегда использую сервис<br />

ip2location.com. Приятно, что, помимо самого IP-адреса, выводится<br />

информация о провайдере, его месторасположении (город, страна,<br />

штат), а зачастую… еще и координаты. Само собой, в базе не будут<br />

указаны широта и долгота для самого обычного клиента интернет-услуг.<br />

Как правило, данные указываются для провайдера, реже — для крупных<br />

компаний, имеющих большие диапазоны статических IP. Получается,<br />

что, подключившись к сети (например, через любой открытый hotspot<br />

или просто воспользовавшись компьютером), можно с большой долей<br />

вероятности определить примерное место, где ты находишься. Конечно,<br />

способ примитивный — и более того, самый неточный из всех представленных<br />

в этой статье. С другой стороны, это реальный шанс определить<br />

месторасположение, всего лишь открыв страничку в интернете. А если<br />

сварганить специальный трекер, установить его на КПК и отслеживать<br />

IP-шники, которые он получает при коннекте к открытым WiFi-сетям, то<br />

реально вычислить передвижения девайса.<br />

Использовать сервис в чистом виде, а именно — переходя браузером<br />

по ссылке ip2location.com, скучно и беспонтово. Месторасположение на<br />

карте не увидеть, лог не сохранить, а сама страница слишком тяжелая<br />

для мобильного инета — короче, это не наш путь. От сервиса нам нужно<br />

только одно — база соответствий разных IP-адресов их расположению,<br />

которую ip2location предлагает приобрести за довольно разумные<br />

деньги. Само собой, подобные базы быстро расплываются по варезным<br />

порталам и торрентам, причем в двух вариантах: .cvs (текстовом) и .bin<br />

(бинарном). С такой базой несложно заточить любое приложение под<br />

себя. Правда, IP-адрес в базе хранится в специальном цифровом виде<br />

без точек и разделения на октеты, но следующая PHP-функция поможет<br />

привести обычный IP-шник к нужному виду:<br />

function Dot2LongIP ($IPaddr)<br />

{<br />

if ($IPaddr == "") {<br />

return 0;<br />

} else {<br />

$ips = split ("\.", "$IPaddr");<br />

return ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256<br />

+ $ips[0] * 256 * 256 * 256);<br />

}<br />

}<br />

Имея такой ключ для адреса, ничего не стоит найти соответствующие<br />

026<br />

XÀÊÅÐ 04 /124/ 09

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!