or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

address-conversion.mdaddress-validation.mdbitwise-operations.mdindex.mdnetwork-interfaces.mdnetwork-operations.md
tile.json

tessl/npm-ip

IP address utilities for node.js providing IPv4/IPv6 address manipulation, validation, and network operations

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/ip@2.0.x

To install, run

npx @tessl/cli install tessl/npm-ip@2.0.0

index.mddocs/

IP

IP is a comprehensive Node.js library providing utilities for IPv4 and IPv6 address manipulation, validation, conversion, and network operations. It supports address format conversion between strings, buffers, and long integers, subnet calculations, CIDR operations, network masking, and network interface queries.

Package Information

  • Package Name: ip
  • Package Type: npm
  • Language: JavaScript
  • Installation: npm install ip

Core Imports

const ip = require('ip');

For ES modules:

import * as ip from 'ip';
// or 
import ip from 'ip';

Basic Usage

const ip = require('ip');

// Get local IP address
console.log(ip.address()); // Your local IP address

// Validate IP formats
console.log(ip.isV4Format('192.168.1.1')); // true
console.log(ip.isV6Format('::1')); // true

// Convert between formats
const buffer = ip.toBuffer('127.0.0.1');
console.log(ip.toString(buffer)); // '127.0.0.1'

// Subnet operations
const subnet = ip.subnet('192.168.1.134', '255.255.255.192');
console.log(subnet.networkAddress); // '192.168.1.128'
console.log(subnet.contains('192.168.1.150')); // true

// CIDR operations
console.log(ip.cidr('192.168.1.134/26')); // '192.168.1.128'

// Check private addresses
console.log(ip.isPrivate('192.168.1.1')); // true
console.log(ip.isPrivate('8.8.8.8')); // false

Architecture

The IP library is built around several key functional areas:

  • Address Conversion: Convert between string, buffer, and long integer representations
  • Address Validation: Validate IP address formats and classify address types
  • Network Operations: Perform subnet calculations, CIDR operations, and network masking
  • Bitwise Operations: Apply bitwise NOT and OR operations to IP addresses
  • Network Interface Operations: Query local network interfaces for IP addresses

Capabilities

Address Conversion

Core functions for converting IP addresses between different representations including strings, buffers, and long integers.

function toBuffer(ip, buff, offset);
function toString(buff, offset, length);
function toLong(ip);
function fromLong(ipl);
function normalizeToLong(addr);

Address Conversion

Address Validation

Functions for validating IP address formats and classifying addresses as private, public, or loopback.

function isV4Format(ip);
function isV6Format(ip);
function isEqual(a, b);
function isPrivate(addr);
function isPublic(addr);
function isLoopback(addr);

Address Validation

Network Operations

Comprehensive subnet calculation, CIDR operations, and network masking functionality for network analysis.

function fromPrefixLen(prefixlen, family);
function mask(addr, mask);
function cidr(cidrString);
function subnet(addr, mask);
function cidrSubnet(cidrString);

Network Operations

Bitwise Operations

Bitwise manipulation functions for IP addresses including NOT and OR operations.

function not(addr);
function or(a, b);

Bitwise Operations

Network Interface Operations

Functions for querying local network interfaces and retrieving IP addresses from the system.

function address(name, family);
function loopback(family);

Network Interface Operations