[OSI 7 모델] 3계층 - ARP 헤더
ARP 프로토콜은 OSI 7모델에서는 3계층인 Network 계층에 해당이되고, TCP/IP모델에서 Network 계층에 해당됩니다.
기본적으로 IP주소에 해당하는 MAC주소(Hardware Address)를 알아내는 프로토콜입니다.
1. Hardware Type : 하드웨어 주소(MAC) 유형을 나타내며, 이더넷 통신 시 항상 1로 설정된다.
2. Protocol Type : 매핑 대상인 프로토콜 주소의 유형을 나타내며 IPv4의 경우 0x0800으로 설정 된다.
3. Hardware Address Length : 하드웨어 주소(MAC)의 길이를 byte로 나타낸다. 이더넷 상에서 6으로 설정된다.
4. Protocol Address Length : 프로토콜 주소의 길이를 byte로 나타낸다. IPv4의 경우 4로 설정 된다.
5. Operation Code(Opcode) : ARP의 구체적인 동작을 나타낸다.
1 | ARP Request |
2 | ARP Reply |
3 | RARP Request |
4 | RARP Rely |
6. Source Hardware Address : 송신자의 MAC 주소
7. Source Protocol Address : 송신자의 IP 주소
8. Target Hardware Address : 수신자의 MAC주소, ARP Request 동작시 0으로 설정된다.
(이더넷 헤더의 목적지 주소가 ff:ff:ff:ff:ff:ff로 설정되면 브로드 캐스팅된다.)
9. Target Protocol Address : 수신자의 IP 주소
ARP 동작원리
1. (ARP Request) 송신자는 목적지 물리주소가 필요, 물리주소 요청을 위해 ARP요청 패킷을 브로드캐스트
(같은 네트워크 도메인 내의 모든 장비에 브로드캐스트)
2. 모든 호스트와 라우터는 송신자가 보낸 ARP 요청 패킷을 수신.
3. (ARP Reply) 해당 수신자만 자신의 논리주소와 물리주소를 넣어서 응답 패킷을 유니캐스트로 전송
ARP 관련 용어
1. ARP Cache : MAC 주소를 확인한 후 ARP는 테이블에 저장된 캐시로 보냅니다.
2. ARP Cache Timeout : ARP Cache의 MAC 주소가 상주할 수 있는 시간입니다.
3. ARP 요청 : 네트워크를 통해 패킷을 브로드캐스트하여 대상 MAC 주소를 발견했는지 여부를 확인합니다.
4. ARP 응답/응답 : 소스가 목적지로부터 수신하는 MAC 주소 응답은 데이터의 추가 통신을 돕습니다.
ARP 공격 (ARP poisoning)
- 공격자가 Broadcast 패킷을 보내 서버의 IP주소/MAC주소를 알아낸 다음
- ARP Cache 조작을 위해 조작된 ARP Reply 패킷을 계속해서 보냄.
* ARP 스푸핑은 MAC 주소가 동적으로 유지되는 점을 이용. ( MAC 주소를 정적으로 사용하면 공격이 불가능 )
- 요청자에게 잘못된 MAC주소가 담긴 ARP Reply를 지속적으로 보내 ARP Cache를 조작
* ARP에 Reply 패킷으로 받은 MAC주소가 진짜인지 아닌지 검증을 하지 않는다는 취약점을 이용
- 이후, 모든 패킷은 모두 공격자의 컴퓨터로 보내진다.