본문 바로가기

디지털포렌식(Digital forensic)/숫자

[파일] MAC Address(물리적 주소) 구조와 추출 코드(C#)

반응형

 

 

 

MAC Address는 Media Access Control(미디어 접근 제어) 주소를 의미한다.

네트워크 통신을 위해 각 네트워크 인터페이스에 할당된 고유 식별 주소(식별자)다.

다른 말로는 하드웨어 주소, 이더넷 주소, 물리적 주소라고도 한다.

MAC 어드레스는 네트워크에서 특정 장치를 식별하고 전달하는데 중요하게 사용된다.


 

MAC 어드레스는 48비트(6Byte)이며, 16진수로 표시되며

콜론(:)으로 구분된 2개의 16진수 숫자로 구성된 6개의 그룹으로 구분해서 표시된다.

(콜론 외에도 하이픈 ' - ' 이나, 점(' . ')으로도 표시하기도 한다.)

 

00:1A:2B:3C:4D:5E

 

 

MAC 주소의 전반부(24비트=3바이트)는 NIC(네트워크 인터페이스 카드)의 제조업체나 공급업체를 식별하는
OUI(조직 고유 식별자)값이다. 후반부(24비트=3바이트)는 제조업체가 특정 장치에 할당한 고유 식별값이다.

위의 예를 구분하면 00:1A:2B가 제조업체를 나타내고, 3C:4D:5E는 제조업체가 만든 고유값이다.

OUI(제조업체 식별코드)는 IEEE에 등록되어 있다.

 

 

MAC 주소는 아래와 같은 역할을 한다.

 

이더넷 네트워크에서의 주소 지정:

MAC 주소는 데이터 프레임의 주소를 지정하고 올바른 대상으로 전달하기 위해 

이더넷 프레임에는 헤더에 소스 및 대상 MAC 주소가 포함된다.

 

장치 식별:

MAC 주소는 네트워크의 장치를 고유하게 식별하는데 사용된다.

 

네트워크 보안:

MAC 주소는 ACL(액세스 제어 목록)에서 사용되어 장치의 MAC 주소를 기반으로 네트워크에 대한 액세스를 허용하거나 거부할 수 있는 용도로 사용된다.

 

ARP(주소 확인 프로토콜):

IPv4 네트워크에서는 ARP 프로토콜을 사용하여 IP 주소를 MAC 주소에 매핑하여 장치 간 통신용도에 사용한다.

 

장치 추적:

MAC 주소는 네트워크의 장치를 추적하고 관리하는 데 사용된다.

 

 


 

아래 링크를 통해 IEEE에 등록된 OUI 리스트를 볼 수 있다.

 

https://standards-oui.ieee.org/

 

 

물론, Samsung도 64:1B:2F로 시작되는 OUI 코드값을 가지고 있다.

 

 


아래의 코드는  C#으로 작성되었으며 실행하게 되면 PC에 설치된 모든 물리적 장치들에 대한 
MAC Address를 화면에 아래처럼 뿌려준다.

 

 

캡처된 위의 MAC Address에서 wi-fi 아답터의 CC1531~로 시작하는 OUI를 
IEEE에서 찾아보면 아래처럼 Intel의 OUI임을 확인할 수 있다.

 

 

using System;
using System.Net.NetworkInformation;

class Program
{
    static void Main()
    {
        DisplayMacAddresses();
    }

    static void DisplayMacAddresses()
    {
        NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();

        Console.WriteLine("MAC Addresses of all devices on your PC:");

        foreach (NetworkInterface nic in networkInterfaces)
        {
            Console.WriteLine($"{nic.Description}: {nic.GetPhysicalAddress()}");
        }
    }
}

 

 

 

728x90