GitHubKontrybutorzy w programie GitHub: Edytuj w trybie z połączeniem

ipv4_compare()

Porównuje dwa łańcuchy IPv4 . Dwa łańcuchy IPv4 są analizowane i porównywane podczas rozliczania łączonej maski przedrostka IP obliczonej na podstawie przedrostków argumentów, a także opcjonalnego argumentu 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

Składnia

ipv4_compare(Expr1, Expr2[ ,PrefixMask])

Argumenty

Nazwa Typ Wymagane Opis
Expr1 Łańcuch Wyrażenie łańcuchowe reprezentujące adres IPv4 . Łańcuchy IPv4 mogą być maskowane przy użyciu notacji z przedrostkiem IP.
Expr2 Łańcuch Wyrażenie łańcuchowe reprezentujące adres IPv4 . Łańcuchy IPv4 mogą być maskowane przy użyciu notacji z przedrostkiem IP.
PrefixMask Liczba lub łańcuch Liczba całkowita z zakresu od 0 do 32, która reprezentuje liczbę najbardziej znaczących bitów, które są brane pod uwagę.

Notacja przedrostka IP

IP addresses can be defined with IP-prefix notation using a slash (/) character. Adres IP do lewej strony znaku ukośnika (/) jest podstawowym adresem IP. Liczba (od 1 do 32) po prawej stronie znaku ukośnika (/) jest liczbą ciągłą 1 bitową w masce sieciowej.

Na przykład 192.168.2.0/24 będzie mieć powiązaną maskę sieci/podsieci zawierającą 24 bity ciągłe lub 255.255.255.0 w postaci dziesiętnej z kropkami.

Zwraca

  • 0: jeśli pierwszy argument łańcucha IPv4 jest równy drugim argumentowi łańcucha IPv4 ,
  • 1: jeśli pierwszy argument łańcucha IPv4 jest większy niż drugi argument łańcucha IPv4 ,
  • -1: Jeśli pierwszy argument łańcucha IPv4 jest mniejszy niż drugi argument łańcucha IPv4 ,
  • null: Jeśli konwersja dla jednego z dwóch łańcuchów IPv4 nie powiodła się.

Przykład

Porównywanie adresów IP z użyciem notacji IP-prefix określonej w łańcuchach 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

Wyniki

Wyświetlanie próbki zwróconych wyników.

ip1_string ip2_string wynik
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