Condividi tramite


ipv4_is_in_any_range()

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

Controlla se l'indirizzo della stringa IPv4 si trova in uno degli intervalli di indirizzi IPv4 specificati.

Suggerimenti per incrementare le prestazioni

Nota

Quando vengono usati più di 128 termini di ricerca, l'ottimizzazione della ricerca dell'indice di testo è disabilitata, riducendo così le prestazioni delle query.

Sintassi

ipv4_is_in_any_range(Ipv4Address , Ipv4Range [ , Ipv4Range ...])

ipv4_is_in_any_range(Ipv4Address , Ipv4Ranges )

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
Ipv4Address string ✔️ Espressione che rappresenta un indirizzo IPv4.
Ipv4Range string ✔️ Intervallo IPv4 o elenco di intervalli IPv4 scritti con notazione con prefisso IP.
Ipv4Ranges dynamic ✔️ Matrice dinamica contenente intervalli IPv4 scritti con notazione con prefisso IP.

Nota

È necessaria una o più stringhe IPv4Range o una matrice dinamica IPv4Ranges .

Notazione del prefisso IP

La notazione del prefisso IP (nota anche come notazione CIDR) è un modo conciso di rappresentare un indirizzo IP e la relativa maschera di rete associata. Il formato è <base IP>/<prefix length>, dove la lunghezza del prefisso è il numero di 1 bit iniziali nella maschera di rete. La lunghezza del prefisso determina l'intervallo di indirizzi IP che appartengono alla rete.

Per IPv4, la lunghezza del prefisso è un numero compreso tra 0 e 32. La notazione 192.168.2.0/24 rappresenta quindi l'indirizzo IP 192.168.2.0 con una maschera di rete 255.255.255.0. Questa maschera di rete ha 24 bit iniziali 1 o una lunghezza del prefisso pari a 24.

Per IPv6, la lunghezza del prefisso è un numero compreso tra 0 e 128. La notazione fe80::85d:e82c:9446:7994/120 rappresenta l'indirizzo IP fe80::85d:e82c:9446:7994 con una maschera di rete ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Questa maschera di rete ha 120 bit iniziali 1 o una lunghezza del prefisso pari a 120.

Valori restituiti

  • true: se l'indirizzo IPv4 è compreso nell'intervallo di una delle reti IPv4 specificate.
  • false:Altrimenti.
  • null: se la conversione per una delle due stringhe IPv4 non è riuscita.

Esempi

Sintassi con l'elenco di stringhe

print Result=ipv4_is_in_any_range('192.168.1.6', '192.168.1.1/24', '10.0.0.1/8', '127.1.0.1/16')

Output

Risultato
true

Sintassi con matrice dinamica

print Result=ipv4_is_in_any_range("127.0.0.1", dynamic(["127.0.0.1", "192.168.1.1"]))

Output

Risultato
true

Estendere la tabella con controllo dell'intervallo IPv4

let LocalNetworks=dynamic([
    "192.168.1.1/16",
    "127.0.0.1/8",
    "10.0.0.1/8"
]);
let IPs=datatable(IP:string) [
    "10.1.2.3",
    "192.168.1.5",
    "123.1.11.21",
    "1.1.1.1"
];
IPs
| extend IsLocal=ipv4_is_in_any_range(IP, LocalNetworks)

Output

IP ÈLocale
10.1.2.3 true
192.168.1.5 true
123.1.11.21 false
1.1.1.1 false