parse_ipv6_mask()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Convertit la chaîne IPv6/IPv4 et le masque net en représentation de chaîne IPv6 canonique.
Syntaxe
parse_ipv6_mask(
préfixe ip,
)
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
ip | string |
Adresse réseau IPv6/IPv4 à convertir en représentation IPv6 canonique. La valeur peut inclure net-mask à l’aide de la notation de préfixe IP. | |
prefix | int |
Entier compris entre 0 et 128 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 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
Si la conversion réussit, le résultat est une chaîne représentant une adresse réseau IPv6 canonique. Si la conversion n’est pas réussie, le résultat est une chaîne vide.
Exemple
datatable(ip_string: string, netmask: long)
[
// IPv4 addresses
'192.168.255.255', 120, // 120-bit netmask is used
'192.168.255.255/24', 124, // 120-bit netmask is used, as IPv4 address doesn't use upper 8 bits
'255.255.255.255', 128, // 128-bit netmask is used
// IPv6 addresses
'fe80::85d:e82c:9446:7994', 128, // 128-bit netmask is used
'fe80::85d:e82c:9446:7994/120', 124, // 120-bit netmask is used
// IPv6 with IPv4 notation
'::192.168.255.255', 128, // 128-bit netmask is used
'::192.168.255.255/24', 128, // 120-bit netmask is used, as IPv4 address doesn't use upper 8 bits
]
| extend ip6_canonical = parse_ipv6_mask(ip_string, netmask)
Sortie
ip_string | masque netmask | ip6_canonical |
---|---|---|
192.168.255.255 | 120 | 000:000:000:000:0000:000 :ffff :c0a8 :ff00 |
192.168.255.255/24 | 124 | 000:000:000:000:0000:000 :ffff :c0a8 :ff00 |
255.255.255.255 | 128 | 000:000:000:000:000:000 :ffff :ffff : |
fe80 ::85d :e82c :9446:7994 | 128 | fe80:000:000:000:000:085d :e82c :9446:7994 |
fe80 ::85d :e82c :9446:7994/120 | 124 | fe80:000:000:000:000:085d :e82c :9446:7900 |
::192.168.255.255 | 128 | 000:000:000:000:000:0000 :ffff :c0a8 :ffff |
::192.168.255.255/24 | 128 | 000:000:000:000:0000:000 :ffff :c0a8 :ff00 |