ipv4_is_match()
Met en correspondance deux chaînes IPv4. Les deux chaînes IPv4 sont analysées et comparées tout en tenant compte du masque de préfixe IP combiné calculé à partir des préfixes d’argument et de l’argument facultatif prefix
.
Syntax
ipv4_is_match(
ip1,
ip2[ ,
Préfixe])
Découvrez les conventions de syntaxe.
Paramètres
Nom | Type | Obligatoire | Description |
---|---|---|---|
ip1, ip2 | string |
✔️ | Expression représentant une adresse IPv4. Les chaînes IPv4 peuvent être masquées à l’aide de la notation de préfixe IP. |
prefix | int |
Entier compris entre 0 et 32 représentant le nombre de bits les plus significatifs pris en compte. |
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 la représentation longue du premier argument de chaîne IPv4 est égale au deuxième argument de chaîne IPv4.false
:Sinon.null
: si la conversion de l’une des deux chaînes IPv4 n’a pas réussi.
Notes
Lorsque vous effectuez une correspondance avec une adresse IPv4 qui n’est pas une plage, nous vous recommandons d’utiliser l’opérateur equals (==
), pour de meilleures performances.
Exemples
Égalité de comparaison IPv4 : notation de préfixe IP spécifiée à l’intérieur des chaînes 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)
Sortie
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 |
Égalité de comparaison IPv4 : notation de préfixe IP spécifiée à l’intérieur des chaînes IPv4 et un argument supplémentaire de la ipv4_is_match()
fonction
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)
Sortie
ip1_string | ip2_string | prefix | 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 |
Contenu connexe
- Vue d’ensemble des fonctions IPv4/IPv6
- Vue d’ensemble des fonctions de correspondance de texte IPv4
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour