• Node.js Video Tutorials

Node.js - os.networkInterfaces() 方法



Node.js 的 os 模块提供了一系列与操作系统相关的实用方法和属性。

Node.js os.networkInterfaces() 方法将返回一个对象,其中包含已分配网络地址的网络接口。在返回的对象中,每个键都指定了一个网络接口。

返回的对象包含具有某些属性的网络接口。这些属性描述如下:

  • address − 这是一个字符串,包含已分配的 IPv4 或 IPv6 地址。

  • netmask − 这是一个字符串,包含已分配的 IPv4 或 IPv6 网络掩码。

  • netmask − 此字符串可以是 IPv4 或 IPv6。

  • mac − 一个字符串,显示网络接口的 MAC 地址。

  • internal − 这是一个布尔值,如果网络接口是环回接口或类似的无法远程访问的接口,则为 true。否则为 false。

  • scopeid − 这是一个数字,包含 IPv6 范围 ID,仅在 family 为 IPv6 时适用。

cidr − 这是一个 字符串,指定已分配的 IPv4 或 IPv6 地址以及 CIDR 表示法中的路由前缀。如果 netmask 无效,则该属性设置为 NULL

语法

以下是 Node.js os.networkInterfaces() 方法的语法:

os.networkInterfaces()

参数

此方法不接受任何参数。

返回值

此方法返回一个对象,其中包含有关特定网络的网络接口的信息。

示例

在以下示例中,我们尝试使用 os.networkInterfaces() 方法打印网络的网络接口。

const os = require('os');
console.log("The network interfaces which have been assigned to this Network address are: ") 
console.log(os.networkInterfaces());

输出

从下面的输出中可以看出,当前计算机连接到以太网,并且 os.networkInterfaces() 方法返回了连接的“以太网”网络的网络接口。

The network interfaces which have been assigned to this Network address are:
{
  Ethernet: [
      {
         address: 'fe80::46d1:d65a:b6cc:2926',
         netmask: 'ffff:ffff:ffff:ffff::',
         family: 'IPv6',
         mac: '88:a4:c2:bb:d1:f9',
         internal: false,
         cidr: 'fe80::46d1:d65a:b6cc:2926/64',
         scopeid: 8
      },
      {
         address: '192.168.2.33',
         netmask: '255.255.255.0',
         family: 'IPv4',
         mac: '88:a4:c2:bb:d1:f9',
         internal: false,
         cidr: '192.168.2.33/24'
      }
   ],
  'Loopback Pseudo-Interface 1': [
      {
         address: '::1',
         netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
         family: 'IPv6',
         mac: '00:00:00:00:00:00',
         internal: true,
         cidr: '::1/128',
         scopeid: 0
      },
      {
         address: '127.0.0.1',
         netmask: '255.0.0.0',
         family: 'IPv4',
         mac: '00:00:00:00:00:00',
         internal: true,
         cidr: '127.0.0.1/8'
      }
   ]
}

示例

在以下示例中,我们尝试打印当前系统连接的各种网络接口的详细信息。

const os = require('os');
console.log(os.networkInterfaces());

输出

执行上述程序后,os.networkInterfaces() 方法返回了连接的“Wi-Fi”网络的网络接口。

{
   'Wi-Fi': [
      {
         address: 'fe80::57e9:cc91:95fc:5f5b',
         netmask: 'ffff:ffff:ffff:ffff::',
         family: 'IPv6',
         mac: 'bc:f1:71:3b:eb:a1',
         internal: false,
         cidr: 'fe80::57e9:cc91:95fc:5f5b/64',
         scopeid: 16
      },
      {
         address: '192.168.25.229',
         netmask: '255.255.255.0',
         family: 'IPv4',
         mac: 'bc:f1:71:3b:eb:a1',
         internal: false,
         cidr: '192.168.25.229/24'
      }
   ],
   'Loopback Pseudo-Interface 1': [
      {
         address: '::1',
         netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
         family: 'IPv6',
         mac: '00:00:00:00:00:00',
         internal: true,
         cidr: '::1/128',
         scopeid: 0
      },
      {
         address: '127.0.0.1',
         netmask: '255.0.0.0',
         family: 'IPv4',
         mac: '00:00:00:00:00:00',
         internal: true,
         cidr: '127.0.0.1/8'
      }
   ]
}
nodejs_os_module.htm
广告