Вы можете использовать os.networkInterfaces()
, чтобы получить всю информацию об IP-адресе и исключить локальные адреса.
Согласно Node.js документ :
Метод os.networkInterfaces () возвращает объект, содержащий только сетевые интерфейсы, которым назначен сетевой адрес.
Каждый ключ возвращаемого объекта идентифицирует сетевой интерфейс.Соответствующее значение представляет собой массив объектов, каждый из которых описывает назначенный сетевой адрес.
Вот пример кода:
'use strict';
const os = require('os');
let networkInterfaces = os.networkInterfaces();
let nonLocalInterfaces = {};
for (let inet in networkInterfaces) {
let addresses = networkInterfaces[inet];
for (let i=0; i<addresses.length; i++) {
let address = addresses[i];
if (!address.internal) {
if (!nonLocalInterfaces[inet]) {
nonLocalInterfaces[inet] = [];
}
nonLocalInterfaces[inet].push(address);
}
}
}
console.log(nonLocalInterfaces);