使用Javascript(不带JQuery)我希望获得IPv6 CIDR前缀中的最小和最大IP。
例如,2001:280::/32
会输出2001:280:0:0:0:0:0:0
和2001:280:ffff:ffff:ffff:ffff:ffff:ffff
。
我该怎么做?提前谢谢!
答案 0 :(得分:0)
假设您安装了Node和NPM:
$ touch index.js
$ npm init
$ npm i --save ip-address
$ vim index.js
var v6 = require('ip-address').v6;
var addr = new v6.Address('2001:280::/32');
console.log(addr.parsedAddress.join(':'));
console.log(addr.endAddress().address);
$ <esc>:wq
$ node index.js
2001:280:0:0:0:0:0:0
2001:0280:ffff:ffff:ffff:ffff:ffff:ffff
似乎没有面向浏览器的包,所以我建议使用Browserify(http://browserify.org/)让它工作或分叉项目并将所有内容整合到一个文件中所以你可以在你的浏览器中运行它(当然,省略节点特定的代码)。
答案 1 :(得分:0)
尝试ip6
npm包:https://www.npmjs.com/package/ip6
ip6
有助于规范化,缩写,划分子网,生成随机子网/主机并计算IPv6子网的大小范围。
let ip6 = require('ip6');
console.log(ip6.range('2001:280:0:0:0:0:0:0', 32));
{ start: '2001:0280:0000:0000:0000:0000:0000:0000',
end: '2001:0280:ffff:ffff:ffff:ffff:ffff:ffff',
size: 7.922816251426434e+28 }
或者在命令行中:
ip6 -R 2001:280:0:0:0:0:0:0 32
{"start":"2001:0280:0000:0000:0000:0000:0000:0000","end":"2001:0280:ffff:ffff:ffff:ffff:ffff:ffff","size":7.922816251426434e+28}