ICMP, PING, TRACERT, ARP, RARP
ICMP
- 인터넷 제어 메시지로, 네트워크 관리 및 오류 보고를 위해 사용되며 IP의 비 신뢰성, 비 연결성의 단점을
보완하고자 사용되는 IP supported protocol이다. 특정 프로그램에 의해 호출되었을 때만 동작하며,
Message 형식으로 정보를 알린다.
PING
- ping - 유닉스 리눅스에서 사용
- traceroute(tracert) - 윈도우에서 사용
- ping www.naver.com
- DNS주소가 네이버에 주소가 무엇인지 묻는다. 그리고 네이버에서 ip를 알려줌
TRACERT
- 라우터가 얼마나 거쳐가는지 확인하는 명령어
ARP
- 시스템이 알고 있는 통신 상대방의 IP 주소를 이용해서 MAC 주소를 알아내는 프로토콜
- 논리적인 IP 주소를 물리적인 MAC 주소로 변환해주는 역할을 수행하는 프로토콜
- 호스트는 ARP 요청 메시지를 보낼 때 자신의 IP 주소, 자신의 MAC주소, 그리고 수신측 IP 주소는 알고 있지만
수신측 MAC주소를 모르고 있기 때문에 물리 계층 브로드캐스트를 통해 모든 호스트에게 수신측의 MAC 주소를
요청하는 패킷을 전송한다.
- ARP 요청 메시지를 수신한 호스트는 수신 IP 주소와 자신의 IP 주소를 검사하여 자신에 대해 MAC 주소를
요구하는 경우라면 ARP 응답 메시지 전송한다.
* ARP는 (상대의 IP주소는 알지만 MAC주소를 몰라서 알아내려 보낸다)라고 쓰면 안된다.
특징
- IP에 의해 자동으로 호출된다.
- IP와 Ethernet뿐 아니라 다양한 링크계층과 네트워크 계층 프로토콜에서 사용된다.
- 보안 기능이 없기 때문에 스푸핑(spoofing) 공격에 취약하다.
ARP 패킷의 종류
- 질의(Request) : broadcast - 누구한테 보내야할지 모르기 때문에 이렇게 보낸다.
- 응답(Reply) : unicast - 보내야할 상대를 알기 때문에 이렇게 보낸다.
RARP
- diskless 시스템에서 자신의 IP를 알기 위해 자신의 MAC 주소를 브로드캐스트 로 전송해서 네트워크상에
존재하지만 알지 못하는 RARP 서버에게 자신이 사용할 IP를 질의하는 프로토콜
- DHCP 서비스에 의해서 사용되는 사례를 찾기 어려우며 ARP 와 RARP 패킷의 구조는 동일하다.
- 지금은 사용하지않는다. dhcp로 대체되었기 때문이다.
ARP공격기법
- 자신의ip와 mac주소가있고 상대의 ip는 알지만 mac 주소를 보낼때 제3자가 자신의 mac주소를 본인에게
지속적으로 보내면 패킷이 상대에게 가는것이 아니라 제3자에게 보내진다.제3자는 패킷을 보고
상대에게 보내줄수있다. 그러면 자신은 상대에게 제대로 보낸다고 생각하지만 사실 제3자가
볼수있는 상태가된다.
- 데이터에서 프레임을 만들때 arp가 만들어진다.