This page explains how to use the ipv6_is_in_any_range function in APL.
Use the ipv6_is_in_any_range
function to determine whether a given IPv6 address belongs to any of a specified set of IPv6 CIDR ranges. This function is particularly useful in log enrichment, threat detection, and network analysis tasks that involve validating or filtering IP addresses against allowlists or blocklists.
You can use this function to:
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.
Splunk SPL users
Splunk doesn’t offer a built-in function that directly checks if an IP falls within a list of CIDR ranges. Typically, SPL users must write custom logic using cidrmatch()
repeatedly or rely on lookup tables.
ANSI SQL users
ANSI SQL doesn’t natively support IPv6-aware CIDR range checks. Such functionality usually requires user-defined functions or external extensions.
Name | Type | Description |
---|---|---|
ipv6_address | string | An IPv6 address in standard format (e.g., 2001:db8::1 ). |
ipv6_ranges | dynamic array | A JSON array of IPv6 CIDR strings to compare against. |
A bool
value:
true
if the given IPv6 address is within any of the provided CIDR ranges.false
otherwise.You want to detect HTTP requests from a specific internal IPv6 block.
Query
Output
_time | uri | method | status | inRange |
---|---|---|---|---|
2025-06-30T01:00:00Z | /api/login | POST | 200 | true |
2025-06-30T01:01:00Z | /healthcheck | GET | 204 | true |