获取网络相关信息

使用 os 模块可以获取计算机的网络信息,这需要通过 networkInterfaces() 方法实现,该方法的返回值是一个对象,该对象包含已分配了网络地址的网络接口信息,其说明如表 8.1 所示。例如,获取笔者计算机的网络信息,代码如下:

image 2024 04 13 19 57 39 952
Figure 1. 表8.1 网络接口信息说明
const os = require("os")
console.log("该计算机的网络信息如下:\n")
console.log(os.networkInterfaces())

程序运行结果如下:

该计算机的网络信息如下:
{
  WLAN: [
    {
      address: '2408:8234:314:a297:8c83:7ef8:4411:14da',
      netmask: 'ffff:ffff:ffff:ffff::',
      family: 'IPv6',
      mac: '3c:06:a7:fb:47:57',
      internal: false,
      cidr: '2408:8234:314:a297:8c83:7ef8:4411:14da/64',
      scopeid: 0
    },
    ……
    {
      address: '192.168.1.5',
      netmask: '255.255.255.0',
      family: 'IPv4',
      mac: '3c:06:a7:fb:47:57',
      internal: false,
      cidr: '192.168.1.5/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'
    }
  ]
}