Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Combina duas cadeias de caracteres IPv4. As duas cadeias de caracteres IPv4 são analisadas e comparadas ao considerar a máscara de prefixo IP combinada calculada a partir de prefixos de argumento e o argumento opcional prefix .
Sintaxe
ipv4_is_match(Prefixo IP1,IP2[ ,])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
| Nome | Digitar | Obrigatória | Descrição |
|---|---|---|---|
| IP1, IP2 | string |
✔️ | Uma expressão que representa um endereço IPv4. As strings IPv4 podem ser mascaradas usando notação de prefixo IP. |
| prefixo | int |
Um inteiro de 0 a 32 que representa o número de bits mais significativos que são levados em consideração. |
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 a representação longa do primeiro argumento de cadeia de caracteres IPv4 for igual ao segundo argumento de cadeia de caracteres IPv4.false:Caso contrário.null: Se a conversão de uma das duas cadeias de caracteres IPv4 não for bem-sucedida.
Observação
Ao fazer a correspondência com um endereço IPv4 que não seja um intervalo, recomendamos usar o operador igual (==), para obter um melhor desempenho.
Exemplos
Exemplo simples
print ipv4_is_match('192.168.1.1/24', '192.168.1.255')
Saída
| print_0 |
|---|
| true |
Igualdade de comparação IPv4 - notação de prefixo IP especificada dentro das strings IPv4
datatable(ip1_string:string, ip2_string:string)
[
'192.168.1.0', '192.168.1.0', // Equal IPs
'192.168.1.1/24', '192.168.1.255', // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
'192.168.1.1/30', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_is_match(ip1_string, ip2_string)
Saída
| ip1_string | ip2_string | result |
|---|---|---|
| 192.168.1.0 | 192.168.1.0 | true |
| 192.168.1.1/24 | 192.168.1.255 | true |
| 192.168.1.1 | 192.168.1.255/24 | true |
| 192.168.1.1/30 | 192.168.1.255/24 | true |
Igualdade de comparação IPv4 - notação de prefixo IP especificada dentro das strings IPv4 e um argumento adicional da ipv4_is_match() função
datatable(ip1_string:string, ip2_string:string, prefix:long)
[
'192.168.1.1', '192.168.1.0', 31, // 31 bit IP-prefix is used for comparison
'192.168.1.1/24', '192.168.1.255', 31, // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255', 24, // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_is_match(ip1_string, ip2_string, prefix)
Saída
| ip1_string | ip2_string | prefixo | result |
|---|---|---|---|
| 192.168.1.1 | 192.168.1.0 | 31 | true |
| 192.168.1.1/24 | 192.168.1.255 | 31 | true |
| 192.168.1.1 | 192.168.1.255 | 24 | true |
Conteúdo relacionado
- Visão geral das funções IPv4/IPv6
- Visão geral das funções de correspondência de texto IPv4