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 |