Partager via


parse_ipv6_mask()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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