Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#으로 MAC 주소 추출하는 방법 완벽 가이드

MAC 주소란 무엇인가?

MAC 주소(Media Access Control Address)는 네트워크에 연결된 장치에 할당되는 고유 식별자입니다. 각 네트워크 인터페이스 카드(NIC)마다 고유한 MAC 주소가 부여되어 있으며, 이를 통해 네트워크 상에서 장치를 정확하게 구분할 수 있습니다.

MAC 주소 기술은 이더넷(Ethernet), 블루투스(Bluetooth), 파이버 채널(Fibre Channel) 등 다양한 통신 기술에서 폭넓게 활용되고 있습니다.

C#에서 MAC 주소를 추출하는 방법

C#에서는 NetworkInterface.GetAllNetworkInterfaces 메서드를 사용하여 컴퓨터에 설치된 모든 네트워크 인터페이스를 조회할 수 있습니다. 이 메서드는 시스템의 모든 네트워크 어댑터 정보를 배열 형태로 반환합니다.

또한 NetworkInterfaceType 열거형을 함께 사용하면 이더넷, 무선 LAN 등 네트워크 인터페이스의 유형까지 구분하여 확인할 수 있습니다.

예제 코드

아래 코드는 활성화된(Up 상태) 네트워크 인터페이스를 찾아 해당 MAC 주소를 추출하는 예제입니다.

string addr = "";
foreach (NetworkInterface n in NetworkInterface.GetAllNetworkInterfaces()) {
    if (n.OperationalStatus == OperationalStatus.Up) {
        addr += n.GetPhysicalAddress().ToString();
        break;
    }
}
return addr;

코드 설명

위 코드의 동작 방식은 다음과 같습니다.

1. 네트워크 인터페이스 전체 조회: NetworkInterface.GetAllNetworkInterfaces() 메서드로 시스템의 모든 네트워크 인터페이스를 가져옵니다.

2. 활성 상태 필터링: OperationalStatus.Up 조건을 통해 현재 작동 중인 인터페이스만 선별합니다. 비활성화된 어댑터는 제외됩니다.

3. MAC 주소 추출: 핵심인 GetPhysicalAddress() 메서드를 사용하여 해당 인터페이스의 물리적 주소, 즉 MAC 주소를 추출합니다.

4. 결과 반환: 첫 번째로 발견된 활성 인터페이스의 MAC 주소를 문자열로 반환하고 반복문을 종료합니다.

마무리

이처럼 C#의 System.Net.NetworkInformation 네임스페이스를 활용하면 몇 줄의 코드만으로도 손쉽게 MAC 주소를 얻을 수 있습니다. 라이선스 검증, 장치 식별, 네트워크 관리 도구 개발 등 다양한 용도로 응용할 수 있으니 참고하시기 바랍니다.