Partilhar via


ipv6_is_in_range()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

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

Sintaxe

ipv6_is_in_range(Endereço,IPv6 Intervalo IPv6)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
Endereço IPv6 string ✔️ Uma expressão que representa um endereço IPv6.
Faixa Ipv6 string ✔️ Uma expressão que representa um intervalo IPv6 usando 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>, onde o comprimento do prefixo é o número de bits 1 à 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 1 à 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 uma máscara de rede de ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Essa máscara de rede tem 120 bits 1 à esquerda ou um comprimento de prefixo de 120.

Devoluções

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

Exemplo

datatable(ip_address:string, ip_range:string)
[
 'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',    'a5e:f127:8a9d:146d:e102:b5d3:c755:0000/112',
 'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',    'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',
 'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',    '0:0:0:0:0:ffff:c0a8:ac/60',
]
| extend result = ipv6_is_in_range(ip_address, ip_range)

Saída

ip_address ip_range result
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCD A5E:F127:8A9D:146D:E102:B5D3:C755:0000/112 Verdadeiro
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCD A5E:F127:8A9D:146D:E102:B5D3:C755:ABCD Verdadeiro
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCD 0:0:0:0:0:ffff:c0a8:ac/60 Falso