Comprehensive Guide to Master ipaddr js for Network Applications

Introduction to ipaddr.js

ipaddr.js is a standalone JavaScript library that aids in working with IP addresses.

Key Features

  • IPv4 and IPv6 validation
  • IP address conversion
  • Subnet matching
  • Custom range matching

API Examples

IPv4 Validation

  
  const ipaddr = require('ipaddr.js');
  const ipv4 = "192.168.0.1";
  console.log(ipaddr.IPv4.isValid(ipv4)); // true
  

IPv6 Validation

  
  const ipv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
  console.log(ipaddr.IPv6.isValid(ipv6)); // true
  

IP Address Conversion

  
  const ipv4 = ipaddr.parse("192.168.0.1");
  console.log(ipv4.kind()); // "ipv4"
  

Subnet Matching

  
  const ipv4 = ipaddr.parse("192.168.1.1");
  const range = ipaddr.parseCIDR("192.168.1.0/24");
  console.log(ipv4.match(range)); // true
  

Custom Range Matching

  
  const ipv6 = ipaddr.parse("2001:0db8:85a3:0000:0000:8a2e:0370:7334");
  const range = [ipaddr.parse("2001:db8::"), 32];
  console.log(ipv6.match(range)); // true
  

Application Example

Let’s create a simple application that blocks requests from certain IP addresses.

  
  const ipaddr = require('ipaddr.js');
  
  const bannedIPs = [
    ipaddr.parse("192.168.1.1"),
    ipaddr.parse("10.0.0.1")
  ];

  function isBanned(ip) {
    const parsedIP = ipaddr.parse(ip);
    return bannedIPs.some(bannedIP => parsedIP.match(bannedIP));
  }

  const testIP1 = "192.168.1.1";
  const testIP2 = "192.168.1.2";

  console.log(isBanned(testIP1)); // true
  console.log(isBanned(testIP2)); // false
  

This script checks if an IP address is in the list of banned IPs and returns true or false accordingly.

Hash: b30c1cf4de0dab00d3cacaa6eb415c804ebc1b6511c3abc97ca8612ece20e025

Leave a Reply

Your email address will not be published. Required fields are marked *