# ARP 패킷 분석
ARP 패킷은 LAN에서 통신을 하기 위해 IP주소(L3) 를 MAC(L2) 로 변환하기 위해 각 장치 간에 주고 받는 패킷이다. 따라서 특정 IP 의 mac 주소가 알고 싶을 때 이 arp request, arp reply 를 통하여 mac 주소를 확인 할 수 있다.
그러면 어떻때 ARP 프로토콜을 사용하는가.
(출처 https://m.blog.naver.com/PostView.nhn?blogId=pomm88&logNo=150142212019&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F)
내부 통신을 할때에는 2계층의 스위치를 사용하는데 이 스위치가 모든 통신의 중계자 역할을 한다. 스위치는 MAC 주소로 각 컴퓨터들을 인지한다. 모든 스위치는 ARP 테이블이란 것이 존재하는데 형태는 아래와 같이 ip와 mac 주소의 매칭 형태로 관리된다.
첫번째 패킷은 10.10.10.7 IP를 가진 컴퓨터가 10.10.10.1 를 가진 컴퓨터의 MAC 주소를 알아보기 위해 해당 LAN 상에 브로드캐스트 한 것이다.
"10.10.10.1 이랑 통신하고 싶은데 걔가 누구인가요?" 라고 말하는 것이다. 그러면 스위치는 내부의 모든 컴퓨터에게 이 요청을 뿌리고 LAN 상의 모든 장치는 ARP 패킷을 받고 해당되는 IP주소를 가진 장치는 MAC 주소를 담은 응답 패킷을 생성하여 요청한 장치에게 전송한다.
2. arp 필터링 후 두번째 패킷(arp 응답 유니캐스트 패킷)
두번째 패킷은 유니캐스트로서 arp request에 대한 응답 패킷이다. [ethernet 2] - [source] 항목을 보면 10.10.10.1의 mac 주소를 확인 할 수 있다.
"내가 10.10.10.1 입니다. " 라고 말하면서 스위치에게 자신의 mac 주소를 알려주고 스위치를 통해 나에게 까지 전달이 되는 것이다.
다시 위 패킷을 정리하면 10.10.10.7 이 "누가 10.10.10.1 인가요?" 라고 요청하고 10.10.10.1이 "나에요. 내 mac 주소는 00:90:fb:46:0d:2b 입니다"