Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

ARP Spoofing Tool

C 언어와 libpcap으로 구현한 ARP 스푸핑(ARP Spoofing) 실습 도구입니다. 중간자(MITM) 공격의 원리를 이해하기 위한 네트워크 보안 학습용 프로젝트입니다.

⚠️ 교육 목적 전용: 본인 소유이거나 명시적으로 테스트 허가를 받은 네트워크 환경에서만 사용하세요. 타인의 네트워크에 무단으로 사용하는 것은 불법입니다.

동작 원리

ARP(Address Resolution Protocol)는 인증 절차가 없다는 점을 이용해, 공격자가 조작된 ARP 응답을 뿌려 victim과 서버(gateway) 양쪽의 ARP 캐시를 오염시킵니다. 이후 두 호스트 간 트래픽이 공격자를 거쳐 흐르게 됩니다.

[Victim]  <──────────>  [Attacker]  <──────────>  [Server/Gateway]
             (정상 경로처럼 보이지만 실제로는 Attacker를 경유)
  1. Victim에게 "Gateway의 MAC은 나(Attacker)다"라고 위조된 ARP 응답 전송
  2. Gateway에게 "Victim의 MAC은 나(Attacker)다"라고 위조된 ARP 응답 전송
  3. 양쪽 ARP 캐시가 오염되어 모든 트래픽이 Attacker를 경유

ARP 스푸핑 로직

참고: ARP 스푸핑 - 위키백과

요구 사항

  • Linux (Ubuntu 20.04 LTS 기준으로 개발/테스트)
  • libpcap 개발 라이브러리
  • 관리자 권한 (raw socket 접근)
sudo apt-get install libpcap-dev

빌드 및 실행

gcc -o arp_spoofing_tool arp_spoofing.c -lpcap -lpthread
sudo ./arp_spoofing_tool [VICTIM_IP]

실행 예시

실행 예시 1

실행 예시 2

구현 포인트

  • libpcap으로 네트워크 인터페이스에 직접 패킷 캡처/전송
  • Victim ↔ Gateway 양방향 스푸핑을 각각 별도 스레드(pthread)로 분리 처리
  • ARP 패킷을 바이트 단위로 직접 구성 (Ethernet + ARP 헤더 수동 조립)

About

ARP 스푸핑 실습 툴 (네트워크 보안 학습용 C 구현)

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages