ipv4_is_in_any_range()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Verifica se o endereço de cadeia de caracteres IPv4 está em qualquer um dos intervalos de endereços IPv4 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
ipv4_is_in_any_range(
Endereço ,
IPv4 Intervalo IPv4 [ ,
Intervalo IPv4 ...] )
ipv4_is_in_any_range(
Endereço ,
IPv4 Intervalos IPv4 )
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
Endereço IPv4 | string |
✔️ | Uma expressão que representa um endereço IPv4. |
Faixa IPv4 | string |
✔️ | Um intervalo IPv4 ou uma lista de intervalos IPv4 gravados com notação de prefixo IP. |
Intervalos IPv4 | dynamic |
✔️ | Uma matriz dinâmica contendo intervalos IPv4 gravados com notação de prefixo IP. |
Observação
É necessária uma ou mais cadeias de caracteres IPv4Range ou uma matriz dinâmica IPv4Ranges .
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 IPv4 estiver no intervalo de qualquer uma das redes IPv4 especificadas.false
:Caso contrário.null
: Se a conversão de uma das duas cadeias de caracteres IPv4 não for bem-sucedida.
Exemplos
Sintaxe usando lista de strings
print Result=ipv4_is_in_any_range('192.168.1.6', '192.168.1.1/24', '10.0.0.1/8', '127.1.0.1/16')
Saída
Resultado |
---|
true |
Sintaxe usando matriz dinâmica
print Result=ipv4_is_in_any_range("127.0.0.1", dynamic(["127.0.0.1", "192.168.1.1"]))
Saída
Resultado |
---|
true |
Estender tabela com verificação de intervalo IPv4
let LocalNetworks=dynamic([
"192.168.1.1/16",
"127.0.0.1/8",
"10.0.0.1/8"
]);
let IPs=datatable(IP:string) [
"10.1.2.3",
"192.168.1.5",
"123.1.11.21",
"1.1.1.1"
];
IPs
| extend IsLocal=ipv4_is_in_any_range(IP, LocalNetworks)
Saída
IP | ÉLocal |
---|---|
10.1.2.3 | true |
192.168.1.5 | true |
123.1.11.21 | false |
1.1.1.1 | false |
Conteúdo relacionado
- Visão geral das funções IPv4/IPv6
- Visão geral das funções de correspondência de texto IPv4