ipv4_is_in_any_range()
Verifica se l'indirizzo della stringa IPv4 si trova in uno degli intervalli di indirizzi IPv4 specificati.
Sintassi
ipv4_is_in_any_range(
Ipv4Address,
Ipv4Range [ ,
Ipv4Range ...] )
ipv4_is_in_any_range(
Ipv4Address,
Ipv4Ranges)
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Ipv4Address | string |
✔️ | Espressione che rappresenta un indirizzo IPv4. |
Ipv4Range | string |
✔️ | Intervallo IPv4 o elenco di intervalli IPv4 scritti con la notazione con prefisso IP. |
Ipv4Ranges | dynamic |
✔️ | Matrice dinamica contenente intervalli IPv4 scritti con la notazione con prefisso IP. |
Nota
È necessaria una o più stringhe IPv4Range o una matrice dinamica IPv4Ranges .
Notazione del prefisso IP
La notazione con 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 bit iniziali 1 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 netmask di ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Questa maschera di rete ha 120 bit iniziali o una lunghezza del prefisso pari a 120.
Restituisce
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 ha avuto esito positivo.
Esempio
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 |
Contenuti correlati
- Panoramica delle funzioni IPv4/IPv6
- Panoramica delle funzioni di corrispondenza del testo IPv4
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per