ipv4_is_in_any_range()
Comprueba si la dirección de cadena IPv4 está en cualquiera de los intervalos de direcciones IPv4 especificados.
Syntax
ipv4_is_in_any_range(
Ipv4Address,
Ipv4Range [ ,
Ipv4Range ...] )
ipv4_is_in_any_range(
Ipv4Address,
Ipv4Ranges)
Más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Tipo | Requerido | 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 requieren 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 forma 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 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 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: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
:Lo contrario.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 |
Extensión de tabla con comprobación de intervalo 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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de