ipv6_is_in_any_range()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Sprawdza, czy adres ciągu IPv6 znajduje się w dowolnym z określonych zakresów adresów IPv6.
Wskazówki dotyczące wydajności
Uwaga
Gdy jest używanych więcej niż 128 terminów wyszukiwania, optymalizacja wyszukiwania indeksu tekstowego jest wyłączona, co może prowadzić do zmniejszenia wydajności zapytań.
Składnia
ipv6_is_in_any_range(
Ipv6Address ,
Ipv6Range [ ,
Ipv6Range ...])
ipv6_is_in_any_range(
Ipv6Address ,
Ipv6Ranges )
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
Ipv6Address | string |
✔️ | Wyrażenie reprezentujące adres IPv6. |
Ipv6Range | string |
✔️ | Wyrażenie reprezentujące zakres IPv6 przy użyciu notacji prefiksu IP. |
Ipv6Ranges | dynamic |
✔️ | Tablica zawierająca zakresy IPv6 przy użyciu notacji prefiksów IP. |
Uwaga
Wymagany jest co najmniej jeden ciąg IPv6Range lub tablica dynamiczna IPv6Ranges .
Notacja prefiksu IP
Notacja prefiksów IP (znana również jako notacja CIDR) to zwięzły sposób reprezentowania adresu IP i skojarzonej maski sieciowej. Format to <base IP>/<prefix length>
, gdzie długość prefiksu to liczba wiodących 1 bitów maski sieci. Długość prefiksu określa zakres adresów IP należących do sieci.
W przypadku protokołu IPv4 długość prefiksu jest liczbą z zakresu od 0 do 32. Notacja 192.168.2.0/24 reprezentuje adres IP 192.168.2.0 z maską sieciową 255.255.255.0. Ta maska sieci ma 24 wiodące 1 bity lub długość prefiksu 24.
W przypadku protokołu IPv6 długość prefiksu jest liczbą z zakresu od 0 do 128. Notacja fe80::85d:e82c:9446:7994/120 reprezentuje adres IP fe80::85d:e82c:9446:7994 z maską netmask ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Ta maska sieci ma 120 wiodących 1 bitów lub długość prefiksu 120.
Zwraca
true
: Jeśli adres IPv6 znajduje się w zakresie dowolnej z określonych sieci IPv6.false
:Inaczej.null
: Jeśli konwersja jednego z dwóch ciągów IPv6 nie powiodła się.
Przykład
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)
Wyjście
Adres IP | IsLocal |
---|---|
a5e:f127:8a9d:146d:e102:b5d3:c755:abcd | Prawda |
a5e:f127:8a9d:146d:e102:b5d3:c755:abce | Prawda |
a5e:f127:8a9d:146d:e102:b5d3:c755:abcf | Prawda |
a5e:f127:8a9d:146d:e102:b5d3:c756:abd1 | Fałsz |