Network Security and IDS

ARP(Address Resolution Protocol)

채영채영 2022. 9. 27. 12:38

4.1 ARP의 개요

하드웨어 주소를 알려주는 역할  이더넷, 와이파이와 같은 MAC Address쓰는 것에서 필요함

- 주소 결정 프로토콜로 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 자동적으로 변환하기 위해 사용되는 프로토콜이다.

- IP 데이터 그램을 정확한 목적지 호스트로 보냄 

32-> 48비트 : ARP

48 -> 32비트 : RARP

 

ARP의 전제 : 이더넷 브로드캐스트 네트워크를 전제로 함

ARP의 기본 개념 : 네트워크 인터페이스가 하드웨어 주소를 가짐 

 

cmd (arp -a) FF FF FF FF FF FF ... 

호스트 A의 실행 ARP -> 호스트 B의 IP 포함한 ARP 요구 패킷을 LAN에 Broadcast

> LAN상의 모든 호스트의 ARP는 ARP 요구 패킷 수신 

> 호스트 B의 ARP 패킷에서 자신의 IP 주소 인지

> 송신한 호스트 A에게 호스트 B의 물리적 하드웨어 주소와 ARP 응답 패킷으로 응답

> 호스트 A에서 ARP 응답 패킷 수신함

> 호스트 B의 IP주소와 물리적 하드웨어 주소의 매핑을 ARP 캐시에 저장

> 호스트 A에서 호스트 B의 물리적 하드웨어 주소를 새로운 캐시 엔트리에 있는 정보 이용 + IP 데이터그램을 B로 직접 전달

 

4.3 ARP 캐시

ARP 캐시에 물리적 주소 저장 > 20분 정도 저장 후 지워짐

arp -a 명령어 사용,

캐시 지우기는 관리자 권한이 필요함

 

4.4 ARP 패킷 형식

ARP link layer 이더넷 헤더가 붙는다 : 14byte (6+6+2)

이더넷 목적지 주소 모든 비트가 1인 주소 : 브로드캐스트

이더넷 프레임의 유형 : 

  - LAN상의 호스트 간의 데이터 전송시 목적지 인터페이스를 결정

  - ARP 요구/응답 : 0x0806

 

 

4.5 ARP 예

bsdi % arp -a

bsdi % telnet svr4 discard 버려주세요

Trying 140.252.13.34…

Connected to svr4.

Escape character is `^]` . ^]

Telnet> quit

Connection closed

*중요한건 Request, Reply .. 

 

- ARP 캐시 타임 아웃 : 각 호스트는 ARP캐시에 물리적인 주소를 임시 저장하는데, 

완전 엔트리 : 20분 후 종료. 불완전 엔트리 : 3분 후 종료 된다. 

엔트리가 참조될 때마다 타임아웃 재시작

 

4.6 프록시 ARP

proxy 라는 단어는 네트워크에서 여러 상황에서 사용 한다. 

- cloud server에 접속하기 위한 entry 역할 proxy server

- 개인이 사용하게 되면 한국에 있는 사람이 미국에 있는 사이트에 접속하려하면 proxy에게 모든 요청, 응답 

  나의 정보를 드러내지않고 ... 

proxy 는 뭔가를 대리한다는 의미!

>> proxy ARP 는 ARP 를 대리하는 것 ! 라우터가 ARP 요구에 대한 응답을 대신하는 것 ( 목적지 호스트가 라우터의 다른 쪽에 연결되어 있을 경우 ) 

다른 이름: 무차별 (promiscuous) ARP 또는 ARP hack

라우터가 프록시 ARP 대행자로 동작하여, 같은 네트워크 ID를 갖는 두 물리 네트워크가 존재할 수 있게 한다.

 

4.7 근거 없는(Gratuitous) ARP

불필요한, 쓸데없는 ARP : 자신의 IP를 찾는 ARP 보냄

1. 다른 호스트가 자신의 주소와 같은 IP주소를 사용하는지 체크

답장이 없어야 나 혼자 쓰는것! 누군가가 응답하면 누군가가 내 IP를 쓰고 있다는 뜻... 중복된 IP입니다~ 

2. 내 IP에 해당하는 MAC address를 알기 위해 사용 (바꾼 경우)

 > 서버를 이중화한 상황에서, 특정 서버가 다운되었을 때 백업 파일 서버가 곧바로 다운된 서버의 역할을 대신하도록 할 수 있음

 

 

*ARP Spoofing

 

 

4.8 ARP 명령어

-a : 모든 엔트리를 보임

-d IP 주소 : 엔트리의 삭제

-s IP 주소 MAC 주소 : 강제 엔트리 추가