Спасибо. Хороший, годный пост. Я вот не далее как позавчера думал, что делать с юзерами, у которых айпишники не обнаруживаются в базе IP2City по Украине.
А тут ррраз — и хоть и частичное, но решение :)
Сам делал обновление баз, кому интересно — опишу общий ход:
1)берём изначальную базу
2)проходимся whois по одному ip из диапазона, выдираем 2 буквы страны и сетевое имя
3)пишем всё полученное в базу + id текущего оператора
при прихоже неизвестного юзера:
1)смотрим, есть ли ip юзера в базе
2)смотрим нет ли юзера в игнор-листе(см ниже)
3)делаем whois: если в полученной в предыдущем разделе базе есть такая связка страна+сет. имя, то добавляем диапазон в базу. Нет — добавляем диапазон в игнор-лист.
Показала такая система себя с лучшей стороны, единственное что:
1)не забываем что whois сервер не один и нет такого сервера где есть данные о всех ip
2)между запросами к одному whois делаем задержки — был в личной практике факт блокировке arin'ой ip сервера из-за большого кол-ва подобных запросов
p.s. всё это писалось не для себя, так что выложить не могу, но думаю после расписания как и что каждый сможет сделать.
Собственно вот: wapl.ru/stat-ips-all-uniq.lst
Тут вроде все уникальные айпишники из логов поисковика с 2005-го года в виде списка, разделённого переводами строки. Получилось неожиданно много — 17 Мб.
Вы уверены, что в принципе можно точно определить страну по оператору? Вот пользовался я Tele2, был IP шведский, перешёл на Bite – стал литовский. Сам как жил в Риге, так и живу :)
Ну что могу сказать — это оператор (tele2), который есть и в литве и в латвии и в шведции, так что… Хотя когда я разбирался в этом вопросе, в whois данных встречал и литву и латвию и (ну вы поняли), не думал что такая проблема есть. Мб сеть объединена и в случае недостатка ip, выдаётся ip из диапазона того же оператора, но другой страны?
С ip2long имеются известные проблемы… посмотрите на php.net.
Да и в любом случае хранить в таком статичном виде глуповато — лучше писать в базу и делать поиск уже по базе.
плюс это позволит достаточно просто анализировать данные, поступающие в базу — одним sql запросов, например, можно будет отгруппировать по имени оператора смс-сообщения за определённую услугу…
Кстати насчёт названий, очень часто ip диапазоны составляют для того, чтобы выдавать нужные данные для работы с биллингом и в популярных биллингах, не знаю к сожалению или радости, переименовывать страны не спешат.
Тут есть хороший выход — делать «алиасы», тут уже всё зависит от внутренней реализации работы скрипта, конечно.
вы меня конечно извините, но это не база, а первая ее страничка, если кому-то нужно завтра могу найти и выложить полную версию, по странам всей Европы.
Жгете, граждане…
Закрою вот вашему боту доступ — кирдык парсеру.
Нет что б спросить — может, мы бы и сами с выгрузкой XML/CSV поторопились. Черте что! Кто каталог компаний «импортировал» и у себя выложил, кто базу IP.
Мы ее выкладываем специально для того, что б ее использовали.
Использовать и импортировать, конвертировать, распространять и т.д. — вещи разные.
Я понять не могу — почему спросить сложно.
Впрочем, это момент не принципиальный — не буду же я, в самом деле, роботов ловить.
Вот если бы Вы сначала спросили — знали бы о существенных недостатках этой самой базы, о том что на данный момент не разобрано еще несколько тысяч IP-адресов мобильных устройств. И — могли бы не просто слямзить и выложить, а принять участие в ее формировании.
Я честно указал откуда берутся данные :-)
А не спрашивал потому, что шанс быстрого реагирования очень низок, а мне нужно было в тот же день.
Я от одного знакомого уже месяц жду доработки небольшого функционала :)
А что касается помощи в формировании обновленной базы то давайте обсудим в привате, я не против.
База IP мобильных операторов