Freigeben über


ipv6_is_in_any_range()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Überprüft, ob sich eine IPv6-Zeichenfolgenadresse in einem der angegebenen IPv6-Adressbereiche befindet.

Leistungstipps

Hinweis

Wenn mehr als 128 Suchbegriffe verwendet werden, ist die Suchoptimierung für Textindex deaktiviert, was zu einer verringerten Abfrageleistung führen kann.

Syntax

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

ipv6_is_in_any_range(Ipv6Address , Ipv6Ranges )

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
Ipv6Address string ✔️ Ein Ausdruck, der eine IPv6-Adresse darstellt.
Ipv6Range string ✔️ Ein Ausdruck, der einen IPv6-Bereich mit IP-Präfixnotation darstellt.
Ipv6Ranges dynamic ✔️ Ein Array, das IPv6-Bereiche mit IP-Präfixnotation enthält.

Hinweis

Es ist entweder eine oder mehrere IPv6Range-Zeichenfolgen oder ein dynamisches IPv6Ranges-Array erforderlich.

IP-Präfixnotation

Ip-Präfixnotation (auch als CIDR-Notation bezeichnet) ist eine präzise Möglichkeit, eine IP-Adresse und die zugehörige Netzwerkmaske darzustellen. Das Format ist <base IP>/<prefix length>, wobei die Präfixlänge die Anzahl der führenden 1 Bits in der Netzmaske ist. Die Präfixlänge bestimmt den Bereich der IP-Adressen, die zum Netzwerk gehören.

Bei IPv4 ist die Präfixlänge eine Zahl zwischen 0 und 32. Die Notation 192.168.2.0/24 stellt also die IP-Adresse 192.168.2.0 mit einer Netmask von 255.255.255.255.0 dar. Diese Netmaske hat 24 führende 1 Bit oder eine Präfixlänge von 24.

Bei IPv6 ist die Präfixlänge eine Zahl zwischen 0 und 128. Daher stellt die Notation fe80::85d:e82c:9446:7994/120 die IP-Adresse fe80::85d:e82c:9446:7994 mit einer Netmaske von ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00 dar. Diese Netmaske hat 120 führende 1 Bit oder eine Präfixlänge von 120.

Gibt zurück

  • true: Wenn sich die IPv6-Adresse im Bereich eines der angegebenen IPv6-Netzwerke befindet.
  • false:Sonst.
  • null: Wenn die Konvertierung für eine der beiden IPv6-Zeichenfolgen nicht erfolgreich war.

Beispiel

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)

Output

IP IstLokal
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