ipv4_is_in_range()

Verifica se l'indirizzo stringa IPv4 si trova nell'intervallo di notazione del prefisso IPv4.

Sintassi

ipv4_is_in_range(Ipv4Address,Ipv4Range)

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 notazione prefisso IP.

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 è , dove la lunghezza del prefisso è <base IP>/<prefix length>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. Quindi la notazione 192.168.2.0/24 rappresenta l'indirizzo IP 192.168.2.0 con una maschera di rete 255.255.255.255.0. Questa maschera di rete ha 24 bit iniziali o una lunghezza di 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 net di ffff:ff00. Questa maschera di rete ha 120 bit iniziali o una lunghezza di prefisso pari a 120.

Restituisce

  • true: se la rappresentazione prolungata del primo argomento stringa IPv4 è compreso nell'intervallo del secondo argomento stringa IPv4.
  • false:Altrimenti.
  • null: se la conversione per una delle due stringhe IPv4 non è riuscita.

Esempio

datatable(ip_address:string, ip_range:string)
[
 '192.168.1.1',    '192.168.1.1',       // Equal IPs
 '192.168.1.1',    '192.168.1.255/24',  // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_is_in_range(ip_address, ip_range)

Output

ip_address ip_range result
192.168.1.1 192.168.1.1 true
192.168.1.1 192.168.1.255/24 true