인디노트

nodejs 에서 NIC 정보 읽기 본문

개발 플랫폼 및 언어/노드 Node & NPM

nodejs 에서 NIC 정보 읽기

인디개발자 2023. 4. 21. 08:44

Node.js에서 NIC(Network Interface Card) 정보를 읽어오는 방법은 os 모듈을 사용하는 것입니다. os 모듈은 Node.js의 내장 모듈로, 운영체제와 관련된 정보에 접근할 수 있는 기능을 제공합니다. 다음은 Node.js에서 NIC 정보를 읽어오는 예시 코드입니다.

const os = require('os');

// 현재 시스템의 NIC 정보 가져오기
const networkInterfaces = os.networkInterfaces();

// NIC 정보 출력
console.log('NIC 정보:');
for (const [name, interfaces] of Object.entries(networkInterfaces)) {
  console.log(`\n인터페이스명: ${name}`);
  interfaces.forEach((iface, i) => {
    console.log(`\n주소 #${i + 1}`);
    console.log(`- 주소: ${iface.address}`);
    console.log(`- 패밀리: ${iface.family}`);
    console.log(`- 내부: ${iface.internal}`);
    console.log(`- 맥주소: ${iface.mac || 'N/A'}`);
  });
}

 

위의 코드는 os 모듈의 networkInterfaces() 함수를 사용하여 현재 시스템의 NIC 정보를 가져옵니다. 반환되는 객체는 인터페이스명을 키로 갖고, 해당 인터페이스의 주소 정보들을 값으로 갖는 객체입니다. for...of 루프를 사용하여 NIC 정보를 출력하고 있습니다. 출력되는 정보에는 주소, 패밀리(IP 버전), 내부 여부, 맥주소 등이 포함되어 있습니다.

참고로, os.networkInterfaces() 함수는 현재 시스템의 모든 NIC 정보를 반환합니다. 만약 특정 NIC의 정보만 필요하다면 해당 NIC의 인터페이스명을 이용하여 정보를 추출할 수 있습니다. 예를 들어, eth0 인터페이스의 정보만 가져오려면 networkInterfaces['eth0']와 같이 사용할 수 있습니다.

 

 

반응형
Comments