New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

node-ipv4

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-ipv4

A package to calculate subnet masks.

latest
Source
npmnpm
Version
1.1.2
Version published
Maintainers
1
Created
Source

IPv4 Parser

Generated by OSS Project Generator.

Travis Status AppVeyor Status CircleCI Status Coveralls Status NPM Version License

A package to calculate subnet masks.

This package provides the following features:

  • Allows you to parse an IPv4 address
  • Provides the address, size, netmask, first and last addresses.
  • Each address provides decimal, binary and hexadecimal values.

Installation

There are two ways to install node-ipv4: globally and locally.

To install globally:

# Install globally
$ npm install -g node-ipv4

# Check installation
$ node-ipv4 --version

To install locally:

$ npm install node-ipv4

Usage

There are two ways to use node-ipv4: globally and locally.

Globally

  • -V or --version: output the version number

$ node-ipv4 --version
1.1.2
  • -h or --help: output usage information

$ node-ipv4 --help

  Usage: cli [options]

  Options:

    -h, --help         output usage information
    -V, --version      output the version number
    -i, --ip [ip]      IP Address
    -c, --cidr [cidr]  Cdir block
  • -i or --ip [ip: string]: enter the IP address

  • -c or --cidr [ip: number]: enter the CIDR block

# without alias
$ node-ipv4 --ip 192.168.1.1 --cidr 8

# with alias
$ node-ipv4 -i 192.168.1.1 -c 8

# output
{
  "cidr": 8,
  "size": 16777216,
  "address": {
    "value": 3232235777,
    "address": "192.168.1.1",
    "binary": "11000000101010000000000100000001",
    "hexadecimal": "C0A80101"
  },
  "netmask": {
    "value": 4278190080,
    "address": "255.0.0.0",
    "binary": "11111111000000000000000000000000",
    "hexadecimal": "FF000000"
  },
  "first": {
    "value": 3221225472,
    "address": "192.0.0.0",
    "binary": "11000000000000000000000000000000",
    "hexadecimal": "C0000000"
  },
  "last": {
    "value": 3238002687,
    "address": "192.255.255.255",
    "binary": "11000000111111111111111111111111",
    "hexadecimal": "C0FFFFFF"
  }
}

Locally

const ipv4 = require('node-ipv4');

ipv4.parse('192.168.1.1', 16, (err, subnet) => {
  if (err) return console.error(err);

  console.log(subnet);
});

Output

{
  "cidr": 16,
  "size": 65536,
  "address": {
    "value": 3232235777,
    "address": "192.168.1.1",
    "binary": "11000000101010000000000100000001",
    "hexadecimal": "C0A80101"
  },
  "netmask": {
    "value": 4294901760,
    "address": "255.255.0.0",
    "binary": "11111111111111110000000000000000",
    "hexadecimal": "FFFF0000"
  },
  "first": {
    "value": 3232235520,
    "address": "192.168.0.0",
    "binary": "11000000101010000000000000000000",
    "hexadecimal": "C0A80000"
  },
  "last": {
    "value": 3232301055,
    "address": "192.168.255.255",
    "binary": "11000000101010001111111111111111",
    "hexadecimal": "C0A8FFFF"
  }
}

Documentation

Address

  • value: {Number} Decimal value of an address
  • address: {String} String value of an address
  • binary: {String} Binary value of an address
  • hexadecimal: {String} Hexadecimal value of an address

IPv4

  • cidr: {Number} CIDR block
  • size: {Number} Size of subnet
  • address: {Object:Address} The input address
  • netmask: {Object:Address} The subnet mask
  • first: {Object:Address} The first address
  • last: {Object:Address} The last address

API: parse(address, cidr, callback)

  • address {String} IP address
  • cidr {Number} CIDR block
  • callback {Function}
    • err {Error | null} Error
    • ipv4 {Object:IPv4} Instance of IPv4

Development

  • Clone the repo
$ git clone https://github.com/robertoachar/node-ipv4.git
  • Install dependencies
$ npm install
  • Running scripts
ActionUsage
Linting codenpm run lint
Running unit testsnpm run jest
Running code coveragenpm run coverage
Running lint + testsnpm test
Sending coverage results to Coveralls.ionpm run coveralls

Author

Roberto Achar

License

MIT

Keywords

calculator

FAQs

Package last updated on 18 Apr 2018

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