ipv4_is_match()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Gleicht zwei IPv4-Zeichenfolgen ab. Die beiden IPv4-Zeichenfolgen werden analysiert und verglichen, wobei die kombinierte IP-Präfixmaske anhand von Argumentpräfixen und dem optionalen prefix
Argument berechnet wird.
Syntax
ipv4_is_match(
ip1,
ip2-Präfix[ ,
])
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
ip1, ip2 | string |
✔️ | Ein Ausdruck, der eine IPv4-Adresse darstellt. IPv4-Zeichenfolgen können mithilfe der IP-Präfixnotation maskiert werden. |
Präfix | int |
Eine ganze Zahl zwischen 0 und 32, die die Anzahl der wichtigsten Bits darstellt, die berücksichtigt werden. |
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 die lange Darstellung des ersten IPv4-Zeichenfolgenarguments gleich dem zweiten IPv4-Zeichenfolgenargument ist.false
:Sonst.null
: Wenn die Konvertierung für eine der beiden IPv4-Zeichenfolgen nicht erfolgreich war.
Hinweis
Beim Abgleich mit einer IPv4-Adresse, die kein Bereich ist, empfehlen wir die Verwendung des Gleichheitsoperators (==
), um eine bessere Leistung zu erzielen.
Beispiele
Einfaches Beispiel
print ipv4_is_match('192.168.1.1/24', '192.168.1.255')
Output
print_0 |
---|
true |
IPv4-Vergleichsgleichheit – IP-Präfixnotation in den IPv4-Zeichenfolgen angegeben
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)
Output
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 |
IPv4-Vergleichsgleichheit – IP-Präfixnotation innerhalb der IPv4-Zeichenfolgen und ein zusätzliches Argument der ipv4_is_match()
Funktion
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)
Output
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 |
Zugehöriger Inhalt
- Übersicht über IPv4/IPv6-Funktionen
- Übersicht über IPv4-Textüberstimmungsfunktionen