os.networkInterfaces()


返回一个包含已分配网络地址的网络接口的对象。

🌐 Returns an object containing network interfaces that have been assigned a network address.

返回对象上的每个键都标识一个网络接口。相关的值是一个对象数组,每个对象描述一个分配的网络地址。

🌐 Each key on the returned object identifies a network interface. The associated value is an array of objects that each describe an assigned network address.

分配的网络地址对象上可用的属性包括:

🌐 The properties available on the assigned network address object include:

  • address <string> 分配的 IPv4 或 IPv6 地址
  • netmask <string> IPv4 或 IPv6 网络掩码
  • family <string> 要么是 IPv4,要么是 IPv6
  • mac <string> 网络接口的MAC地址
  • internal <boolean> true 如果网络接口是回环接口或类似无法远程访问的接口;否则为 false
  • scopeid <number> 数值 IPv6 范围 ID(仅在 familyIPv6 时指定)
  • cidr <string> 分配的 IPv4 或 IPv6 地址,带有 CIDR 表示法的路由前缀。如果 netmask 无效,此属性将设置为 null
{
  lo: [
    {
      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'
    },
    {
      address: '::1',
      netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
      family: 'IPv6',
      mac: '00:00:00:00:00:00',
      scopeid: 0,
      internal: true,
      cidr: '::1/128'
    }
  ],
  eth0: [
    {
      address: '192.168.1.108',
      netmask: '255.255.255.0',
      family: 'IPv4',
      mac: '01:02:03:0a:0b:0c',
      internal: false,
      cidr: '192.168.1.108/24'
    },
    {
      address: 'fe80::a00:27ff:fe4e:66a1',
      netmask: 'ffff:ffff:ffff:ffff::',
      family: 'IPv6',
      mac: '01:02:03:0a:0b:0c',
      scopeid: 1,
      internal: false,
      cidr: 'fe80::a00:27ff:fe4e:66a1/64'
    }
  ]
}