Skip to content

Calculates all kinds of information regarding the IPv4 network

Notifications You must be signed in to change notification settings

alexandre-dos-reis/ipv4-calc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8750075 · Jun 19, 2022

History

42 Commits
Jun 19, 2022
Jun 18, 2022
Jun 18, 2022
Jun 19, 2022
Jun 19, 2022
Jun 18, 2022
Jun 19, 2022
Jun 19, 2022
Jun 18, 2022
Jun 18, 2022

Repository files navigation

ipv4-calc

TypeScript CodeFactor codecov Build Status

This library has the intention of providing various informations about IP v4 addresses. Here are some of the features :

  • Host, mask, cidr, widlcard, network, broadcast, first and last usable addresses and many more...
  • Binary and decimal outputs
  • Get also all the informations about sub networks.
  • More to come like Class addresses, etc...
  • No dependencies !

TypeScript

The module is written in TypeScript and type definitions files are included.

Contributing

Contributions, issues and feature requests are welcome!

Get started

To install as a dependency :

npm install ipv4-calc

Use it like so :

// Common JS
const { IPv4 } = require('ipv4-calc') 
// Module ES
import { IPv4 } from 'ipv4-calc'

const ip = new IPv4("192.168.0.1/25") // OR new IPv4("192.168.0.1 255.255.255.128")

console.log(ip.getNetworkInfo()); // Should output :
{
  binHost: "11000000101010000000000000000001",
  binMask: "11111111111111111111111110000000",
  binWildCardMask: "00000000000000000000000001111111",
  binNetwork: "11000000101010000000000000000000",
  binBroadcast: "11000000101010000000000001111111",
  binFirstAddr: "11000000101010000000000000000001",
  binLastAddr: "11000000101010000000000001111110",
  decHost: "192.168.0.1",
  cidr: 25,
  decMask: "255.255.255.128",
  decWildCardMask: "0.0.0.127",
  decNetwork: "192.168.0.0",
  decBroadcast: "192.168.0.127",
  decFirstAddress: "192.168.0.1",
  decLastAddress: "192.168.0.126",
  numberOfUsableHosts: 126,
  increment: 128,
  numberOfSubNetworks: 2
}

console.log(ip.getSubNetworksInfo()); // Should output :
[
  {
    binNetwork: "11000000101010000000000000000000",
    binFirstAddr: "11000000101010000000000000000001",
    binLastAddr: "11000000101010000000000001111110",
    binBroadcast: "11000000101010000000000001111111",
    decNetwork: "192.168.0.0",
    decFirstAddr: "192.168.0.1",
    decLastAddr: "192.168.0.126",
    decBroadcast: "192.168.0.127"
  },
  {
    binNetwork: "11000000101010000000000010000000",
    binFirstAddr: "11000000101010000000000010000001",
    binLastAddr: "11000000101010000000000011111110",
    binBroadcast: "11000000101010000000000011111111",
    decNetwork: "192.168.0.128",
    decFirstAddr: "192.168.0.129",
    decLastAddr: "192.168.0.254",
    decBroadcast: "192.168.0.255"
  }
]

// Or get the 2 functions above in 1 call with :
console.log(ip.getAllResults())

About

Calculates all kinds of information regarding the IPv4 network

Topics

Resources

Stars

Watchers

Forks