ipv6_is_in_any_range()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vérifie si une adresse de chaîne IPv6 se trouve dans l’une des plages d’adresses IPv6 spécifiées.
Astuces pour les performances
Remarque
Lorsque plus de 128 termes de recherche sont utilisés, l’optimisation de la recherche d’index de texte est désactivée, ce qui peut entraîner une réduction des performances des requêtes.
Syntaxe
ipv6_is_in_any_range(
Ipv6Address ,
Ipv6Range [ ,
Ipv6Range ...] )
ipv6_is_in_any_range(
Ipv6Address ,
Ipv6Ranges )
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
Ipv6Address | string |
✔️ | Expression représentant une adresse IPv6. |
Ipv6Range | string |
✔️ | Expression représentant une plage IPv6 à l’aide de la notation de préfixe IP. |
Ipv6Ranges | dynamic |
✔️ | Tableau contenant des plages IPv6 à l’aide de la notation de préfixe IP. |
Remarque
Une ou plusieurs chaînes IPv6Range ou un tableau dynamique IPv6Ranges sont nécessaires.
Notation de préfixe IP
La notation de préfixe IP (également appelée notation CIDR) est un moyen concis de représenter une adresse IP et son masque réseau associé. Le format est <base IP>/<prefix length>
, où la longueur du préfixe est le nombre de 1 bits de début dans le masque net. La longueur du préfixe détermine la plage d’adresses IP qui appartiennent au réseau.
Pour IPv4, la longueur du préfixe est un nombre compris entre 0 et 32. Ainsi, la notation 192.168.2.0/24 représente l’adresse IP 192.168.2.0 avec un masque netmask de 255.255.255.255.0. Ce masque net a 24 bits de début 1 ou une longueur de préfixe de 24.
Pour IPv6, la longueur du préfixe est un nombre compris entre 0 et 128. Ainsi, la notation fe80 ::85d :e82c :9446:7994/120 représente l’adresse IP fe80 ::85d :e82c :9446:7994 avec un masque net de ffff :ffff :ffff :ffff :ffff :ff00. Ce masque net a 120 bits de début 1 ou une longueur de préfixe de 120.
Retours
true
: si l’adresse IPv6 se trouve dans la plage d’un des réseaux IPv6 spécifiés.false
:Autrement.null
: Si la conversion pour l’une des deux chaînes IPv6 n’a pas réussi.
Exemple
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)
Sortie
IP | IsLocal |
---|---|
a5e :f127:8a9d :146d :e102 :b5d3 :c755 :abcd | True |
a5e :f127:8a9d :146d :e102 :b5d3 :c755 :abce | True |
a5e :f127:8a9d :146d :e102 :b5d3 :c755 :abcf | True |
a5e :f127:8a9d :146d :e102 :b5d3 :c756 :abd1 | False |
Contenu connexe
- Vue d’ensemble des fonctions IPv4/IPv6