ipv4_is_in_range()

Verifica se o endereço de cadeia de caracteres IPv4 está no intervalo de notação do prefixo IPv4.

Syntax

ipv4_is_in_range(Ipv4Address,Ipv4Range)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
Ipv4Address string ✔️ Uma expressão que representa um endereço IPv4.
Ipv4Range string ✔️ Um intervalo IPv4 ou uma lista de intervalos IPv4 gravados com notação de prefixo IP.

Notação de prefixo IP

A notação de prefixo IP (também conhecida como notação CIDR) é uma maneira concisa de representar um endereço IP e sua máscara de rede associada. O formato é <base IP>/<prefix length>, em que o comprimento do prefixo é o número de 1 bits à esquerda na máscara de rede. O comprimento do prefixo determina o intervalo de endereços IP que pertencem à rede.

Para IPv4, o comprimento do prefixo é um número entre 0 e 32. Portanto, a notação 192.168.2.0/24 representa o endereço IP 192.168.2.0 com uma máscara de rede de 255.255.255.0. Essa máscara de rede tem 24 bits à esquerda ou um comprimento de prefixo de 24.

Para IPv6, o comprimento do prefixo é um número entre 0 e 128. Portanto, a notação fe80::85d:e82c:9446:7994/120 representa o endereço IP fe80::85d:e82c:9446:7994 com um netmask de ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Essa máscara de rede tem 120 bits à esquerda ou um tamanho de prefixo de 120.

Retornos

  • true: se a representação longa do primeiro argumento de cadeia de caracteres IPv4 estiver no intervalo do segundo argumento de cadeia de caracteres IPv4.
  • false:Caso contrário.
  • null: se a conversão para uma das duas cadeias de caracteres IPv4 não foi bem-sucedida.

Exemplo

datatable(ip_address:string, ip_range:string)
[
 '192.168.1.1',    '192.168.1.1',       // Equal IPs
 '192.168.1.1',    '192.168.1.255/24',  // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_is_in_range(ip_address, ip_range)

Saída

ip_address ip_range result
192.168.1.1 192.168.1.1 true
192.168.1.1 192.168.1.255/24 true