Node.js | os.networkInterfaces () Метод

Опубликовано: 4 Августа, 2021

Метод os.networkInterfaces () - это встроенный интерфейс прикладного программирования модуля ОС, который используется для получения информации о сетевых интерфейсах компьютера.

Синтаксис:

 os.networkInterfaces ()

Параметры: этот метод не принимает никаких параметров.

Возвращаемое значение: этот метод возвращает объект, содержащий информацию о каждом сетевом интерфейсе. Возвращенный объект будет содержать массив сетевых интерфейсов, который снова состоит из следующих атрибутов:

  • адрес: строка, которая указывает назначенный сетевой адрес, например IPv4 или IPv6 /
  • netmask: строка, определяющая сетевую маску IPv4 или IPv6.
  • family: строка, определяющая семейство, значение может быть одним из IPv4 или IPv6.
  • mac: строка, определяющая MAC-адрес сетевого интерфейса.
  • internal: логическое значение, true, если интерфейс является петлевым, иначе false.
  • scopeid: число, указывающее идентификатор области для IPv6.
  • cidr: строка, указывающая назначенный адрес IPv4 или IPv6 с префиксом маршрутизации в нотации CIDR. Если маска сети недействительна, устанавливается значение null.

Примеры ниже иллюстрируют использование метода os.networkInterfaces () в Node.js:

Пример 1:




// Node.js program to demonstrate the
// os.networkInterfaces() Method
// Allocating os module
const os = require( 'os' );
// Print os.networkInterfaces() value
console.log(os.networkInterfaces());

Выход:

{ 'Вай-фай':
   [{адрес: 'fe80 :: 242a: 3451: 7fb2: 3ab1',
       маска сети: 'ffff: ffff: ffff: ffff ::',
       семья: 'IPv6',
       mac: 'b3: 52: 16: 13: de: b9',
       scopeid: 3,
       внутренний: ложь,
       cidr: 'fe80 :: 242a: 3451: 7fb2: 3ab1 / 64'},
     {адрес: '192.168.0.5',
       сетевая маска: '255.255.255.0',
       семья: 'IPv4',
       mac: 'b3: 52: 16: 13: de: b9',
       внутренний: ложь,
       cidr: '192.168.0.5/24'}],
  «Псевдоинтерфейс обратной связи 1»:
   [ { адрес 1',
       маска сети: 'ffff: ffff: ffff: ffff: ffff: ffff: ffff: ffff',
       семья: 'IPv6',
       mac: '00: 00: 00: 00: 00: 00 ',
       scopeid: 0,
       внутренний: правда,
       cidr: ':: 1/128'},
     {адрес: '127.0.0.1',
       маска сети: '255.0.0.0',
       семья: 'IPv4',
       mac: '00: 00: 00: 00: 00: 00 ',
       внутренний: правда,
       cidr: '127.0.0.1/8'}]}

Пример 2:




// Node.js program to demonstrate the
// os.networkInterfaces() Method
// Allocating os module
const os = require( 'os' );
// Print os.networkInterfaces() value
var net_int = os.networkInterfaces();
var no_of_network_interfaces = 0;
for ( key var in net_int) {
console.log(key);
var net_infos=net_int[key];
net_infos.forEach(element => {
no_of_network_interfaces++;
console.log( " interface:" );
for ( var attr in element){
console.log( " " + attr +
" : " + element[attr] );
}
});
}
console.log( "total number of Network "
+ "interfaces is " + no_of_network_interfaces);

Выход:

Вай-фай
        интерфейс:
                адрес: fe80 :: 242a: 3451: 7fb2: 3ab1
                маска сети: ffff: ffff: ffff: ffff ::
                семья: IPv6
                mac: b3: 52: 16: 13: de: b9
                scopeid: 3
                внутренний: ложь
                cidr: fe80 :: 242a: 3451: 7fb2: 3ab1 / 64
        интерфейс:
                адрес: 192.168.0.5
                маска сети: 255.255.255.0
                семья: IPv4
                mac: b3: 52: 16: 13: de: b9
                внутренний: ложь
                cidr: 192.168.0.5/24
Петлевой псевдоинтерфейс 1
        интерфейс:
                адрес 1
                маска сети: ffff: ffff: ffff: ffff: ffff: ffff: ffff: ffff
                семья: IPv6
                макинтош: 00: 00: 00: 00: 00: 00
                scopeid: 0
                внутренний: правда
                cidr: :: 1/128
        интерфейс:
                адрес: 127.0.0.1
                маска сети: 255.0.0.0
                семья: IPv4
                макинтош: 00: 00: 00: 00: 00: 00
                внутренний: правда
                cidr: 127.0.0.1/8
общее количество сетевых интерфейсов 4

Примечание. Приведенная выше программа будет скомпилирована и запущена с помощью команды node filename.js .

Ссылка: https://nodejs.org/api/os.html#os_os_networkinterfaces