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
55 macOS Daemon 관련 시스템 폴더 목록 lizard2019 2024.03.08 10
54 [macOS, iOS] 개발자 정보 확인하는 명령어 digipine 2023.03.23 150
53 Firebase 'GoogleUtilities/GULURLSessionDataResponse.h' file not found Error Fix lizard2019 2023.07.04 184
52 iOS - Socket Nagle 알고리듬 OFF digipine 2017.11.01 208
51 iOS - Thread Loop 내에서 UI 업데이트 방법 digipine 2017.11.01 211
50 iOS - Objective-C 남아있는 메모리 공간 확인 방법 digipine 2017.11.01 215
49 iOS - NSString 와 NSData 간의 데이터 상호 변환 digipine 2017.11.01 249
48 [macOS] 현재 사용 중인(열려있는) 포트 확인하고 Close 하기 digipine 2022.10.24 258
47 iOS - Objective-C Callback for C++ digipine 2017.11.01 266
46 iOS - Query string을 Decode 하는 소스 digipine 2017.11.01 327
45 iOS - NSURLConnection로 다중 다운로드 구현 digipine 2017.11.01 333
44 iOS , MacOS, iPhone용 GZipStream class 구현하기 digipine 2017.11.01 357
43 Concurrent vs Serial DispatchQueue: Concurrency in Swift explained lizard2019 2021.04.16 415
42 iOS,OSX - CFSocket 사용법 digipine 2017.11.01 443
41 Apple AppStore App Review 시 Reject 피하기 위한 방법 digipine 2017.11.02 447
40 iOS - Objective - C 정규식 사용하기 digipine 2017.11.01 470
39 [iOS] 개발자를 위한 iOS 15의 새로운 기능 file digipine 2021.11.04 497
38 [macOS] Xcode 디버깅 시 Could not attach pid 오류 해결 file lizard2019 2023.06.05 507
37 iOS - View 이동 전환 하기 총정리 digipine 2017.11.01 537
36 [iOS] Audio Session Setting digipine 2021.11.26 548
Board Pagination Prev 1 2 3 Next
/ 3