Подтвердить что ты не робот

Геолокация с IPv6?

Я работаю над библиотекой геолокации IP, которая использует первые три октета адреса IPv4 для определения страны пользователя, города, лат, lon и т.д. Работает как шарм.

Но он не обрабатывает адреса IPv6, и я бы хотел, чтобы он это сделал.

Можно ли каким-либо образом преобразовать адрес IPv6, чтобы получить эквивалент первых трех октетов адреса IPv4, или они находятся на совершенно другой схеме нумерации, требующей совершенно другого отображения ipgeo?

4b9b3361

Ответ 1

типичное размещение IPv6 - это 32 слова (четыре октета) для Интернета провайдер (который может быть многонациональной компанией), затем /48 (шесть октетов) на конечный сайт (обычно это организация-клиент). Вы можете получить отправной точкой в ​​список делегированных блоков IANA.

Это только для регистрации в базах данных РИР. Назначение для завершения пользователи обычно не записываются так, мой текущий адрес, 2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b расскажет вам только, что мой штаб-квартира провайдера находится в Париже (поскольку это национальная компания, клиенты могут находиться где угодно во Франции).

Другим исключением являются PI (независимые от поставщика), которые обычно /48.

Кроме того, существует множество баз данных геолокации для IPv4 и, к моему знаний, нет для IPv6. Вам придется делать все сами.

К резюме: больше работы, чем вы, по-видимому, верите.

Ответ 2

Дружеская коррекция комментария Ноя (3 июня в 7:57) -

В отделе клиентских служб MaxMind (основное внимание): "IPv6 в настоящее время НЕ поддерживается. В будущем мы планируем его реализовать, но на данный момент у нас нет даты".

Ответ 3

IPv6 использует совершенно другую схему адресации по сравнению с IPv4. Невозможно сопоставить адреса IPv6 с адресами IPv4, за одним исключением. Если вы видите адреса IPv6, которые начинаются с 2002 года: тогда адрес является адресом 6to4. Вероятно, вы не увидите много тех, кто используется, и они устарели, но они могут отображаться на IPv4.

Каждый пользователь открытого IPv4-адреса может использовать /48 (65536 подсети) пространства IPv6. Эти адреса всегда начинаются с 2002 года, а следующие два шестнадцатеричных числа - это адрес IPv4. Итак, 2002: 5389: 1164: соответствует моему собственному веб-серверу IPv4-адрес (83.137.17.100):

0x53 = 83
0x89 = 137
0x11 = 17
0x64 = 100

Но все "нормальные" адреса IPv6 полностью не связаны с любыми адресами IPv4. По крайней мере, стандартным способом. Интернет-провайдер может определить связь между адресами IPv4 и IPv6 при развертывании IPv6 для своих клиентов. Но вы не узнаете об этих отношениях, поэтому вам будет бесполезно...

Ответ 4

maxmind.com службы геолокации и библиотеки обрабатывают IPv6 в порядке. Возможно, их материал для вас вариант. (У меня нет никакой связи с ними.)

Ответ 5

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

Ответ 6

Так как, похоже, нет простого способа сделать это, возможно, мы получим возможность сделать что-то, что не было сделано в случае IPv4 (*)

Мы могли бы остановиться и спросить себя, является ли это хорошей идеей.


(*) Или, если это было сделано, это не сработало!

Ответ 7

Если вы прочитали несколько ipv6, адрес и механизм перехода на wiki, вы найдете несколько шаблонов адресов IPv6, которые могут вывести ipv4 (siit, ipv4-отображаемый ipv6, nat64, вещь 2002: *, написанная выше, и т.д..). Один из них, чтобы начать: http://en.wikipedia.org/wiki/IPv6_transition_mechanisms

Я не стал бы рассчитывать на то, что эти схемы будут достаточно популярны, чтобы делать обычные геоотчеты, защиту от мошенничества или обнаружение инцидентов, но я определенно отдал бы предпочтение поиску ipv4 geo для таких выведенных адресов ipv4 по поиску gep ipv6 ( предполагая, что ipv4 db более полно).

Моя забота о геоинформации ipv6 - невероятно большое количество подсетей. Базы данных будут увеличиваться (больше диапазонов ip), что ожидается, но при том же объеме геоинформации терминала, базы данных будут более редкими, а более глубокое дерево также будет продолжать итерацию (для реализации, которая использует двоичные или основополагающие деревья), что подразумевает некоторые стоимость выполнения. Geo-базы данных, использующие sql-таблицы с диапазонами ip, вероятно, также пострадают, поскольку у нас нет большого количества 128 бит, которые я знаю, для использования арифметики.

Еще одна проблема - мобильные телефоны: ipv6 предназначен для облегчения роуминга, если я не ошибаюсь. Вы можете изменить сотовые башни и сохранить свой IP-адрес. возможно, даже при изменении города, региона или страны. Я несколько сомневаюсь, что с этой точки зрения было связано с тем, что для MAC-адреса была важна сильная адреса. IP-адреса существуют именно для целей маршрутизации, но я считаю, что справедливо отметить, что они могут стать достаточно инвариантными, чтобы, очевидно, калечить точность геопозиции.

Я чувствую, что сотрудничество пользовательских агентов/браузеров на уровне приложений (например, некоторый заголовок геоданных), вероятно, будет в будущем, даже если это может быть подделано озорными людьми.

Ответ 8

Существует протокол под названием Referral Whois, который позволяет провайдерам публиковать информацию о геолокации IP и другие, чтобы получить его.

Например, мой текущий IP 2001: 470: b4ea: babe: d57: 15c8: 97b: 60c9 принадлежит Hurricane Electric в США. Фактический сервер, на котором я использую туннель IPv4-IPv6, который я использую, находится в Швейцарии, но я в Австрии. Он публикует все это, поэтому, если вы введете IP-адрес в инструмент, поддерживающий RWhois, например this, вы найдете контактные данные HE и somwhere near внизу вы видите

контакт: Имя: Частный клиент - Hurricane Electric

контакт: улица-адрес: частная резиденция

контакт: Страна-код: AT

который является моим местоположением.

Не многие поставщики публикуют это, и не многие из них поддерживают геолокацию, но по крайней мере он существует.

Большинство поставщиков геолокации IP-адресов (тех, кто поддерживает IPv6, некоторые из них по-прежнему не используют), помещают этот IP-адрес в Швейцарию, некоторые даже в США.