SeSac) DevOps/내용 정리

[2주차 - 네트워크 (TCP/IP) 및 데이터 통신 기본] WireShark를 이용한 ARP 프로토콜 실습

tierr 2025. 12. 30. 15:50

ARP 프로토콜로 상대방의 MAC 주소가 ARP 테이블에 저장되는 것을 확인해보자

  • 내 아이피: 172.16.210.125
  • 내 MAC:  C8-8A-9A-FE-91-2E
  • 상대 아이피: 172.16.210.111
  • 상대 MAC: 82-f6-5d-d3-b3-df (이 주소를 모르는 상태로 시작한다)
# arp 테이블 정보 확인하기
arp -a
# arp 테이블 정보 전부 삭제하기
arp -d *
# arp 테이블 정보를 삭제 후 다시 확인해보기
arp -a
# 상대방 IP주소로 Ping 보내기
ping 172.16.210.111

 

권한 문제가 생기므로 Windows  PowerShell에서 관리자 권한으로 진행

ARP Request

내 PC → 상대방 PC 로 ARP Request

상대방 PC의 Mac Address를 모르는 상태이기 때문에 패킷에 Target MAC address는 전부 0으로 설정되어 보내짐

ARP Response

상대방 PC →  내 PC 로 ARP Response

알고 싶어했던 정보(상대방 PC의 MAC주소)는 상대방이 보낸 패킷의 Sender MAC address 에 담겨서 온다 

 

참고1) WireShark 아래 필터링을 적용하면 원하는 위 실습에 필요한 패킷을 확인할 수 있음

(arp && (arp.src.proto_ipv4 == 172.16.210.125 || arp.src.proto_ipv4 == 172.16.210.111 || arp.dst.proto_ipv4 == 172.16.210.111)) 
|| 
(icmp && (ip.addr == 172.16.210.125 || ip.addr == 172.16.210.111))

 

참고2) 실습에서 사용한 패킷 캡쳐 파일

1230-arp-test.pcapng
2.33MB


패킷을 보다보면 내 MAC 주소를 브로드캐스트하는 경우가 있다.

누군가가 내 MAC주소를 요청하는 ARP를 보냈을 수도 있지만, 내가 GARP를 보낸걸 수도 있다.

하지만 Wireshark는 GARP를 ‘Protocol: ARP’로만 표시해서 구분할 수는 없었다. 

 

“Wireshark에 Protocol은 전부 ARP로 찍히는데 그럼 GARP는 어떻게 구분하지?”

SPA == TPA (Sender Protocol Address == Target Protocol Address)

 

목적지와 출발지가 같으면 GARP다.