Определить место нахождения по телефону. Как узнать местоположение человека на андроид телефоне или планшете

Часто случаются ситуации, когда нужно обнаружить человека, координаты которого неизвестны. Не обязательно это действие связано со слежкой, возможно, ребенок с сотовым телефоном в кармане просто заблудился.

Что же делать? Тогда определить местонахождение по номеру телефона поможет оператор связи.

Когда нужно знать местоположение абонента

В жизни случаются разные ситуации. Очень часто люди хотят, но не могут найти друг друга. Тогда определить местонахождение по номеру телефона - единственно возможный выход. К примеру, договорились встретиться в незнакомом районе или городе, но сориентироваться на местности не получается. Или ребенок после уроков зашел к другу, забыл позвонить, и родителям необходимо узнать, где он находится. В этом случае нужна помощь координатора.

Как уже говорилось выше, есть возможность выяснить местонахождение по номеру сотового аппарата. Очень распространенный случай - поиск собственного пропавшего или украденного телефона. Здесь уже возможно использование специальных предустановленных программ. Бывают ситуации, когда идет розыск пропавшего или поиск преступника, который скрывается от правосудия - и в этом случае спецслужбы также прибегают к помощи операторов сотовой связи. Если определить местонахождение телефона, лежащего в кармане, то человеку уже не спрятаться. Не исключены также «шпионские игры», когда пеленг ведется не совсем законно.

Кто может запросить сведения

Сведения о положении телефона может запросить кто угодно. Определить местонахождение по номеру телефона иногда нужно по различным причинам, поэтому и заявители могут быть разными.

Самое главное условие - тот, кто сделал запрос на услугу, должен иметь на это право. Если поиск ведется через оператора с использованием его SMS-сервисов, то необходимо согласие и подтверждение «потерявшейся» стороны. Если используется специальная программа-пеленгатор, работающая по технологии GPS или ГЛОНАСС, то человек опять же знает о наличии у него такого маячка. Без согласия абонента найти его возможно только с санкции спецслужб.

Когда нельзя узнать и почему?

Определить, где находится абонент или телефон, не всегда удается. Как определить местонахождение человека, если он, к примеру, отключил свой сотовый аппарат? В этом случае система не работает. Вы не сможете узнать, где он находится в этот период времени. В случае с кражей телефона похитителю достаточно сменить сим-карту, и поиск станет невозможен. Кроме того, нельзя найти человека, если он не подтвердит свое согласие на передачу данных.

Какие операторы поддерживают услугу

На сегодняшний день крупнейшие российские операторы имеют возможность определить местонахождение по мобильному устройству. Такие гиганты, как МТС, к примеру, предоставляют услугу под названием «Локатор». Ее использование сводится к простым действиям: нужно отправить на короткий сервисный номер 6677 сообщение, содержащее телефонный номер потерявшегося человека. Далее к нему придет текстовое уведомление с просьбой подтвердить свое местонахождение и согласие на передачу таких сведений. Это главное условие. Если абонент согласится, то его месторасположение будет сообщено, а если откажется, то никто не узнает, где он в данный момент находится.

Оператор «Билайн» также имеет схожий сервис: отправка сообщения производится на номер 684, далее действия представителя сотовой компании идентичны с описанием правил МТС.

У «Мегафона» такой сервис доступен не на всех тарифных планах. Нужно отправить запрос USSD: *148* № пропавшего #, и, если абонент согласен, его местонахождение станет вам известно.

Каких действий не нужно делать?

Интернет пестрит сайтами, которые предлагают программы, якобы сообщающие о местоположении телефона, минуя оператора. Достойны ли они вашего внимания? Как показывает практика, такие программы оказываются обычными играми. Или, если совсем не повезет - опасными вирусами. Лучше использовать программы-маячки, созданные проверенными разработчиками. Скачивать их рекомендуют с официальных сайтов. Многие программисты утверждают, что с помощью их разработок непременно можно определить местонахождение человека по телефону. Но это не всегда так на самом деле. Система сотовой связи разработана давно и считается одной из самых надежных в плане секретности, поэтому не стоит безусловно доверять подобным заявлениям.

Каким образом вычисляют местонахождение

Операторы используют для поиска возможности своих радиовышек, для программ-маячков необходимо, чтобы оба сотовых устройства были подключены к сети Интернет. Оператор пеленгует мобильный телефон с точностью 100-200 метров по схеме расположения своих базовых станций. Для простых пользователей определить местонахождение по номеру телефона с большей точностью невозможно.

Навигационные программы отравляют запрос на сервер, оттуда - на спутник. Он разыскивает телефон с заданными параметрами и отправляет полученные сведения своему абоненту. Точность обычно выше (плюс-минус 50 метров). Для применения систем навигации необходим доступ к сети, так как используются интерактивные карты: «Яндекс Локатор» или «Google Maps».

Современные технологии

Спецслужбы или МВД для поиска пропавших людей пользуются иными технологиями. Когда телефон включен, он ищет ближайшую к нему вышку. Так устроена его работа. Так как вышки расположены на местности чаще, чем базовые станции, а их радиус действия около 50м, то определяя, к какой именно вышке подключен конкретный абонент, можно узнать его расположение с высокой точностью. Но это радиус, в котором, возможно, находится человек, то есть зона поиска в таком случае равна 8,5 кв.км.

Если подключается специальное оборудование и программное обеспечение, то слежение ведется с нескольких точек. В этом случае возможно определить и точные координаты на местности, а зона поиска сужается до 1 кв.м. Так как цель, как правило, постоянно движется, то и точки, с которых ведется пеленг, также постоянно меняются. Поэтому на обновление оперативных данных требуется несколько секунд. Несмотря на всю сложность и дороговизну таких поисковых операций, они весьма эффективны и используются «спецами» для обнаружения и ликвидации опасных преступников.

Так как определить местонахождение мобильного телефона - это довольно дорогое удовольствие, технологии пеленга постоянно меняются и совершенствуются. Если раньше только спецслужбы могли позволить себе такие средства слежения, то на сегодняшний день это доступно более широкому кругу лиц. Группы программистов с достаточно хорошей подготовкой и сильной технической базой в состоянии создать систему слежения для какой-то конкретной местности, просто выйдя на частоты станций и заведя их в базу.

Они разрабатывают алгоритмы, позволяющие высчитывать координаты цели с высокой точностью. Кроме того, некоторые производители мобильных телефонов снабжают их средствами пеленга, которые с определенной периодичностью отсылают на навигационный спутник сигнал, не зависящий от сим-карты. Так можно отследить телефон вплоть до момента его отключения.

Сколько это стоит

Для простых людей сервис поиска телефона доступен за чисто символическую плату. Это позволяет воспользоваться данной услугой более широкому кругу лиц, если поиск ведется с использованием возможностей оператора. Такие услуги, как «Локатор» и аналоги стоят от 2 до 12 рублей за один запрос. Программное обеспечение, используемое как маячок, оценивается не намного дороже. Таким образом, законные способы поиска вполне доступны любому абоненту сотовой сети.

Очень часто люди не могут найти свой телефон, или им необходимо по номеру телефона определить местонахождение человека. В современном мире решить этот вопрос довольно просто, так как существуют программы и онлайн-сервисы, которые помогают определять местонахождение телефона.

Мобильные телефоны

Определить местонахождение мобильного телефона можно несколькими способами:

  • звонок/смс-сообщение;
  • оператор сотовой связи;
  • GPS-поиск;
  • специальные программы и сервисы.

Звонок/смс-сообщение

Если собираясь на работу или гуляя по парку, вы случайно выронили мобильный телефон, следует позвонить на него или отправить смс-сообщения. Услышав знакомую мелодию, вы сможете найти свой телефон.

Оператор сотовой связи

На сегодняшний день практически все операторы сотовой связи предоставляют услугу, благодаря которой можно определить местонахождение телефона.

  • У «Билайна» - это «Мобильный локатор», которая предоставляется бесплатно. Абонент платить только за соответствующие запросы. Активируется услуга по номеру 06849924. В дальнейшем для отправления запроса нужно посылать SMS с текстом «L» на номер 684.
  • У оператора «МТС» с помощью сервиса «Локатор» можно узнать местонахождение абонента. Для этого необходимо отослать смс - сообщение на номер 6677, в котором указать имя интересующего абонента. Только после его подтверждения, вы сможете получать необходимую информацию.
  • Компания «Мегафон» не осталась в стороне и предложила своим пользователям сайт locator.megafonkavkaz.ru, с помощью которого можно узнать, где находится телефон. Местоположение необходимого абонента приходит в виде смс-сообщения. Но перед этим второй абонент должен дать согласие на обработку его данных, отправив смс на номер 000888 с текстом «+ и ваш номер телефона». Для определения местоположения ребенка «Мегафон» предоставляет услугу «Маячок», которую можно подключить к одному из детских тарифов.

Если вам не удалось найти абонента, прочитайте статью или , где даны дополнительные варианты поиска.

GPS-поиск

GPS-навигация позволяет находить человека с помощью спутниковых систем. Если хозяин телефона отметил свое местонахождение на карте, то навигация будет показывать, где находится телефон. Стоит отметить, что многие игры и социальные сети просят указать, где вы находитесь. Таким образом, вы отправляете данные на спутник.

Специальные программы и сервисы

Сайты

В сети очень много сайтов, которые предлагают поиск телефонов. Для того, чтобы найти абонента можно воспользоваться сайтом http://mobile-catalog.info/analys_tel_numb.php . Стоит отметить, что он вам не выдаст точное местоположение телефона, а только приблизительные его координаты.

Apple-приложение

Если вы пытаетесь найти другой телефон с Apple, то можно воспользоваться приложением «Find my friends». Данное приложение позволяет искать не только обладателей Apple, но и других абонентов, которые предоставят вам свои данные.

Стационарный телефон

Если вы знаете стационарный телефон абонента, то найти его местоположение можно с помощью сайта spravkaru.net . На сайте необходимо выбрать страну проживания абонента и вписать его номер телефона. Также можно попробовать поискать в печатном телефонном справочнике.

Всем здравствуйте! В этой статье я решил описать, как отследить местоположение человека по номеру телефона. В обычной жизни случаются различные ситуации, когда бывает нужно определить местонахождение человека.

Например, многие люди заботятся о своих родственниках, пожилых людях либо детях. Кроме того, что касается бизнеса, так тут также отслеживание как раз к месту: руководителям нужно контролировать работу своих сотрудников.

До недавнего времени отслеживать людей могли только лишь специальные службы (ФСБ, полиция), сейчас же такая специфическая услуга доступна простым людям. Обычно, для успешного выполнения поиска местонахождения человека требуется его согласие, но есть и такие варианты, когда это можно сделать без его ведома. Определить местонахождение человека по телефону можно различными вариантами. Их я и рассмотрю ниже.

Как отследить местоположение человека по номеру телефона?

Есть достаточно много методов, посредством которых можно отследить местонахождение людей. Практически все нынешние телефонные устройства, планшеты имеют GPS, Wi-Fi и связь. Если GPS на прямую связан с функцией, которая помогает точно узнать местоположение, то Wi-Fi и GSM/3G/LTE также косвенно могут действовать в этой области.

Нужно только заставить пересылать эти сведения нам для дальнейшего определения местонахождения человека на карте.

Так, для таких целей можно использовать: телефон, компьютер, GPS, специальные сайты и приложения.

  • GPS-навигация. С помощью такой навигации можно следить за теми людьми, которые очень часто фотографируются с отметкой места, где сделан снимок.
  • Специализированные программы. С помощью доступа к аккаунту в Google можно законно установить ПО на смартфон.
  • Глобальная сеть. В интернете есть множество различных сайтов, которые помогают следить за человеком. Да, результат будет не таким точным, но примерное местонахождение все-таки можно будет узнать.
  • GPS-трекер. Модуль встроен в мобильный, с помощью него можно следить за смартфоном.

Прослушка мобильного телефона

На просторах глобальной сети есть множество программ, которые помогают отслеживать разговоры человека через телефон, как на андроиде, так и на других устройствах. У таких программ есть свои возможности:

  • записи прослушки будут передаваться к вам на компьютер, смартфон или айфон;
  • в отдельной папке можно просматривать журнал звонков абонента;
  • все сообщения перехватываются и передаются на ваше устройство;
  • все письма с электронки могут переадресовываться на ваш адрес;
  • есть возможность определить местонахождение.

Самый примитивный вариант, который каждому подойдет – обратиться к своему мобильному оператору.

  1. Билайн предлагает своим абонентам услугу «Мобильный локатор». Чтобы воспользоваться услугой, нужно позвонить по номеру 06849924 и отправить сообщение с текстом «L» на номер 684.
  2. Компания «Мегафон» назвала такую услугу «Маячок». Подключить услугу можно, позвонив по номеру телефона 466.
  3. Для определения местонахождения абонента МТС можно воспользоваться услугой «Локатор». Для ее подключения требуется позвонить по телефону мтс 6677.

GPS

Еще одним хорошим способом является GPS-навигация, то есть отслеживание по передающим вышкам. Да, с помощью такой навигации можно с легкостью узнать местоположение человека, причем совершенно бесплатно. Почему этот способ такой примитивный? Всё дело в том, что многие программы и приложения запрашивают у пользователя его местонахождение. Думаю, здесь всё и так понятно.

Специальные программы

Есть множество приложений, которые были разработаны специально для определения местонахождения человека. У iphone 5s есть даже специальная разработка приложения, а у Apple есть приложение «Find my friend». В этом приложении все просто: достаточно отправить запрос другому человеку. В случае соглашения, программа сможет выдать вам результат.

Сайты

Есть еще один вариант – использование различных сайтов. В интернете на самом деле много сервисов, некоторые из них платные, а некоторые и бесплатные. Если вы используете бесплатные сервисы, то результат может быть не таким точным. Например, сайт — http://mobile-catalog.info/analys_tel_numb.php . Именно с помощью него можно узнать местонахождение человека наиболее точно.

Узнаем, где находится человек по вайберу

Если вы решили применить этот способ, то нужно учитывать, что приложение определяет посредством точек доступа Wi-Fi, поэтому может быть погрешность от 1 до 120 метров. Этот метод позволяет с помощью геолокации показывать собеседнику свое местонахождение. Какой в этом толк? Сейчас вы сами всё поймете.

Итак, как в вайбере включить геолокацию? Для этого нужно зайти в переписку с нужным человеком и нажать на значок отправки сообщения.

После отправки вашего сообщения этому собеседнику, будет появляться оповещение с вашими координатами. Для отключения этой функции требуется нажать на ту же кнопку.

Важно: координаты отправляются только тому юзеру, с которым вы активировали геолокацию. Ваше местоположение не будет видеть никто другой, кроме этого человека.

С помощью iphone

Отследить человека возможно по айфону. Для этого требуется установить «Find My Friends» Произвести отслеживание человека без его согласия не получится, поскольку операция будет проводиться на обоих устройствах.

Войдите в систему. Все требуемые шаги производите в своей учетной записи. После входа в учетную запись на вашем экране появится перечень друзей. Друзья, которые попали в этот список, открыли доступ к своему месторасположению. Выберите нужного друга.

Если вы только что начали настраивать связь между iPhone, то требуется кликнуть на «+» , ввести сведения о друге и выбрать Send . Человека нужно оповестить о внесении его в свой перечень, дабы не было каких-либо проблем в дальнейшем.

Если вы намереваетесь внести этого человека в список на непостоянную основу, то выберите режим «Temporary». Теперь зайдите в меню и посмотрите, где находитесь вы, и кто за вами может наблюдать. Там же посмотрите нахождение ваших друзей.

На этом я закончу и подведу небольшой итог. В этой статье описано, как отследить местоположение человека по номеру телефона. Вы можете выбрать любой способ и воспользоваться им. К слову, практически все эти способы являются результативными. Всем спасибо за внимание, всем пока и задаем вопросы в комментариях!

Сегодня практически у каждого человека есть мобильный телефон, а иногда сразу несколько. Телефон является средством связи и развлечений. С помощью своего девайса мы можем полноценно использовать услуги сотовой связи - звонить близким, отправить сообщения, пользоваться интернетом и т.п. Без всего этого сложно представить жизнь современного человека. Между тем ежедневно используя свой смартфон или планшет большинство людей даже не задумываются о том, что их гаджет является своего рода «маячком», по которому их смогут найти. Причем речь не идет о возможностях спец-служб. Узнать, как найти человека по номеру телефона сегодня могут и самые обычные пользователи, при этом для осуществления задуманного совсем необязательно обладать какими-то особыми познаниями.

Существует масса причин, по которым пользователь может озадачить себя поиском человека по номеру телефона. Например, кто-то хочет найти телефонного хулигана, кому-то нужно отыскать пропавшего родственника, для других же это способ . Редакция сайта выяснила, как найти человека по номеру мобильного телефона и в этой статье мы поделимся с вами полученной информацией.

Как найти человека по номеру телефона — 4 способа

Сразу следует сказать, что рассматривать в рамках этой статьи различные сомнительные способы мы не станем. Сейчас на просторах интернета полно объявлений, которые предполагают возможность найти любого человека по номеру мобильного, разумеется, за подобные услуги нужно заплатить. Конечно же, есть среди таких сервисов действительно работающие, но чаще всего это обман. Перед тем как рассмотреть способы определения местоположения человека по номеру телефона, также следует отметить, что для отдельных случаев эффективен отдельный метод. То есть, если нужно найти украденный телефон, то вероятнее всего злоумышленник уже избавился от сим-карты и тогда следует использовать IMEI, а на номер телефона. Итак, ниже мы рассмотрим все работающие на сегодняшний день способы, вам же останется ознакомиться с ними и выбрать наиболее удобный для себя вариант.

1. Специальные сервисы. Как было сказано ранее, сейчас на просторах интернета можно встретить много сайтов, предлагающих найти человека по номеру телефона. Некоторые из них действительно работают и даже являются бесплатными. Можете поискать в интернете отзывы о подобных сервисах и попробовать воспользоваться ими. В качестве примера следует привести сайт http://mobile catalog.info/analys_tel_numb.php. Ресурс доступен совершенно бесплатно и не требует регистрации, однако получить точное местоположение телефона с помощью этого сервиса не получится. Следует сказать, что и любой другой аналогичный сайт выдаст вам только приблизительные координаты. Чтобы получить более точные данные о местонахождении человека придется обратиться в полицию, либо воспользоваться одним из способов, который требует предварительного подключения специальных сервисов и установки определенных приложений. Что касается обращения в полицию, то для этого нужны весомые аргументы и рассматривать такой вариант мы не станем, а вот программный софт и услуги операторов мобильной связи мы рассмотрим.

2. Поиск по IMEI. Каждый телефон имеет индивидуальный номер IMEI Многие пользователи ошибочно полагают, что зная этот номер можно легко вычислить местонахождение телефона. В действительности не все так просто. Чтобы осуществить поиск по IMEI прежде всего нужно иметь доступ к специальному оборудованию и базам данных операторов той страны, где производится поиск. Как вы сами понимаете, обычный пользователь не имеет доступа к подобной информации. Что касается программного обеспечения для поиска телефона по IMEI, то с его поиском и установкой не возникнет, причем большинство подобных утилит распространяется бесплатно. Даже платные программы имеют текстовый период, в течение которого можно оценить преимущества софта и решить, стоит ли приобретать лицензию. Данное программное обеспечение действительно работает и позволяет определить местонахождение человека по номеру телефона, однако здесь есть один весомый недостаток - они требуют предварительной установки на телефон. Согласитесь, недостаток довольно существенный. В принципе, большинство приведенных в этой статье способов поиска человека по номеру телефона предполагает необходимость предварительной установки специального софта или подключения определенных сервисов от операторов сотовой связи. Возможно вы будете огорчены этой новостью, но факт остается фактом, а рассказывать «сказки» не наш профиль.

3. Услуги отслеживания у операторов. Найти человека по номеру телефона не составит труда в том случае, если разыскиваемый номер подключен к услуге по поиску местонахождения абонентов. Подобные опции сегодня есть практически у всех операторов сотовой связи. Рассмотрим подобные услуги на примете операторов МТС и Мегафон.

  • Локатор от МТС. Если разыскиваемый абонент подключен к этой услуге, то узнать информацию о его местонахождении можно следующим способом: отправьте имя друга и его номер через СМС запрос на 667. Здесь есть один нюанс - вы не сможете получить координаты абонента, если он не даст на это свое согласие.
  • Ребенок под присмотром от МТС. Еще одна очень интересная услуга от компании МТС, в рамках которой заботливые родители могут определить местоположение своих детей по gps. Подробнее об услуге можете узнать на официальном сайте оператора или .
  • Навигатор от Мегафон. Прежде всего эта услуга предназначена для навигации, однако с ее помощью также можно определять локацию близких. Ознакомиться с особенностями услуги можно на сайте компании Мегафон.

4. Специальные программы и сервисы. Говоря о том, как найти человека по номеру телефона, также следует отдельное внимание уделить специальным предложениям, доступным для держателей смартфонов и планшетов. Например, если нужно найти другой телефон с Apple, то вам сможет помочь приложение «Find my friends». С помощью этой утилиты можно найти не только телефоны Apple, но и другие модели, работающие на платформе андроид. Если вы используете устройство с операционной системой Android, то имеет смысл рассмотреть приложение Talklog. С помощью этой программы можно не только определить местонахождение телефона, но и отслеживать его. Недостаток этого способа состоит в том, что определение местоположения возможно лишь в случае предварительной установки приложения на телефон. Обычно подобные программы устанавливают сразу после покупки телефона, чтобы найти его в случае пропажи. Местонахождение девайса определяется через GPS с точностью до одного метра. Также существует много других аналогичных приложений, однако все они похожи и требуют предварительной установки.

На этом мы будем заканчивать данную статью. Теперь вы знаете, как найти человека по номеру телефона. Как видите,сделать это не так просто, но попытаться все же стоит.

Всем, кто когда-либо занимался написанием систем авторизации/регистрации пользователей, наверняка приходилось задаваться вопросом: «А как узнать о пользователе больше информации?». Для чего это нужно? В большинстве случаев, для идентификации именно этого пользователя. Иногда - для предоставления каких-либо дополнительных возможностей и информации, в зависимости от различных социальных параметров, или, быть может, местополжения пользователя или региона проживания. Иногда, например, для проведения какого-либо скоринга. В этой статье речь пойдёт об определении географического положения пользователя.

Эффективные методы определения

Можно придумать массу методов получения георгафического положения пользователя интернета. И все эти методы будут обладать своим набором плюсов и минусов, будут более или менее эффективны, в зависимости от применения. Сейчас я опишу только те методы, которыми на данный момент пользуется проект, в котором я учавствую, т.е. те, которые я непосредственно использую. За время существования проекта по ним уже собралось достаточно статистики, из которой можно сделать некоторые выводы.
1. Данные из соц. сетей
На сегодняшний день крайне популярным стало использовать для авторизации (или в качестве дополнительной информации) аккаунты всевозможных социальных сетей и блогов, что позволяет использовать данные из них. Авторизовав пользователя таким образом, можно получить достаточно много информации о нём. Правда вот о достоверности её говорить не приходится, ведь многие указывают в соц. сетях не «действительное», а «желаемое», либо вообще первое, что пришло в голову. Отсеять подобные вещи обычно и есть основная задача для разработчика. Для этого необходимо получить информацию обо всех друзьях пользователя и сверить общие данные. Можно, например, найти наиболее часто встречаемое место проживания у коллег/однокурсников/одноклассников/друзей пользователя (в синей соц. сети, например, это делать очень удобно), и, на основе этих данных, выяснить настоящий регион, область, город и даже район города, где живёт/работает/учится пользователь.
Также, в некоторых соц. сетях, доступно получение непосредственных координат пользователя, если он онлайн. Точность этих данных, в некоторых случаях, оставляет желать лучшего, но, как минимум, район города, где находится пользователь, определить можно достаточно достоверно.

Плюсы:

  • Относительно высокая точность, при использовании моделей скоринга на основе данных друзей
  • У большинства пользователей есть аккаунты в соц. сетях
  • Можно проверить полученные данные на достоверность, используя данные друзей

Минусы:

  • Сложность реализации, т.к. необходимо изучать API нескольких соц. сетей, составлять и реализовывать модели для анализа полученных данных
  • Необходимость в наличии действующего аккаунта в соц. сети у пользователя (я считаю, что, несмотря на распространённость, требовать подобные данные от пользователя, всё же, нельзя)
  • Низкая скорость работы, если учитывать анализ с использованием данных друзей

Реализацию, к сожалению, предоставить не могу ибо «секрет фирмы».

2. Данные GeoIP
Наверное, самый простой и доступный каждому способ, однако, для РФ на сегодня, зачастую неточный.

Почему?

Дело в том, что на данный момент большинство существоваших ранее провайдеров регионального уровня было раскуплено и поглощено операторами федерального уровня. И чем же это плохо? А вот чем. Представьте себе ситуацию - в городе «Н» существовало 5 мелких провайдеров. Каждый работал в своём районе города, и соответственно, имел свой пул IPv4 адресов. И даже динамически выданный «белый» IP можно было примерно привязать к определённому району города. Теперь приходит провайдер федерального уровня и покупает все 5 мелких провайдеров с их пулами адресов. Затем он приводит их сеть к некоему общему виду всех сетей этого федерального провайдера. Что мы имеем в итоге? У этого федерального провайдера есть огромное количество клиентов и огромное количество пулов IP, используемых, в зависимости от потребностей, в том или ином регионе. Тоесть теперь адрес, принадлежавший ранее пулу мелкого местного провайдера, может быть выдан клиенту из совершенно другого города, просто потому, что этот пул адресов теперь используется для всех клиентов этого провайдера. А вот сообщать кому и из какой области выдан этот IP никто, естественно, не будет. Тем более, что завтра он может быть выдан ещё кому-то.

Также, никто не помешает пользователю использовать, например, прокси или VPN для выхода в интернет от имени другого IP. В этом случае GeoIP становится абсолютно бесполезным, ибо получит информацию именно об этом прокси или VPN-сервере. То же самое происходит, если провайдер предоставляет своим клиентам доступ в интернет через NAT (а в свете проблем с количством свободных IPv4 адресов это встречается всё чаще и чаще), правда в этом случае, обычно, хотябы можно получить район, область или город.

Такчто полагаться полностью на данные GeoIP всё-таки можно не всегда, хотя этот способ очень удобен - ведь мы получаем информацию практически мгновенно. Для этого, обычно, используется заранее скачанная локальная база данных.

Плюсы:

  • Легко использовать, есть множество реализаций на различных языках
  • Высокая точность (за некоторым исключением, см. выше)
  • Быстрота работы (практически мгновенное получение результата - ведь это всего 1 запрос к базе)

Минусы:

  • Необходимость поддерживать базу IP в актуальном состоянии
  • Отсутствие возможности проверить достоверность полученных данных (только запросами к нескольким базам)
  • Достаточно большой процент ошибочных данных для РФ на данный момент (см. выше)

Описывать «как это сделать» смыла особого не вижу, ибо в сети, и, в т.ч. на хабре, полно подробных описаний. Для получения данных GeoIP существует множество бесплатных библиотек и инструментов. Например, для PHP можно использовать расширение geoip .

3. Использование JavaScript Geolocation API
Достаточно полезный и эффективный метод, но только для мобильных устройств. В случае же со стационарным компьютером - полезен не более чем GeoIP. Дело в том, что в случае мобильного устройства (современный смартфон, планшет и т.д.) будут использоваться все доступные для этого устройства и разрешённые пользователем средства определения местоположения, включая позиционирование по GPS, Wi-Fi и данным от вышек сотовой связи. А вот в случае с домашним ПК, у которого, в большинстве случаев, нет ни мобильной сети (в случае наличия GSM/3G модема данные от него не используются), ни GPS, мы сможем узнать только данные GeoIP, которые нам радостно и сообщит JS. А по поводу их точности я уже писал выше. Хотя, пренебрегать данным способом я бы не стал - ведь всё большее количество людей используют планшеты и телефоны для выхода в интернет.

В итоге данный способ имеет достаточно узкий спектр применения - мобильные устройства. Или если достаточно примерных данных по GeoIP.

Плюсы:

  • Легко реализовать, множество документации и примеров в интернете
  • Точный, т.к. может использоваться как позиционирование по сотовым вышкам, Wi-Fi, GPS
  • Быстрый, т.к. для определения положения используется ПО со стороны клиента
Минусы:
  • На домашних ПК поддерживается не во всех браузерах
  • Требует разрешений пользователя
  • Фактически, применим только к мобильным устройствам
  • Относительно легко подделать данные
4. Определение через услуги типа «локатор» от мобильных операторов
Я думаю, некоторые из читающих слышали про эти услуги, кто-то даже пользуется ими, а кому-то приходится их использовать в корпоративной среде. Я говорю об услугах, подобных «Локатор»"у от «яичной» компании и «Координатам» от жёлто-полосатой. Да, эти услуги изначально предназначены для конечных пользователей, но… Что мешает использовать их нам? Положительных моментов при использовании этого способа немного, зато каких - это высокая точность и почти 100% достоверность данных. Зато есть неприятные моменты. Во-первых - эти услуги платные. Во-вторых - необходимость использования номера мобильного телефона при регистрации и требование отправить бесплатную смс на короткий номер… Такое поведение может отпугнуть многих. Да и время получения информации по смс немалое (в рамках веб-приложения). Но, в некоторых случаях, информация подобного рода, да ещё и достоверная, просто необходима. Тем более что этот метод можно использовать как замену подтверждения кодом из смс какого-либо действия. Да и подделать информацию, получаемую таким способом, практически невозможно.

Пример рабочей реализации приводить не буду по тем же соображениям, что и в первом случае, но вкратце опишу как это делается .

Плюсы:

  • Высокая достоверность данных, почти 100%
  • Высокая точность, вне зависимости от испоьзуемого устройства и способа выхода в интернет
  • Автоматически подтверждает номер мобильного телефона
Минусы:
  • Сложность в реализации и поддержке
  • Низкая скорость, т.к. требуется время на отправку/приём смс и ответ от пользователя
  • Не бесплатен (тарифы у операторов на эту услугу весьма «прожорливые»)
  • Необходимо согласие пользователя
Как сделать
Нам понадобятся:
  1. Старый моб. телефон с кабелем, либо 3G/GSM модем, по одному на каждого оператора
  2. Сим карты этих операторов
  3. Некий ПК, желательно с *nix на борту (можно и Windows с cygwin), который будет выполнять функцию эдакого «гео-шлюза»
  4. Немного терпения и времени
  5. smstools3
1) В зависимости от ОС, инструкции могут отличаться, но общий смысл неизменен - необходимо скачать и установить из репозитория ПО пакет SMSTools

На Gentoo это выглядит так:

Если вам нужна статистика отправленных/полученных смс, то:
nogood-work ~ # echo "app-mobilephone/smstools stats" > /etc/portage/package.use/smstools.use
либо (если у вас все USE-флаги в одном файле):
nogood-work ~ # echo "app-mobilephone/smstools stats" >> /etc/portage/package.use

Затем ставим из портажа сам smstools:
nogood-work ~ # emerge -v smstools These are the packages that would be merged, in order: Calculating dependencies... done! app-mobilephone/smstools-3.1.15 USE="-stats" 0 kB ... nogood-work ~ #

На FreeBSD так:

Root@kenny:/usr/ports # cd /usr/ports/comms/smstools3 root@kenny:/usr/ports/comms/smstools3 # make install clean

Для статистики в опциях просто выбрать «STATS»

Можно собрать и из исходников, если для вашей системы нет готового пакета:

Nogood-work ~ # wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.15.tar.gz nogood-work ~ # tar -zxvf smstools3-3.1.15.tar.gz -C /usr/local/src nogood-work ~ # cd /usr/local/src/smstools3 nogood-work ~ # make nogood-work ~ # make install

2) Подключаем модем(ы) и проверяем появились ли устройства последовательного порта в /dev

Для Gentoo:

Nogood-work ~ # ls /dev |grep ttyUSB ttyUSB0 ttyUSB1 ttyUSB2 nogood-work ~ #

Может появиться несколько портов. Обычно нас интересует ttyUSB0, если модем 1. Если больше - то подключаем по очереди. И вот перый из появившихся портов наш.

Для FreeBSD:

Root@kenny:~ # ls /dev |grep cuau cuau0 cuau0.init cuau0.lock cuau1 cuau1.init cuau1.lock root@kenny:~ #

Смысл тот же - первый из нескольких появившихся - наш.

3) Настраиваем SMSTools
smsd.conf может находится как в /etc/ так и в /usr/local/etc/ в зависимости от вашего дистрибутива. Приводим его к подобному виду:

#Список активных "модемов". Если вы планируете использовать #несколько операторов, то, соответственно, перечисляем здесь #модемы для каждого оператора, у меня только для одного devices = GSM1 #Куда писать логи. Если закомментировать то по-умолчанию #пишет в syslog. Но в этом случае не получится использовать #такую классную вещь, как smart_logging. logfile = /var/log/smsd/smsd.log #Уровень ошибок. loglevel = notice #Хранить входящие в UTF-8. Работает не со всеми модемами, но лучше включить incoming_utf8 = yes #Записывать историю перекодировок в логах. На всякий случай включаем. log_charconv = yes #Наличие даты в имени файла. Вообще кому как удобно, #но с этой опцией файлы легче находить по времени date_filename = 1 #Приоритет получения смс перед отправкой receive_before_send = yes #Очень полезная, на мой взгляд, функция. Суть в том, что в лог #по-умолчанию пишутся сообщения с уровнем, указанным выше. #А вот в случае ошибки создаётся файлик с изменённым именем #из logfile вида _trouble.log в который пишется всё с уровнем debug smart_logging = yes #Ну и настройка каталогов спулера failed = /var/spool/sms/failed sent = /var/spool/sms/sent phonecalls = /var/spool/sms/calls stats = /var/spool/sms/stats #А вот настройка для модема. Лучше искать под конкретную модель. #Имя COM-порта device = /dev/ttyUSB0 #Использовать ли для приёма СМС incoming = yes #Способ проверки памяти СМС. Подробности лучше глянуть на оф. сайте. check_memory_method = 2 #Обязательно закомментить, т.к. иначе не видать нам русского языка #decode_unicode_text = yes #Могут понадобится для вашего модема. Вот это лучше погуглить. #init = AT+CSCS="UCS2" #init2 = AT+CSCS="UCS2" #Автоматически собирать смс из нескольких частей. Крайне рекомендую. internal_combine = yes #Сбрасывать входящие звонки. А зачем они нам? hangup_incoming_call = yes #Скрипт для обработки событий. Содержимое будет ниже. eventhandler = /etc/smsd/trsms.sh #Скрипт для обработки USSD команд. Я не использовал, но можно #использовать для получения остатка на балансе. #eventhandler_ussd = #Номер. Если будете использовать несколько модемов указывать надо. #По нему определяется через какой модем отправлять смс. number = 79185568942 #Что делать со входящими звонками - определять номер. Необязательно. phonecalls = clip #Отчёт о доставке. Нам не нужен. #report = yes #Для моего модема нужно было включить, чтобы небыло ошибок в логе. signal_quality_ber_ignore = yes

4) Создаём файлик trsms.sh (обработчик событий)

#!/bin/bash status="$1" file="$2" case "$1" in RECEIVED) header=`head -12 $file | grep -e "^From: " -e "^Sent: " -e "^Received: "` from=`head -12 $file | grep -e "^From: " | awk "{print $2}"` if grep "Alphabet: UCS2" $file > /dev/null > /dev/null; then message=`tail -n +14 $file | iconv -f UCS-2BE -t UTF-8` else message=`tail -n +14 $file` fi #echo -e "$message" | mail -s "Incoming SMS from +$from" [email protected] echo -e "$header\n$message\n" >> /var/log/smsd/sms.log if echo $message | grep "Запрос на авторизацию отправлен абоненту" > /dev/null > /dev/null; then abon=`echo $message | awk "BEGIN{ FS = "абоненту " } $2 { print substr($2, 2, 11) }"` echo -e "\n> Запрос\t$abon" >> /var/log/smsd/location.log fi if echo $message | grep " находится по адресу " > /dev/null > /dev/null; then abon=`echo $message | awk "BEGIN{ FS = "Абонент " } $2 { print substr($2, 2, 11) }"` adres=`echo $message | awk "BEGIN{ FS = "адресу " } $2 { print substr($2,0,index($2, " в радиусе")) }"` region=`echo $adres | awk "BEGIN{ FS = ", " } $1 {print $1}"` echo -e "\n> Ответ\t$abon\t$adres\tРЕГИОН: $region" >> /var/log/smsd/location.log fi ;; esac

Это пример с минимальным функционалом. Пишет в лог запросы и полученные ответы для «яичного» оператора. По-хорошему ещё надо добавить условие по номеру, с которого пришло сообщение, на основе переменной from. В нём же можно будет определять и оператора. Номера у разных операторов, как правило, разные.
Не забываем дать права на запуск пользователю, из под которого будет работать smsd.

5) Запускаем демон smsd и добавляем его в автозагрузку

Nogood-work ~ # /etc/init.d/smsd start nogood-work ~ # rc-update add smsd default

Для FreeBSD:

Root@kenny:~ # echo "smsd_enable=\"YES\"" >> rc.conf root@kenny:~ # service smsd start

Смотрим логи. Если всё хорошо и нет сообщений об ошибках, то переходим к следующему шагу.

6) Пробуем отправить смс на свой телефон

Nogood-work ~ # sendsms 79xxxxxxxxx "текст"

Если смс прошло успешно - можно пробовать отправить смс на заветный номер услуги с соответствующим текстом, а затем проверить логи.
Далее можно будет просто вызывать из вашего скрипта команду sendsms <номер> "<текст>" и проверять, например, по крону наличие ответа по нужному номеру в файле с логами смс.

Заключение

Каждый из этих способов подходит для каких-то определённых целей и условий, и вам решать, что именно использовать. Конечно, здесь рассмотрены далеко не все способы определения местоположения. Я описал только те, что опробовал сам и считаю наиболее эффективными. Также, для достижения большей эффективности, я бы рекомендовал комбинировать их. Так это делается в нашем проекте. На этом всё. Надеюсь кому-нибудь данная информация окажется полезной.