2016-06-29 3 views
0

В моем приложении адресация IPv4, представленная как IPv6, когда я сохранил ее в базе данных. Я сохранил в базе данных строку IPv4 и IPv6. Так как я могу проверить строку IP, которую я получаю из базы данных, это IPv4 или IPv6. Например: IPv4: 192.168.98.62 представлен как IPv6 0x00000000000000000000FFFFC0A8623E. Я хочу проверить его по коду Mariadb. Не могли бы вы помочь мне !?Как проверить ipv4, который представлен как ipv6

ответ

1

Похоже

0x00000000000000000000FFFF это перед вашим шестнадцатеричном IP-адрес.

IP-адрес: C0A8623E с двумя цифрами для каждой сети.

Вы можете сделать stringmatch в начале строки Ipv6. Пример:

IPString LIKE '0x00000000000000000000FFFF%' 

Это должно сказать вам, если это v6 или v4 адрес.

Надеюсь, это поможет.

С наилучшими пожеланиями,

Georg

+1

Спасибо за ваш ответ, @ Georg.Duees. И я нашел другое решение - использовать функцию mariadb: 'IS_IPV4_MAPPED (UNHEX ('2001CDBA000000000000000032579652'))' –

+0

Хорошо, ваше решение выглядит намного чище, держите его вверх –

+0

Возможно, это способ использования: 'IS_IPV4_MAPPED (UNHEX ('00000000000000000000FFFFC0A8623E')) ' –

Смежные вопросы