📚 네트워크 · 패킷 분석 › 01. TCP/IP 구조 이해 — 06편
이전 글: 05. 네트워크 인터페이스와 NIC · 다음 글: 07. IP Address란 무엇인가

1. 개념

MAC 주소(Media Access Control Address) 는 Ethernet·Wi-Fi 같은 2계층(데이터 링크 계층)에서 같은 링크에 연결된 인터페이스를 구분하는 주소입니다. 흔히 "하드웨어 주소", "물리 주소"라고도 부르며, NIC 제조 시 기본값이 부여됩니다.

  • 길이: 48비트 = 6바이트
  • 표기: 16진수 12자리를 바이트 단위로 구분
표기 방식예주로 쓰는 곳
콜론 구분00:0c:29:3a:4b:5cLinux, Wireshark
하이픈 구분00-0C-29-3A-4B-5CWindows (ipconfig /all, getmac)
점 3구간000c.293a.4b5cCisco 장비

세 표기는 모두 같은 주소입니다. 서로 다른 장비의 로그를 대조할 때는 표기를 하나로 정규화한 뒤 비교해야 합니다.


2. 동작 원리

MAC 주소 6바이트는 앞뒤 두 부분으로 나뉩니다.

   00 : 0c : 29   :   3a : 4b : 5c
  └──── OUI ────┘   └─ 장치 고유 부분 ─┘
  (제조사 식별 번호,   (제조사가 장치마다
   IEEE가 할당)        겹치지 않게 부여)

 첫 바이트(0x00)의 하위 2비트
   bit0 (I/G) : 0 = 개별 주소(유니캐스트)   1 = 그룹 주소(브로드캐스트·멀티캐스트)
   bit1 (U/L) : 0 = 제조사 할당 주소         1 = 로컬에서 관리(임의 지정·랜덤화)

같은 LAN 안에서 MAC 주소가 쓰이는 흐름은 다음과 같습니다.

 PC-A (192.168.10.25)가 PC-B (192.168.10.80)에게 보내려 함
   ↓ ① 목적지 IP는 같은 네트워크 → PC-B의 MAC이 필요
   ↓ ② ARP 캐시 확인 → 없으면 ARP 요청(목적지 MAC ff:ff:ff:ff:ff:ff)
   ↓ ③ PC-B가 자기 MAC으로 응답
   ↓ ④ 프레임 작성: 출발지 MAC = PC-A, 목적지 MAC = PC-B
   ↓ ⑤ 스위치가 목적지 MAC을 보고 PC-B 포트로만 전달
 PC-B의 NIC가 목적지 MAC이 자기 것임을 확인하고 수신

MAC 주소가 쓰이는 범위는 같은 링크(같은 브로드캐스트 도메인) 안입니다. 스위치는 프레임의 목적지 MAC을 보고 어느 포트로 보낼지 결정하고, 호스트는 목적지 IP에 해당하는 MAC을 ARP로 알아낸 뒤 프레임을 만듭니다. 라우터를 지나 다른 네트워크로 넘어가면 프레임이 새로 만들어지므로 MAC 주소는 구간마다 바뀝니다(구간별 주소 변화는 07편에서 IP와 비교해 다룸).

ARP의 동작은 31. Ethernet 프레임과 MAC 주소 · ARP 동작 원리에서, Wireshark에서 OUI·I/G·U/L 비트를 필드로 읽는 방법은 112. Ethernet 프레임 필드 분석 — eth.src·eth.dst·eth.type로 읽는 2계층 증거에서 다룹니다.


3. 주요 특징

① 특수한 MAC 주소가 있습니다.

주소의미
ff:ff:ff:ff:ff:ff브로드캐스트 — 같은 링크의 모든 장치 (ARP 요청, DHCP Discover 등)
01:00:5e:xx:xx:xxIPv4 멀티캐스트용 MAC (IP 멀티캐스트 주소의 하위 23비트를 매핑)
33:33:xx:xx:xx:xxIPv6 멀티캐스트용 MAC
00:00:00:00:00:00미지정 — ARP 요청의 대상 MAC 필드(아직 모름) 등에 사용

② OUI로 제조사를 추정할 수 있습니다. 예를 들어 00:0c:29, 00:50:56은 VMware, 08:00:27은 VirtualBox 가상 NIC에 쓰이는 OUI입니다. 자산 목록에 없는 제조사의 MAC이 나타나면 어떤 장치인지 확인하는 단서가 됩니다.

③ MAC 주소는 바꿀 수 있습니다. 제조 시 기본값이 있을 뿐, OS 설정으로 다른 값을 쓰는 것은 어렵지 않습니다. 또한 최신 스마트폰·Windows·Linux(NetworkManager)는 개인정보 보호를 위해 Wi-Fi 연결 시 무작위 MAC을 쓰는 기능을 제공합니다. 이 경우 첫 바이트의 U/L 비트가 1(로컬 관리 주소)입니다.

④ MAC 주소는 라우터를 넘지 않습니다. 인터넷 너머 서버는 내 PC의 MAC을 알 수 없고, 내가 보는 외부 서버 패킷의 출발지 MAC은 게이트웨이(라우터)의 MAC입니다.


4. 예시

실습 예시 — 내 MAC과 이웃의 MAC 확인 (Rocky Linux / Ubuntu 공통)

# 예시(값은 환경마다 다름)
ip link show ens33     # link/ether 뒤가 내 인터페이스의 MAC
ip neigh               # 같은 LAN에서 알게 된 IP ↔ MAC (ARP/NDP 캐시)
# 출력 형식 예시(값은 환경마다 다름)
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    link/ether 00:0c:29:3a:4b:5c brd ff:ff:ff:ff:ff:ff
192.168.10.1 dev ens33 lladdr 00:50:56:aa:bb:cc REACHABLE
192.168.10.80 dev ens33 lladdr 00:0c:29:77:88:99 STALE

Windows에서는 getmac /v 또는 ipconfig /all(물리적 주소), 이웃 목록은 arp -a로 확인합니다. brd ff:ff:ff:ff:ff:ff는 이 인터페이스의 브로드캐스트 MAC을 뜻합니다.

U/L 비트 확인 방법(이론적으로 확인할 수 있는 방법): 첫 바이트의 16진수 두 번째 자리가 2, 6, a, e 중 하나이면 로컬 관리 주소입니다. 예를 들어 02:42:...(Docker 컨테이너에서 흔히 보이는 형태)이나 da:...는 랜덤·로컬 주소입니다.


5. 보안 관점

MAC 주소는 식별자이지만 인증 수단은 아닙니다. 이 점에서 여러 위험이 생깁니다.

  • MAC 기반 접근 통제의 한계: MAC 주소만으로 허용하는 무선 필터링·NAC 정책은 허용된 MAC을 흉내 내는 방식으로 우회될 수 있습니다. 인증서 기반 802.1X 같은 보완이 필요합니다.
  • ARP 스푸핑: IP ↔ MAC 대응을 거짓으로 알려 트래픽을 가로채는 공격입니다. 원리와 흔적은 33. ARP Cache와 114. ARP 패킷 필드 분석 — opcode와 Sender·Target 필드로 IP-MAC 매핑 검증하기에서 다룹니다.
  • MAC 테이블 범람(MAC Flooding): 무작위 출발지 MAC을 대량으로 보내 스위치의 MAC 테이블을 채우는 공격입니다. 스위치 동작은 04 영역 161. MAC Address Table에서 다룹니다.

6. SOC 관점

로그 소스MAC이 보이는 방식활용
DHCP 서버 로그어떤 MAC에 어떤 IP를 언제 할당했는지IP → 장치 식별의 핵심 근거
스위치 로그포트별 학습 MAC, MAC 이동(flapping) 메시지장치가 연결된 물리 위치 추적
무선 컨트롤러접속 단말 MAC, AP 위치무선 단말 위치·접속 시간 확인
패킷 캡처프레임의 출발지·목적지 MAC같은 LAN 안의 실제 송신 장치 확인
경계 방화벽 로그(기록하는 경우) 대부분 게이트웨이·인접 장비의 MAC원격지 호스트 식별에는 쓸 수 없음

관제자가 확인할 질문은 다음과 같습니다.

  • 이 MAC은 자산 목록·DHCP 기록에 있는 장치인가? OUI는 예상한 제조사인가?
  • 같은 IP에 서로 다른 MAC이 짧은 시간에 번갈아 나타나는가?
  • 기록된 MAC이 실제 장치의 것인가, 중간 라우터의 것인가?

⚠️ 오탐 주의: MAC 랜덤화를 쓰는 단말은 접속할 때마다(또는 네트워크마다) 다른 MAC으로 보일 수 있어 "미등록 장치"로 오인하기 쉽습니다. 가상머신·컨테이너 환경에서도 로컬 관리 MAC은 정상적으로 흔합니다.


7. 핵심 정리

  • MAC 주소는 48비트 2계층 주소로, 같은 링크 안에서 인터페이스를 구분합니다.
  • 앞 3바이트 OUI는 제조사, 첫 바이트의 I/G·U/L 비트는 주소 성격을 알려 줍니다.
  • MAC 주소는 라우터를 넘지 않으며, 구간마다 새 프레임에서 바뀝니다.
  • MAC은 변경·랜덤화가 가능하므로 인증 수단으로 신뢰할 수 없습니다.
  • 관제에서는 DHCP·스위치 로그의 MAC으로 IP를 실제 장치와 위치에 연결합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글