구현 코드 :
코드 사본은 다음과 같습니다.
var os = 요구 사항 ( 'OS');
함수 getLocalip () {
var 맵 = [];
var ifaces = os.networkinterfaces ();
Console.log (ifaces);
for (ifaces의 var dev) {
if (dev.indexof ( 'eth0')! = -1) {
var 토큰 = 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 (함수 (세부 사항) {
if (세부 사항 .family == 'ipv4') {
IP = Details.address;
}
});
ifaces [dev2] .foreach (함수 (세부 사항) {
if (세부 사항 .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 ());