Код реализации:
Кода -копия выглядит следующим образом:
var os = require ('os');
функция getLocalip () {
var map = [];
var ifaces = os.netWorkInterfaces ();
console.log (ifaces);
для (var dev in ifaces) {
if (dev.indexof ('eth0')! = -1) {
var tokens = dev.split (':');
var dev2 = null;
if (tokens.length == 2) {
dev2 = 'eth1:' + tokens [1];
} else if (tokens.length == 1) {
dev2 = 'eth1';
}
if (null == ifaces [dev2]) {
продолжать;
}
// Найти IP of ETH0 и ETH1 соответственно
var ip = null, ip2 = null;
ifaces [dev] .foreach (function (details) {
if (details.family == 'ipv4') {
ip = details.address;
}
});
ifaces [dev2] .foreach (function (details) {
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 ());