Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Network Functions

Network-related functions: IP addresses, CIDR notation, and network utilities.

Summary

FunctionSignatureDescription
cidr_broadcaststring -> stringGet broadcast address from CIDR
cidr_containsstring, string -> booleanCheck if IP is in CIDR range
cidr_networkstring -> stringGet network address from CIDR
cidr_prefixstring -> numberGet prefix length from CIDR
int_to_ipnumber -> stringConvert integer to IP address
ip_to_intstring -> numberConvert IP address to integer
is_private_ipstring -> booleanCheck if IP is in private range

Functions

cidr_broadcast

Get broadcast address from CIDR

Signature: string -> string

Examples:

# /24 network
cidr_broadcast('192.168.1.0/24') -> \"192.168.1.255\"
# /8 network
cidr_broadcast('10.0.0.0/8') -> \"10.255.255.255\"
# /16 network
cidr_broadcast('172.16.0.0/16') -> \"172.16.255.255\"

CLI Usage:

echo '{}' | jpx 'cidr_broadcast(`"192.168.1.0/24"`)'

cidr_contains

Check if IP is in CIDR range

Signature: string, string -> boolean

Examples:

# IP in range
cidr_contains('192.168.0.0/16', '192.168.1.1') -> true
# IP not in range
cidr_contains('10.0.0.0/8', '192.168.1.1') -> false
# Catch-all range
cidr_contains('0.0.0.0/0', '8.8.8.8') -> true

CLI Usage:

echo '{}' | jpx 'cidr_contains(`"192.168.0.0/16"`, `"192.168.1.1"`)'

cidr_network

Get network address from CIDR

Signature: string -> string

Examples:

# /24 network
cidr_network('192.168.1.0/24') -> \"192.168.1.0\"
# /8 network
cidr_network('10.0.0.0/8') -> \"10.0.0.0\"
# Host in network
cidr_network('192.168.1.100/24') -> \"192.168.1.0\"

CLI Usage:

echo '{}' | jpx 'cidr_network(`"192.168.1.0/24"`)'

cidr_prefix

Get prefix length from CIDR

Signature: string -> number

Examples:

# /24 prefix
cidr_prefix('192.168.1.0/24') -> 24
# /8 prefix
cidr_prefix('10.0.0.0/8') -> 8
# Default route
cidr_prefix('0.0.0.0/0') -> 0

CLI Usage:

echo '{}' | jpx 'cidr_prefix(`"192.168.1.0/24"`)'

int_to_ip

Convert integer to IP address

Signature: number -> string

Examples:

# Private IP
int_to_ip(`3232235777`) -> \"192.168.1.1\"
# Zero
int_to_ip(`0`) -> \"0.0.0.0\"
# Max value
int_to_ip(`4294967295`) -> \"255.255.255.255\"

CLI Usage:

echo '{}' | jpx 'int_to_ip(`3232235777`)'

ip_to_int

Convert IP address to integer

Signature: string -> number

Examples:

# Private IP
ip_to_int('192.168.1.1') -> 3232235777
# Zero
ip_to_int('0.0.0.0') -> 0
# Max value
ip_to_int('255.255.255.255') -> 4294967295

CLI Usage:

echo '{}' | jpx 'ip_to_int(`"192.168.1.1"`)'

is_private_ip

Check if IP is in private range

Signature: string -> boolean

Examples:

# Class C private
is_private_ip('192.168.1.1') -> true
# Class A private
is_private_ip('10.0.0.1') -> true
# Public IP
is_private_ip('8.8.8.8') -> false

CLI Usage:

echo '{}' | jpx 'is_private_ip(`"192.168.1.1"`)'