Compartilhar via


ipv6_is_in_any_range()

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

Sintaxe

ipv6_is_in_any_range(Ipv6Address , Ipv6Range [ , Ipv6Range ...])

ipv6_is_in_any_range(Ipv6Address , Ipv6Ranges )

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
Ipv6Endereço string ✔️ Uma expressão que representa um endereço IPv6.
Ipv6Gama string ✔️ Uma expressão que representa um intervalo IPv6 usando notação de prefixo IP.
Ipv6Intervalos 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

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 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. Assim, 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. Esta máscara de rede tem 24 bits de 1 bits à esquerda, 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:ffff:ffff:ffff:ffff:ff00. Essa máscara de rede tem 120 bits à esquerda de 1 bits, 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 de caracteres IPv6 não foi 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