logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

macOS ARP Spoofing Attack

by digipine posted Sep 17, 2020
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

 ARP 프로토콜은 32bit IP 주소를 48bit의 네트워크 카드 주소(MAC Address)로 대응시켜 주는 프로토콜이다. 우리가 실제로 IP 주소를 통해 네트워크에 연결을 시도하면 TCP/IP에서는 해당 IP에 대응하는 네트워크 카드 주소(MAC Address)를 찾아 연결하게된다. ARP는 OSI Layer 3(Network)와 OSI Layer 2(Data-Link) 사이의 연결을 담당하는 것이다.

 

 이러한 IP 주소와 네트워크 카드 주소의 대응 테이블은 스위치나 기타 네트워크 장비 및 사용자 컴퓨터에서 arp cache 데이블이라는 곳에 위하게 된다. 만약 해커가 이 테이블 상의 정보를 위조하게 되면 공격 대상 컴퓨터와 서버 사이듸 트래픽을 해커 자신의 컴퓨터로 우회시킬 수 있다. 우회된 트래픽으로부터 해커는 패스워드 정보 등 유용한 정보를 마음껏 획득할 수 있다.

 

 이러한 해커의 공격을 알아볼 수 있는 방법은 터미널의 ARP 커멘드를 이용하는 것이다.

 

 1. 우선 터미널 프로그램을 실행한다.

 

Screen Shot 2020-09-17 at 10.53.15 AM.png

 

 

 

2. 아래 명령을 입력하여 ARP cache 테이블을 확인한다.

 

 

  sudo arp -a

Screen Shot 2020-09-17 at 10.53.51 AM.png

 

 

 여기서 확인해보면 내가 전달하는 게이트웨이의 맥어드레스 어떤 것인지 확인 할 수 있다. 만약 게이트웨이 장비의 맥과 다르다면 해킹을 의심해야한다.

 

3. 우선 먼저 게이트웨이의 변조된 테이블을 삭제해야한다.

 

  sudo arp -d 192.168.3.1 ifscope en0

 

Screen Shot 2020-09-17 at 10.54.03 AM.png

 

아니면 모든 cache 테이블을 삭제할 수도 있다.

 

  sudo arp -a -d

Screen Shot 2020-09-17 at 10.54.24 AM.png

 

 

 

이러면 모든 ARP cache 테이블이 삭제되고 정상적으로 통신이 이루어진다. 물론 다시 해킹이 반복될 수 있으므로 원인이되는 해킹 프로그램을 찾아서 삭제하는 것도 잊지말아야 한다.

 

 


List of Articles
No. Subject Author Date Views
50 Apple AppStore App Review 시 Reject 피하기 위한 방법 digipine 2017.11.02 352
49 Concurrent vs Serial DispatchQueue: Concurrency in Swift explained lizard2019 2021.04.16 260
48 iOS , MacOS, iPhone용 GZipStream class 구현하기 digipine 2017.11.01 255
47 iOS - BLE 장치용 ANCS Library for ANCS digipine 2017.11.02 726
46 iOS - BSD Socket 네트워크 프로그래밍 digipine 2017.11.01 477
45 iOS - NSString 와 NSData 간의 데이터 상호 변환 digipine 2017.11.01 192
44 iOS - NSString의 언어 인코딩 메소드 정리 digipine 2017.11.01 499
43 iOS - NSURLConnection로 다중 다운로드 구현 digipine 2017.11.01 259
42 iOS - Objective - C 정규식 사용하기 digipine 2017.11.01 366
41 iOS - Objective - C, URL 인코딩과 디코딩 digipine 2017.11.01 1108
40 iOS - Objective C 정규식 사용법 2 digipine 2017.11.01 764
39 iOS - Objective-C Callback for C++ digipine 2017.11.01 179
38 iOS - Objective-C 남아있는 메모리 공간 확인 방법 digipine 2017.11.01 128
37 iOS - Openssl 빌드하기 digipine 2017.11.01 758
36 iOS - OpenURL으로 HTML에서 어플 실행 digipine 2017.11.01 451
35 iOS - Query string을 Decode 하는 소스 digipine 2017.11.01 234
34 iOS - sizeWithFont 메소드 deprecated와 sizeWithAttributes digipine 2017.11.02 435
33 iOS - Sleep Mode Blocking 방법, 앱실행시 슬립모드 진입 방지 digipine 2017.11.01 267
32 iOS - Socket Nagle 알고리듬 OFF digipine 2017.11.01 131
31 iOS - Thread Loop 내에서 UI 업데이트 방법 digipine 2017.11.01 124
Board Pagination Prev 1 2 3 Next
/ 3