ipv6_is_in_any_range()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Verifica se um endereço de cadeia de caracteres IPv6 está em qualquer um dos intervalos de endereços IPv6 especificados.
Dicas de desempenho
Observação
Quando mais de 128 termos de pesquisa são usados, a otimização de pesquisa de índice de texto é desabilitada, o que pode levar a um desempenho de consulta reduzido.
Sintaxe
ipv6_is_in_any_range(
Endereço ,
IPv6 Intervalo IPv6 [ ,
Intervalo IPv6 ...] )
ipv6_is_in_any_range(
Endereço ,
IPv6 Intervalos 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. |
Intervalos IPv6 | dynamic |
✔️ | Uma matriz que contém intervalos IPv6 usando notação de prefixo IP. |
Observação
É necessária uma ou mais cadeias de caracteres IPv6Range ou uma matriz dinâmica IPv6Ranges .
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 o endereço IPv6 estiver no intervalo de qualquer uma das redes IPv6 especificadas.false
:Caso contrário.null
: Se a conversão de uma das duas cadeias de caracteres IPv6 não for bem-sucedida.
Exemplo
let LocalNetworks=dynamic([
"a5e:f127:8a9d:146d:e102:b5d3:c755:f6cd/112",
"0:0:0:0:0:ffff:c0a8:ac/60"
]);
let IPs=datatable(IP:string) [
"a5e:f127:8a9d:146d:e102:b5d3:c755:abcd",
"a5e:f127:8a9d:146d:e102:b5d3:c755:abce",
"a5e:f127:8a9d:146d:e102:b5d3:c755:abcf",
"a5e:f127:8a9d:146d:e102:b5d3:c756:abd1",
];
IPs
| extend IsLocal=ipv6_is_in_any_range(IP, LocalNetworks)
Saída
IP | ÉLocal |
---|---|
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCD | Verdadeiro |
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCE | Verdadeiro |
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCF | Verdadeiro |
A5E:F127:8A9D:146D:E102:B5D3:C756:ABD1 | Falso |
Conteúdo relacionado
- Visão geral das funções IPv4/IPv6