문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. ARP Request!!! ARP Reply!!! [[파일 : Arp-eg.gif]] <div>__TOC__</div> ==개요== Address Resolution Protocol의 줄임말로 주소를 결정짓는 프로토콜이다. IP 주소를 맥 주소로 연결짓는 역할을 하게 되며 이를 활용해 개발된 네트워크 해킹 공격의 예로 [[ARP Spoofing]]이 있다. == ARP 헤더 정보 == [[파일 : Arp-header.gif]] ARP 헤더는 총 28바이트의 길이를 가지게 된다. === Hardware Type === 2 바이트 만큼의 길이를 가지며 네트워크의 유형을 의미한다. 일반적인 Ethernet 환경이라면 00 01 이 들어가 있을 것이다. === Protocol Type === 2 바이트 만큼의 길이를 가지며 프로토콜의 종류를 의미한다. IPv4의 경우 08 00 이 들어가 있을 것이다. === Hardware Size === 1 바이트 만큼의 길이를 가지며 맥 주소의 길이를 나타낸다. Ethernet 환경이라면 06 이 들어가 있을 것이다. === Protocol Size === 1 바이트 만큼의 길이를 가지며 Protocol의 길이를 나타낸다. IPv4 환경이라면 04 가 들어가 있을 것이다. === <b>Opcode</b> === <del>이경문 멘토님이 팔을 뻗는가, 그렇지 않는가를 결정짓는 부분</del><br> 2 바이트만큼의 크기를 가지며 Request일 경우 00 01, Reply의 경우 00 02 가 들어가게 된다. === Sender Mac Address === 6 바이트 만큼의 크기로, 송신자의 맥 주소를 나타낸다. === Sender IP Address === 4 바이트 만큼의 크기로, 송신자의 IP 주소를 나타낸다. === Target Mac Address === 6 바이트 만큼의 크기로, 목적지의 맥 주소를 나타낸다. === Target IP Address === 4 바이트 만큼의 크기로, 목적지의 IP 주소를 나타낸다. == PCAP에서 활용하기 위한 구조체 예시 == #pragma pack(push, 1) struct sniff_arp { u_short arp_htype; /*hardware type*/ u_short arp_p; /*protocol*/ u_char arp_hsize; /*hardware size*/ u_char arp_psize; /*protocol size*/ u_short arp_opcode; /*opcode*/ u_char arp_smhost[6]; /*sender mac address*/ struct in_addr arp_sip; /*sender ip address*/ u_char arp_dmhost[6]; /*target mac address*/ struct in_addr arp_dip; /*target ip address*/ }; #pragma pack(pop) == ARP와 [[이경문]] 멘토님== 2017년 7월 27일에 ARP를 널리 퍼트리셨다. 이에 영향을 받은 학생들은 팔을 벌릴 때마다 ARP Request!!! 라고 외치는 경향이 있다고 하니 주의하도록 하자. ↖ ○ ↗ ││ ━━ ↙ ↘ ARP.. Request!! ↗ ↖ | O | || ━━ || ARP.. Reply!! ARP 문서로 돌아갑니다.