ARP(주소 경정 프로토콜)이란?
주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48 비트 네트워크 카드 주소를 뜻한다. 이를 테면, IP 호스트 A가 IP호스트 B에게 B와 브로딩캐스팅 물리적 네트워크 주소 FFFFFFFFFFFF를 가지는 ARP 패킷을 네트워크 상에 전송한다. IP호스트 B는 자신의 IP주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 물리적 네트워크 주소를 A에게 응답한다. 이와 같은 방식으로 수집된 IP주소와 이에 해당하는 물리적 네트워크 주소 정보는 각 IP 호스트의 ARP캐시라 불리는 메모리에 테이블 형태로 저장된 다음, 패킷을 전송할 때에 다시 사용된다. ARP와는 반대로, IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해 RARP를 사용한다. [출처 : 위키백과]
ethernet header를 자동 변환시켜주는 class처럼 ARP Header도 모듈화
모듈 확인.
# 우리가 보이는대로 편하게 넘겨줘도 위의 get_header()를 보면 바이너리 형태로 잘들어가 진다.
# 생성자 값을 위와 같이 바이너리형태로 넣어도 출력값을 우리가 보기 쉬운형태로 볼 수 있다.
# Ip가 16진수 형태로나와서 포매팅을 {:02x} 에서 {:02d}로 10진수형태로 바꿔주었다. 훨씬 보기좋다.!
'Network Hacking' 카테고리의 다른 글
9,10 일차] Spoofing (0) | 2018.03.23 |
---|---|
8일차] ARP Module + Sniffing (0) | 2018.03.23 |
6일차] MAKE Python Module For Ethernet Header Analysis (0) | 2018.03.19 |
5일차]IP Story (0) | 2018.03.16 |
4일차] Header analysis(Udp, Ip, Ethernet Header) (0) | 2018.03.15 |