Partilhar via


ipv6_is_in_any_range()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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