You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

is-in-subnet

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

is-in-subnet

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet

4.0.1
latest
Source
npmnpm
Version published
Weekly downloads
25K
-1.25%
Maintainers
1
Weekly downloads
 
Created
Source

is-in-subnet npm dependencies license node

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet.

  • Small
  • Fast
  • Simple syntax
  • Full test coverage
  • TypeScript-friendly
  • Zero dependencies
  • 🆕 Browser-friendly

See the 📖 Reference page for complete documentation.

Installation

With Node.js

npm install is-in-subnet

In a browser

This module is compatible with Browserify and other bundling tools. If you prefer to load it as a single file from a CDN:

The module is loaded as a global named isInSubnet.

Basic Usage

Node.js

const { isInSubnet } = require('is-in-subnet');

console.log(isInSubnet('10.5.0.1', '10.4.5.0/16')); // false
console.log(isInSubnet('10.5.0.1', '10.4.5.0/15')); // true

console.log(isInSubnet('2001:db8:f53a::1', '2001:db8:f53b::1:1/48')); // false
console.log(isInSubnet('2001:db8:f53a::1', '2001:db8:f531::1:1/44')); // true

Browser

console.log(isInSubnet.isInSubnet('10.5.0.1', '10.4.5.0/16'));
// if you don’t like that syntax, you may use this instead:
console.log(isInSubnet.check('10.5.0.1', '10.4.5.0/16'));

More ways to use it

Test multiple subnets at once

  • You can pass an array instead of a single subnet.
const inAnySubnet = isInSubnet('10.5.0.1', ['10.4.5.0/16', '192.168.1.0/24']);

Amortise the parsing cost using a functional version

  • createChecker(subnetOrSubnets) returns a function used to check an address
const checker = createChecker(['10.4.5.0/16', '192.168.1.0/24']);
console.log(checker('10.5.0.1')); // true

Test for special types of addresses

  • isPrivate(address) — Private addresses (like 192.168.0.0)
  • isLocalhost(address) — Localhost addresses (like ::1)

And more. See the documentation.

Check if an address is valid

  • isIPv4(address), isIPv6(address), isIP(address) — works just like the similarly-named functions in Node’s net module.

Keywords

ip

FAQs

Package last updated on 10 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts