Назад | Перейти на главную страницу

Преобразование формата IP-адреса из журналов ForeFront Firewall с помощью SQL

Я пытаюсь запросить IP-адреса из журналов Forefront Firewall, и я немного застрял в форматировании IP

C0A8E008-FFFF-0000-0000-000000000000

Может ли кто-нибудь дать мне команду MSSQL, чтобы превратить это в стандартную возможность редактирования для человека?

ОБНОВЛЕНИЕ, теперь я вижу, что мне нужно преобразовать первые 8 символов из шестнадцатеричного в десятичный .... которые я затем могу преобразовать в IP. трюк состоит в том, чтобы проанализировать эти первые символы из поля с помощью SQL

Вы можете использовать функцию подстроки, чтобы получить четыре октета IP-адреса. Ты можешь сделать:

SELECT hex_to_dec(substring(field, 1, 2)) + '.' + hex_to_dec(substring(field, 3, 2))
 + '.' + hex_to_dec(substring(field, 5, 2)) + '.' + hex_to_dec(substring(field, 7, 2))
 <FROM, WHERE ...>

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

Я не знаю, как это сделать в MSSQL, но чтобы дать вам представление о методе, в приведенном выше примере C0A8E008 - 192.168.224.08. Разделите C0A8E008 на четыре 2-х шестнадцатеричных блока и преобразуйте каждый в десятичный.