ipv4_is_in_any_range()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Comprueba si la dirección de cadena IPv4 está en cualquiera de los intervalos de direcciones IPv4 especificados.
Consejos de rendimiento
Nota:
Cuando se usan más de 128 términos de búsqueda, la optimización de búsqueda de índices de texto está deshabilitada, lo que podría provocar una reducción del rendimiento de las consultas.
Sintaxis
ipv4_is_in_any_range(
Ipv4Address ,
Ipv4Range [ ,
Ipv4Range ...])
ipv4_is_in_any_range(
Ipv4Address ,
Ipv4Ranges )
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
Ipv4Address | string |
✔️ | Expresión que representa una dirección IPv4. |
Ipv4Range | string |
✔️ | Un intervalo IPv4 o una lista de intervalos IPv4 escritos con notación de prefijo IP. |
Ipv4Ranges | dynamic |
✔️ | Matriz dinámica que contiene intervalos IPv4 escritos con notación de prefijo IP. |
Nota:
Se requiere una o varias cadenas IPv4Range o una matriz dinámica IPv4Ranges .
Notación de prefijo IP
La notación de prefijo IP (también conocida como notación CIDR) es una manera concisa de representar una dirección IP y su máscara de red asociada. El formato es <base IP>/<prefix length>
, donde la longitud del prefijo es el número de 1 bits iniciales en la máscara de red. La longitud del prefijo determina el intervalo de direcciones IP que pertenecen a la red.
Para IPv4, la longitud del prefijo es un número comprendido entre 0 y 32. Por lo tanto, la notación 192.168.2.0/24 representa la dirección IP 192.168.2.0 con una máscara de red de 255.255.255.0. Esta máscara de red tiene 24 bits iniciales o una longitud de prefijo de 24.
Para IPv6, la longitud del prefijo es un número comprendido entre 0 y 128. Por lo tanto, la notación fe80::85d:e82c:9446:7994/120 representa la dirección IP fe80::85d:e82c:9446:7994 con una máscara de red de ffff:ffff:ffff:ffff:ffff:ffff:ff00. Esta máscara de red tiene 120 bits iniciales o una longitud de prefijo de 120.
Devoluciones
true
: si la dirección IPv4 está en el intervalo de cualquiera de las redes IPv4 especificadas.false
:De otra manera.null
: si la conversión de una de las dos cadenas IPv4 no se realizó correctamente.
Ejemplos
Sintaxis mediante la lista de cadenas
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')
Salida
Resultado |
---|
true |
Sintaxis mediante matriz dinámica
print Result=ipv4_is_in_any_range("127.0.0.1", dynamic(["127.0.0.1", "192.168.1.1"]))
Salida
Resultado |
---|
true |
Extender la tabla con la comprobación de intervaloS 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)
Salida
IP | IsLocal |
---|---|
10.1.2.3 | true |
192.168.1.5 | true |
123.1.11.21 | false |
1.1.1.1 | false |
Contenido relacionado
- Introducción a las funciones IPv4/IPv6
- Información general sobre las funciones de coincidencia de texto IPv4