Package Exports
- node-ipv4
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-ipv4) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
IPv4 Parser
Generated by OSS Project Generator.
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 --versionTo install locally:
$ npm install node-ipv4Usage
There are two ways to use node-ipv4: globally and locally.
Globally
-Vor--version: output the version number
$ node-ipv4 --version
1.1.2-hor--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-ior--ip [ip: string]: enter the IP address-cor--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 addressaddress: {String} String value of an addressbinary: {String} Binary value of an addresshexadecimal: {String} Hexadecimal value of an address
IPv4
cidr: {Number} CIDR blocksize: {Number} Size of subnetaddress: {Object:Address} The input addressnetmask: {Object:Address} The subnet maskfirst: {Object:Address} The first addresslast: {Object:Address} The last address
API: parse(address, cidr, callback)
address{String} IP addresscidr{Number} CIDR blockcallback{Function}err{Error | null} Erroripv4{Object:IPv4} Instance ofIPv4
Development
- Clone the repo
$ git clone https://github.com/robertoachar/node-ipv4.git- Install dependencies
$ npm install- Running scripts
| Action | Usage |
|---|---|
| Linting code | npm run lint |
| Running unit tests | npm run jest |
| Running code coverage | npm run coverage |
| Running lint + tests | npm test |
| Sending coverage results to Coveralls.io | npm run coveralls |