GitHubContribuer dans GitHub: Editer en ligne

ipv4_compare()

Compare 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 PrefixMask .

ipv4_compare("127.0.0.1", "127.0.0.1") == 0
ipv4_compare('192.168.1.1', '192.168.1.255') < 0
ipv4_compare('192.168.1.1/24', '192.168.1.255/24') == 0
ipv4_compare('192.168.1.1', '192.168.1.255', 24) == 0

Syntaxe

ipv4_compare(Expr1, Expr2[ ,Masque de préfixe])

Arguments

Nom Type Obligatoire Descriptif
Expr1 Chaîne Expression de chaîne représentant une adresse IPv4 . Les chaînes IPv4 peuvent être masquées à l'aide de la notation de préfixe IP.
Expr2 Chaîne Expression de chaîne représentant une adresse IPv4 . Les chaînes IPv4 peuvent être masquées à l'aide de la notation de préfixe IP.
PrefixMask Nombre ou chaîne Un entier de 0 à 32 représentant le nombre de bits de poids fort pris en compte.

Notation de préfixe IP

Les adresses IP peuvent être définies avec IP-prefix notation à l'aide d'une barre oblique (/). L'adresse IP du LEFT de la barre oblique (/) est l'adresse IP de base. Le nombre (1 à 32) à droite de la barre oblique (/) est le nombre d'un bit contigu dans le masque de réseau.

Par exemple, 192.168.2.0/24 aura un masque de réseau / sous-réseau associé contenant 24 bits contigus ou 255.255.255.0 en notation décimale à point.

Retours

  • 0: si le premier argument de chaîne IPv4 est égal au deuxième argument de chaîne IPv4
  • 1: si le premier argument de chaîne IPv4 est supérieur au second argument de chaîne IPv4
  • -1: si le premier argument de chaîne IPv4 est inférieur au second argument de chaîne IPv4
  • null: si la conversion de l'une des deux chaînes IPv4 a échoué.

Exemple

Comparer les adresses IP à l'aide de la notation de préfixe IP spécifiée dans les chaînes IPv4


events_all
| project  ip1_string=src_ip , ip2_string= dst_ip
| extend result = ipv4_compare(ip1_string, ip2_string)
| project ip1_string, ip2_string, result

Les résultats

Affichage d'un échantillon des résultats renvoyés.

ip1_string ip2_string résultat
192.168.1.0 192.168.1.0 0
192.168.56.10 192.168.56.3 1
172.16.0.1 192.168.200.25 -1