Partilhar via


ipv6_is_in_any_range()

Alterne entre serviços usando a lista suspensa Version. Saiba mais sobre navegação.
Aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Verifica se um endereço de cadeia IPv6 está em algum dos intervalos especificados de endereços IPv6.

Sugestões de desempenho

Observação

Quando são usados mais de 128 termos de pesquisa, a otimização para pesquisa por índice de texto é desativada, o que pode levar a uma redução no desempenho da consulta.

Sintaxe

ipv6_is_in_any_range(Endereço ,Ipv6Range [ ,Ipv6Range ...])

ipv6_is_in_any_range(Endereço ,Ipv6Ranges)

Saiba mais sobre convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Description
Endereço Ipv6 string ✔️ Uma expressão que representa um endereço IPv6.
Ipv6Range string ✔️ Uma expressão que representa um intervalo IPv6 usando notação com prefixo IP.
Ipv6Ranges dynamic ✔️ Um array contendo intervalos IPv6 usando notação com prefixo IP.

Observação

É necessário um ou mais strings IPv6Range ou um array dinâmico IPv6Ranges .

Notação com prefixo IP

A notação com prefixo IP (também conhecida como notação CIDR) é uma forma concisa de representar um endereço IP e a sua máscara de rede associada. O formato é <base IP>/<prefix length>, onde o comprimento do prefixo é o número de bits 1 iniciais na netmask. 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. Assim, a notação 192.168.2.0/24 representa o endereço IP 192.168.2.0 com uma máscara de rede 255.255.255.0. Esta máscara de rede tem 24 bits 1 à frente, ou um comprimento de prefixo de 24.

Para IPv6, o comprimento do prefixo é um número entre 0 e 128. Assim, 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:ff00. Esta máscara de rede tem 120 bits de 1 inicial, 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 para uma das duas cadeias IPv6 não fosse bem-sucedida.

Example

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)

Output

IP IsLocal
A5E:F127:8A9D:146D:E102:B5D3:C755:ABCD Verdade
a5e:f127:8a9d:146d:e102:b5d3:c755:abce Verdade
a5e:f127:8a9d:146d:e102:b5d3:c755:abcf Verdade
a5e:f127:8a9d:146d:e102:b5d3:c756:abd1 Falso