Функции для работы с IPv4 и IPv6 адресами
IPv4CIDRToRange
Представлено в: v20.1
Принимает IPv4 адрес с его префиксом длины Classless Inter-Domain Routing (CIDR) и возвращает диапазон адресов подсети в виде кортежа из двух значений IPv4: первого и последнего адресов в этой подсети.
Для версии IPv6 см. IPv6CIDRToRange
.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает кортеж из двух IPv4 адресов, представляющих диапазон подсети. Tuple(IPv4, IPv4)
Примеры
Пример использования
IPv4NumToString
Представлено в: v1.1
Преобразует 32-битное целое число в его строковое представление IPv4 адреса в десятичной точечной нотации (формат A.B.C.D). Интерпретирует входные данные с использованием порядка байтов big-endian.
Синтаксис
Аргументы
num
— IPv4 адрес в виде числа UInt32.UInt32
Возвращаемое значение
Возвращает число, представляющее MAC адрес, или 0
, если формат недопустим. String
Примеры
Пример использования
IPv4NumToStringClassC
Представлено в: v1.1
Преобразует 32-битное целое число в его строковое представление IPv4 адреса в десятичной точечной нотации (формат A.B.C.D),
аналогично IPv4NumToString
, но с использованием xxx
вместо последнего октета.
Синтаксис
Аргументы
num
— IPv4 адрес в виде числа UInt32.UInt32
Возвращаемое значение
Возвращает строку IPv4 адреса с xxx, заменяющим последний октет. String
Примеры
Основной пример с агрегацией
IPv4StringToNum
Представлено в: v1.1
Преобразует строку IPv4 адреса в десятичной точечной нотации (формат A.B.C.D) в соответствующее 32-битное целое число. (Обратная операция к IPv4NumToString
).
Если формат IPv4 адреса недопустим, возникает исключение.
Синтаксис
Аргументы
string
— строка IPv4 адреса.String
Возвращаемое значение
Возвращает IPv4 адрес. UInt32
Примеры
Пример использования
IPv4StringToNumOrDefault
Представлено в: v22.3
Преобразует строку IPv4 адреса в десятичной точечной нотации (формат A.B.C.D) в соответствующее 32-битное целое число, но если формат IPv4 адреса недопустим, возвращает 0
.
Синтаксис
Аргументы
string
— строка IPv4 адреса.String
Возвращаемое значение
Возвращает IPv4 адрес, или 0
, если недопустим. UInt32
Примеры
Пример с недопустимым адресом
IPv4StringToNumOrNull
Представлено в: v22.3
Преобразует 32-битное целое число в его строковое представление IPv4 адреса в десятичной точечной нотации (формат A.B.C.D), но если формат IPv4 адреса недопустим, возвращает NULL
.
Синтаксис
Аргументы
string
— строка IPv4 адреса.String
Возвращаемое значение
Возвращает IPv4 адрес, или NULL
, если недопустим. Nullable(UInt32)
Примеры
Пример с недопустимым адресом
IPv4ToIPv6
Представлено в: v1.1
Интерпретирует 32-битное число (big endian) как IPv4 адрес, который затем интерпретируется как соответствующий IPv6 адрес в формате FixedString(16)
.
Синтаксис
Аргументы
x
— IPv4 адрес.UInt32
Возвращаемое значение
Возвращает адрес IPv6 в двоичном формате. FixedString(16)
Примеры
Пример использования
IPv6CIDRToRange
Представлено в: v20.1
Принимает IPv6 адрес с его префиксом длины Classless Inter-Domain Routing (CIDR) и возвращает диапазон адресов подсети в виде кортежа из двух значений IPv6: наименьшего и наибольшего адресов в этой подсети.
Для версии IPv4 см. IPv4CIDRToRange
.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает кортеж из двух IPv6 адресов, представляющих диапазон подсети. Tuple(IPv6, IPv6)
Примеры
Пример использования
IPv6NumToString
Представлено в: v1.1
Преобразует адрес IPv6 из двоичного формата (FixedString(16)) в его стандартное текстовое представление.
IPv4-специализированные адреса отображаются в формате ::ffff:111.222.33.44
.
Синтаксис
Аргументы
x
— IPv6 адрес в двоичном формате.FixedString(16)
илиIPv6
Возвращаемое значение
Возвращает строку IPv6 адреса в текстовом формате. String
Примеры
Пример использования
Анализ IPv6 с попаданиями
IPv6 специализированные адреса IPv4
IPv6StringToNum
Представлено в: v1.1
Преобразует IPv6 адрес из его стандартного текстового представления в двоичный формат (FixedString(16)
).
Принимает IPv4-специализированные адреса IPv6 в формате ::ffff:111.222.33.44
.
Если формат IPv6 адреса недопустим, возникает исключение.
Если входная строка содержит допустимый IPv4 адрес, возвращает его эквивалент IPv6. HEX может быть в верхнем или нижнем регистре.
Синтаксис
Аргументы
string
— строка IPv6 адреса.String
Возвращаемое значение
Возвращает IPv6 адрес в двоичном формате. FixedString(16)
Примеры
Основной пример
IPv6StringToNumOrDefault
Представлено в: v22.3
Преобразует IPv6 адрес из его стандартного текстового представления в двоичный формат (FixedString(16)
).
Принимает IPv4-специализированные адреса IPv6 в формате ::ffff:111.222.33.44
.
Если формат IPv6 адреса недопустим, возвращает значение по умолчанию ::
.
Синтаксис
Аргументы
string
— строка IPv6 адреса.String
Возвращаемое значение
IPv6 адрес в двоичном формате, или нулевой заполненный FixedString(16) в случае недопуска. FixedString(16)
Примеры
Основной пример с недопустимым адресом
IPv6StringToNumOrNull
Представлено в: v22.3
Преобразует IPv6 адрес из его стандартного текстового представления в двоичный формат (FixedString(16)
).
Принимает IPv4-специализированные адреса IPv6 в формате ::ffff:111.222.33.44
.
Если формат IPv6 адреса недопустим, возвращает NULL
.
Синтаксис
Аргументы
string
— строка IPv6 адреса.String
Возвращаемое значение
Возвращает IP адрес IPv6 в двоичном формате, или NULL
, если недопустим. Nullable(FixedString(16))
Примеры
Основной пример с недопустимым адресом
cutIPv6
Представлено в: v1.1
Принимает значение FixedString(16)
, содержащее IPv6 адрес в двоичном формате.
Возвращает строку, содержащую адрес с указанным количеством удаленных байтов в текстовом формате.
Синтаксис
Аргументы
x
— IPv6 адрес в двоичном формате.FixedString(16)
илиIPv6
bytesToCutForIPv6
— количество байтов для удаления для IPv6.UInt8
bytesToCutForIPv4
— количество байтов для удаления для IPv4.UInt8
Возвращаемое значение
Возвращает строку, содержащую IPv6 адрес в текстовом формате с удаленными указанными байтами. String
Примеры
Пример использования
isIPAddressInRange
Представлено в: v21.4
Определяет, содержится ли IP адрес в сети, представленном в нотации Classless Inter-Domain Routing (CIDR).
Эта функция принимает как IPv4, так и IPv6 адреса (и сети), представленные в виде строк. Она возвращает 0
, если версия IP адреса и CIDR не совпадают.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1
, если версия IP адреса и CIDR совпадают, в противном случае 0
. UInt8
Примеры
IPv4 адрес в диапазоне
IPv4 адрес вне диапазона
IPv6 адрес вне диапазона
isIPv4String
Представлено в: v21.1
Определяет, является ли входная строка IPv4 адресом или нет.
Для версии IPv6 см. isIPv6String
.
Синтаксис
Аргументы
string
— строка IP адреса для проверки.String
Возвращаемое значение
Возвращает 1
, если string
является IPv4 адресом, в противном случае 0
. UInt8
Примеры
Пример использования
isIPv6String
Представлено в: v21.1
Определяет, является ли входная строка IPv6 адресом или нет.
Для версии IPv4 см. isIPv4String
.
Синтаксис
Аргументы
string
— строка IP адреса для проверки.String
Возвращаемое значение
Возвращает 1
, если string
является IPv6 адресом, в противном случае 0
. UInt8
Примеры
Пример использования
toIPv4
Представлено в: v20.1
Преобразует строку или UInt32 в адрес IPv4.
Это подобно функциям IPv4StringToNum
и IPv4NumToString
, но поддерживает как строковые, так и беззнаковые целые типы данных в качестве входных аргументов.
Синтаксис
Аргументы
x
— IPv4 адресString
илиUInt8/16/32
Возвращаемое значение
Возвращает адрес IPv4. IPv4
Примеры
Пример использования
Сравнение с функциями IPv4StringToNum и IPv4NumToString.
Преобразование из целого числа
toIPv4OrDefault
Представлено в: v22.3
Преобразует строку или UInt32 в адрес типа IPv4
.
Если формат IPv4 адреса недопустим, возвращает 0.0.0.0
(0 IPv4) или предоставленный адрес IPv4 по умолчанию.
Синтаксис
Аргументы
string
— строка IP адреса для преобразования.String
default
— Необязательный. Значение, которое будет возвращено, если строка является недопустимым IPv4 адресом.IPv4
Возвращаемое значение
Возвращает строку, преобразованную в текущий IPv4 адрес, или значение по умолчанию, если преобразование не удалось. IPv4
Примеры
Действительные и недействительные строки IPv4
toIPv4OrNull
Представлено в: v22.3
Преобразует входное значение в значение типа IPv4
, но возвращает NULL
в случае ошибки.
Похож на toIPv4
, но возвращает NULL
вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Строковые представления IPv4 адресов в десятичной точечной нотации.
- Целочисленные представления IPv4 адресов.
Не поддерживаемые аргументы (возвращают NULL
):
- Неверные форматы IP адресов.
- IPv6 адреса.
- Значения вне диапазона.
- Неправильные адреса.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает адрес IPv4, если успешно, в противном случае NULL
. IPv4
или NULL
Примеры
Пример использования
toIPv4OrZero
Представлено в: v23.1
Преобразует входное значение в значение типа IPv4, но возвращает нулевой IPv4 адрес в случае ошибки.
Похож на toIPv4
, но возвращает нулевой IPv4 адрес (0.0.0.0
) вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Строковые представления IPv4 адресов в десятичной точечной нотации.
- Целочисленные представления IPv4 адресов.
Не поддерживаемые аргументы (возвращают нулевой IPv4):
- Неверные форматы IP адресов.
- IPv6 адреса.
- Значения вне диапазона.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает адрес IPv4, если успешно, в противном случае нулевой IPv4 адрес (0.0.0.0
). IPv4
Примеры
Пример использования
toIPv6
Представлено в: v20.1
Преобразует строку или форму UInt128
адреса IPv6 в тип IPv6
.
Для строк, если формат IPv6 адреса недопустим, возвращает пустое значение.
Похоже на функции IPv6StringToNum
и IPv6NumToString
, которые преобразуют IPv6 адрес в двоичный формат и обратно (т.е. FixedString(16)
).
Если входная строка содержит допустимый IPv4 адрес, то возвращается эквивалент IPv6 адреса для IPv4.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает адрес IPv6. IPv6
Примеры
Пример использования
Отображение IPv4 на IPv6
toIPv6OrDefault
Представлено в: v22.3
Преобразует строку или форму UInt128 адреса IPv6 в тип IPv6
.
Если формат IPv6 адреса недопустим, возвращает ::
(0 IPv6) или предоставленный IPv6 адрес по умолчанию.
Синтаксис
Аргументы
string
— строка IP адреса для преобразования. -default
— Необязательный. Значение для возврата в случае недопустимого формата строки.
Возвращаемое значение
Возвращает IPv6 адрес, иначе ::
или предоставленное значение по умолчанию, если аргумент string
имеет неверный формат. IPv6
Примеры
Действительные и недействительные строки IPv6
toIPv6OrNull
Представлено в: v22.3
Преобразует входное значение в значение типа IPv6
, но возвращает NULL
в случае ошибки.
Похож на toIPv6
, но возвращает NULL
вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Строковые представления IPv6 адресов в стандартной нотации.
- Строковые представления IPv4 адресов (преобразованные в IPv4-специализированные адреса IPv6).
- Двоичные представления IPv6 адресов.
Не поддерживаемые аргументы (возвращают NULL
):
- Неверные форматы IP адресов.
- Неправильные IPv6 адреса.
- Значения вне диапазона.
- Недопустимая нотация.
Синтаксис
Аргументы
x
— строковое представление IPv6 или IPv4 адреса.String
Возвращаемое значение
Возвращает IPv6 адрес, если успешно, в противном случае NULL
. IPv6
или NULL
Примеры
Пример использования
toIPv6OrZero
Представлено в: v23.1
Преобразует входное значение в значение типа IPv6, но возвращает нулевой IPv6 адрес в случае ошибки.
Похож на toIPv6
, но возвращает нулевой IPv6 адрес (::
) вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Строковые представления IPv6 адресов в стандартной нотации.
- Строковые представления IPv4 адресов (преобразованные в IPv4-специализированные адреса IPv6).
- Двоичные представления IPv6 адресов.
Не поддерживаемые аргументы (возвращают нулевой IPv6):
- Неверные форматы IP адресов.
- Неправильные IPv6 адреса.
- Значения вне диапазона.
Синтаксис
Аргументы
x
— строковое представление IPv6 или IPv4 адреса.String
Возвращаемое значение
Возвращает IPv6 адрес, если успешно, в противном случае нулевой IPv6 адрес (::
). IPv6
Примеры
Пример использования