iplib
v1.0.0
Published
IPLib is a small library for working with IP addresses, subnets, masks. It's available in browser and in Node.js.
Downloads
24
Readme
IPLib
IPLib is a small library for working with IP addresses, subnets, masks. It's available in browser and in Node.js.
Preparing
In browser
<script src="ip.js"></script>In Node.js
$ npm install iplib
var IP = require('iplib')
Examples:
Notes:
- All
iparguments expect valid ip (besidesipinparse(ip)andisIPv4(ip)). - All
maskarguments expect valid mask.
IP.parse(ip, [isSubnet])
> IP.parse('192.168.0.32')
{ ip: '192.168.0.32',
mask: '255.255.255.0' }
> IP.parse('192.168.0.32', true)
{ ip: '192.168.0.32',
mask: '255.255.255.224' }
> IP.parse('192.168.0.0', true)
{ ip: '192.168.0.0',
mask: '255.255.255.0' }
> IP.parse('192.168.0.0/22', true)
{ ip: '192.168.0.0',
mask: '255.255.252.0' }
> IP.parse('192.168.0.256')
nullisMask(ip)
> IP.isMask('255.255.255.0')
true
> IP.isMask('255.255.255.1')
falseIP.isValidMaskForSubnet(subnet, mask)
> IP.isValidMaskForSubnet('192.168.0.0', '255.255.255.0')
true
> IP.isValidMaskForSubnet('192.168.0.0', '255.0.0.0')
falseIP.isIpFromSubnet(subnet, mask, ip)
> IP.isIpFromSubnet('192.168.0.0', '255.255.255.0', '192.168.0.1')
true
> IP.isIpFromSubnet('192.168.0.0', '255.255.255.0', '192.168.0.0')
true
> IP.isIpFromSubnet('192.168.0.0', '255.255.255.0', '192.168.1.0')
falseIP.getNextIp(ip)
> IP.getNextIp('192.168.0.0')
'192.168.0.1'IP.getMaskLength(mask)
> IP.getMaskLength('255.255.255.0')
24
> IP.getMaskLength('255.255.255.255')
32
> IP.getMaskLength('255.255.255.254')
31
> IP.getMaskLength('0.0.0.0')
0IP.isIPv4(ip)
> IP.isIPv4('192.168.0.1')
true
> IP.isIPv4('192.168.0.256')
false
> IP.isIPv4('0.0.0.0')
trueIP.isIPv6(ip)
> IP.isIPv6('0.0.0.0')
false
> IP.isIPv6('1::1')
true