実装コード:
コードコピーは次のとおりです。
var os = require( 'os');
関数getLocalip(){
var map = [];
var ifaces = os.networkinterfaces();
console.log(ifaces);
for(ifacesのvar dev){
if(dev.indexof( 'eth0')!= -1){
var tokens = dev.split( ':');
var dev2 = null;
if(tokens.length == 2){
dev2 = 'eth1:' +トークン[1];
} else if(tokens.length == 1){
dev2 = 'eth1';
}
if(null == ifaces [dev2]){
続く;
}
//それぞれETH0とETH1のIPを見つけます
var ip = null、ip2 = null;
ifaces [dev] .foreach(function(detail){
if(details.family == 'ipv4'){
ip = details.address;
}
});
ifaces [dev2] .foreach(function(detail){
if(details.family == 'ipv4'){
ip2 = details.address;
}
});
if(null == ip || null == ip2){
続く;
}
//マップにレコードを追加します
if(ip.indexof('10。 ')== 0 ||
ip.indexof( '172。')== 0 ||
ip.indexof( '192。')== 0){
map.push({"intranet_ip":ip、 "internet_ip":ip2});
} それ以外 {
map.push({"intranet_ip":ip2、 "internet_ip":ip});
}
}
}
マップを返します。
}
console.log(getLocalip());