Método Node.js os.networkInterfaces()

El método os.networkInterfaces() es una interfaz de programación de aplicaciones incorporada del módulo os que se utiliza para obtener información sobre las interfaces de red de la computadora.

Sintaxis:

os.networkInterfaces()

Parámetros: este método no acepta ningún parámetro.

Valor devuelto: este método devuelve un objeto que contiene información sobre cada interfaz de red. El objeto devuelto contendrá la array de interfaces de red que nuevamente consta de los siguientes atributos:

  • dirección: una string que especifica la dirección de red asignada, es decir, IPv4 o IPv6/
  • máscara de red: una string que especifica la máscara de red IPv4 o IPv6.
  • familia: una string que especifica la familia, el valor es uno de IPv4 o IPv6.
  • mac: una string que especifica la dirección MAC de la interfaz de red.
  • interno: un valor booleano, verdadero si la interfaz es loopback uno, falso de lo contrario.
  • scopeid: un número que especifica el ID de alcance para IPv6.
  • cidr: una string que especifica la dirección IPv4 o IPv6 asignada con el prefijo de enrutamiento en notación CIDR. Se establece en nulo si la máscara de red no es válida.

Los siguientes ejemplos ilustran el uso del método os.networkInterfaces() en Node.js:

Ejemplo 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());

Producción:

{ 'Wi-Fi':
   [ { address: 'fe80::242a:3451:7fb2:3ab1',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'b3:52:16:13:de:b9',
       scopeid: 3,
       internal: false,
       cidr: 'fe80::242a:3451:7fb2:3ab1/64' },
     { address: '192.168.0.5',
       netmask: '255.255.255.0',
       family: 'IPv4',
       mac: 'b3:52:16:13:de:b9',
       internal: false,
       cidr: '192.168.0.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',
       scopeid: 0,
       internal: true,
       cidr: '::1/128' },
     { 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' } ] }

Ejemplo 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 (var key in net_int) {
  console.log(key);
  var net_infos=net_int[key];
     
  net_infos.forEach(element => {      
  no_of_network_interfaces++;
  console.log("\tinterface:");
  
    for (var attr in element){
      console.log("\t\t" + attr + 
          " : " + element[attr] );
    }
  });  
}
  
console.log("total number of Network "
  + "interfaces is " + no_of_network_interfaces);

Producción:

Wi-Fi
        interface:
                address : fe80::242a:3451:7fb2:3ab1
                netmask : ffff:ffff:ffff:ffff::
                family : IPv6
                mac : b3:52:16:13:de:b9
                scopeid : 3
                internal : false
                cidr : fe80::242a:3451:7fb2:3ab1/64
        interface:
                address : 192.168.0.5
                netmask : 255.255.255.0
                family : IPv4
                mac : b3:52:16:13:de:b9
                internal : false
                cidr : 192.168.0.5/24
Loopback Pseudo-Interface 1
        interface:
                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
        interface:
                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
total number of Network interfaces is 4

Nota: El programa anterior se compilará y ejecutará usando el node filename.jscomando.

Referencia: https://nodejs.org/api/os.html#os_os_networkinterfaces

Publicación traducida automáticamente

Artículo escrito por gekcho y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *