Share via


ipv6_is_in_any_range()

Vérifie si une adresse de chaîne IPv6 se trouve dans l’une des plages d’adresses IPv6 spécifiées.

Syntax

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

ipv6_is_in_any_range(Ipv6Address,Ipv6Ranges)

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire 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 utilisant la notation de préfixe IP.

Notes

Une ou plusieurs chaînes IPv6Range ou un tableau dynamique IPv6Ranges est requis.

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 de réseau. 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 réseau de 255.255.255.0. Ce masque de réseau a 24 1 bits de début, 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 de réseau de ffff :ffff :ffff :ffff :ffff :ffff :ff00. Ce masque réseau a 120 bits de début, 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:Sinon.
  • null: si la conversion de 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 Faux