1. time exceeded로 인해 error가 발생되었음을 알리는 ICMP 패킷 발생 확인
-Time Exceeded로 인하여 발생한 Time Exceeded Message은 192.168.52.72로 송신자 측의 ip가 저장되어 있고 Destination측은 106.10.212.150으로 kr.yahoo.com의 ip가 적혀있다. 그리고 이 패킷의 Type은 11이고 Code는0이다. 이 Type과 Code는 Time to live equals 0 during transit으로 “TTL의 값이 0이 되어 패킷을 버렸다” 라는 것을 송신측에 알려주기 위하여 발생하는 패킷이다.
2. unreachable ICMP 패킷 수집 실습
- unreachable ICMP 패킷을 수집하기 위하여 CMD창에서 기본게이트 웨이주소를 통하여 tftp 192.168.52.1 GET a.txt 명령어를 실행 시켰다. tftp는 Trivial File Transfer Protocol의 약자로서 간단한 파일을 전송 시킬 때 사용하는 프로토콜이다.
⦁ Unreachable ICMP 패킷이 수집되는 이유
- Destination Unreachable(Port Unreachable) ICMP 패킷은 Type은 3이며, Code는 3이다. Type 3, Code 3은 목적지의 포트가 없거나 포트가 차단되어 있을 때 발생하는 패킷이다. tftp의 포트번호는 69번으로 192.168.52.1은 기본게이트웨이 주소로 이 목적지에 해당 69번 포트가 없거나 차단되어 이 Destination Unreachable(Port Unreachable)ICMP 패킷이 발생하였다.
⦁ (UDP) port unreachable을 알리는 ICMP 패킷 발생 확인
- tftp 192.168.52.1 GET a.txt 명령어를 CMD에서 실행 시킨 후 Wireshark에 수집된 Destination unreachable(Port unreachable) ICMP 패킷들이다. tftp의 포트번호는 69번으로 192.168.52.1은 기본게이트웨이 주소로 이 목적지에 해당 69번 포트가 없거나 차단되어 이 Destination Unreachable(Port Unreachable)ICMP 패킷이 발생하였다.
4. 웹 서버가 설치되어 있지 않은 컴퓨터에 웹브라우저로 접속 실습
⦁ 컴퓨터로부터 응답되는 ICMP 패킷의 종류가 무엇인지 확인 (Unreachable ICMP 패킷)
Unreachable ICMP 패킷의 Type은 3이다. 이 3이 뜻하는 것은 Destination Unreachable이 발생하였다는 뜻으로 이것은 목적지를 찾을 수가 없다라는 것을 뜻한다. 이 Type 3에 해당하는 code는 0~15번 까지 16개가 있다.
- 0번 : Network unreachable : 라우터에서 목적지로 가는 네트워크 경로를 찾지 못한 경우에 생성된다.
- 1번 : Host unreachable : 패킷이 목적지 단말 직전의 라우터 까지 송신이 되었지만 그 후에 목적지 까지 가능 방법을 모르는 경우에 생성된다.
- 2번 : Protocol unreachable : 패킷이 목적지 까지 도착하였지만 목적지에서 패킷을 열었을 때 패킷에 해당하는 전송프로토콜을 사용할 수 없을 경우에 생성된다.
- 3번 : Port unreachable : 목적지 단말에서 해당 포트가 막혀있거나 해당 포트가 없을 경우 즉, 해당 포트를 사용 할 수 없을 경우에 생성된다.
- 4번 : Fragmentation needed for DF=1 : 패킷의 크기가 매우커서 Fragment(분할)이 필요하지만 DF=1(Don’t Fragment=1로 이 패킷을 분할 할 수 없다)의 값이라 패킷을 분할하지 못할 경우 생성된다.
- 10번 : Destination host administratively prohibited : 관리자에 의하여 목적지에 접근이 거부된 것을 알려주는 것이다. 이 패킷은 보안상의 문제로 목적지 관리자 호스트에 의하여 접근이 제한되었을 경우 생성된다.
웹 서버가 설치되어 있지 않은 컴퓨터에 접속할 때 발생하는 상태이다.
- 이 때 발생하는 패킷의 Type은 3이며, Code는 10이다.
- 이 값은 Destination host administratively prohibited를 뜻한다. 이 패킷은 목적지 호스트와 통신이 차단되었을 때 발생하는 패킷이다. 이 패킷은 보안상의 문제 때문에 목적지 호스트에서 발생시키는 패킷이다.
웹서버가 설치되어 있는 컴퓨터에 웹브라우저로 접속했을 때의 사진이다. 이 때 ICMP Message는 발생하지 않는다. 그 이유는 ICMP Message는 네트워크에 오류가 생기거나 송신측에서 목적지 측의 네트워크가 살아있는지 죽었는지 확인하기 위해 ping을 사용할 때 발생하는데 위와 같은 상황은 정상적으로 웹브라우저에 접속이 가능했기 때문에 ICMP Message는 발생 하지 않는다.
8. 연습문제 풀이
[1] Tracert를 사용하는 단말 에서는 ICMP ______ 패킷을 송신하고, ICMP ______ 패킷을 수신한다.
a) Echo Reply, Time Exceed b) Source Quench, Time Exceed
c) Time Exceed, Echo Reply d) Echo Request, Time Exceed
→ Tracert는 라우터의 정보와 목적지 단말의 정보를 알아 낼 수 있고 또, 송신측에서 목적지 단말까지 몇 개의 라우터를 거쳐지나갔는지 알 수 있다. 알아 낼 수 있는 이유는 송신측에서 처음 ICMP Request Message를 보낼 때 패킷 안의 TTL의 값을 1로 해서 보낸다. 이 패킷이 라우터를 지나 갈 때 TTL의 값은 –1씩 줄어들고 이 값이 0이 되면 해당 라우터는 송신측으로 Time Exceeded Message를 보낸다. 이 Message를 받은 송신측은 다은 ICMP Request Message를 보낼 때 TTL의 값을 +1증가시켜 보낸다. 이런 식으로 반복하여 라우터 정보와 목적지 단말의 정보를 알아내며 지나간 라우터의 개수도 알아낸다.
[2] 라우터에 혼잡이 발생하면, ICMP_____패킷을 _____ 에게 송신한다.
a) Echo Reply, 다음라우터 b) Source Quench, 이전라우터
c) Source Quench, 발신지 d) Time Exceed, 발신지
→ 라우터에 혼잡이 발생하면 Source Quench를 보낸다. 이 Source Quench는 패킷 전송속도를 줄여달라고 송신측 즉, 패킷 발신지로 보내는 Message이다. Echo Reply는 Echo Request에 응답하는 Message이며 Time Exceed는 1번에서 설명했다시피 TTL이 0이 되면 발생하는 Message이다.
[3] 자신이 라우터임을 알리는 ICMP 패킷은 ______이다.
a) Router Advertisement b) Source Quench
c) Ping d) Router Solicitation
→ Router Advertisement는 자신이 라우터라는 것을 알리는 패킷으로 이 패킷의 Type은 9이며, Code는 0이다. Source Quench는 Type은 4이며, Code는 0이다. Router Solicitation은 단말이 라우터를 찾을 때 생기는 Message이다. 이 패킷은 Type은 10이고, Code는 0이다.
[4] 자신의 망에 있는 라우터들을 탐색하는 용도로 사용되는 ICMP 패킷은 ______이다.
a) Router Advertisement b) Traceroute
c) Ping d) Router Solicitation
→ 1번에서 설명한 것처럼 Traceroute는 송신측과 목적지 사이의 라우터의 정보와 목적지 단말의 정보를 알아내며, 목적지 까지 몇 개의 라우터를 거치는지 알아낼 수 있는 기능을 한다.
[5] 수신된 IP헤더부분에 오류가 발견되면, ICMP _____ 패킷을 _____에 송신한다.
a) Echo Reply, 다음라우터 b) Parameter Error, 다음라우터
c) Parameter Error, 발신지 d) Time Reply, 발신지
→ Parameter problem on a datagram 은 무효한 헤더 영역이 있는 것을 송신측에 알려주는 Message이다. “무효한 헤더 영역이 있다.” 라는 것은 헤더부분에 오류가 발견 된 것을 의미하며 헤더 부분에 오류가 있는 것을 송신측에 알려 재 송신하게 만든다. 따라서 발신지에 송신한다.
[6] 수신된 IP의 TTL값이 1인 경우에는 ICMP _____패킷을 _____에 송신한다.
a) Echo Reply, 다음라우터 b) Time Exceed, 다음라우터
c) Time Exceed, 발신지 d) Time Reply, 발신지
→ 라우터에서 수신한 패킷의 TTL의 값이 1이면 이 TTL의 값은 라우터를 거칠 때 마다 –1을 하므로 이 값은 0이 된다. TTL의 값이 0이 되면 이 패킷은 버려지게 되고 라우터에서 패킷을 버린 것을 송신측에 알려야 하기 때문에 Time Exceeded Message를 만들어 송신측에 송신한다. 따라서 Time Exceed패킷을 발신지에 송신하게 된다.
[7] ICMP 패킷은 _______ 에 수납되어 전송된다.
a) ARP b) IP c) UDP d) MAC 프레임
→ ICMP은 망 계층인 IP와 트랜스포트 계층인 TCP/IP사이에 있다ICMP는 망 계층의 IP를 기반으로 된 프로토콜로 IP에 수납되어 전송된다.
[8] 목적지가 3개의 라우터를 거친 다음에 연결되어있는 경우, Tracert 시험시 ___회 의 Echo Request패킷의 전송에 의해 목적지까지의 경로를 파악할 수 있다.
a) 2 b) 3 c) 4 d) 5
→ 라우터를 각각 A, B, C라고 칭하고 목적지를 D라고 칭하였을 때 Tracert를 시행하였을 때 처음 생성되는 ICMP Request Message의 TTL값은 1이다. 이 패킷은 A라우터에 가게 되고 TTL의 값은 0이 된다. A라우터는 이 패킷을 버리고 Time Exceeded Message를 생성하여 송신측에 송신한다. 그 후 Time Exceeded Message를 받은 송신측은 다시 ICMP Request Message를 만드는데 이때 TTL의 값을 +1상승시켜 2의 값을 주어 패킷을 만든다. 이 패킷이 A라우터를 거칠떄 TTL의 값은 –1되어 1 이되고 B라우터를 거칠 때 0이 된다. 그럼 B에서 또 패킷을 버리게 되고 다시 Time Exceeded Message를 송신측에 송신한다. 그 후 송신측은 다시 TTL값을 +1시켜 TTL값이 3이 되어잇는 ICMP Request Message를 만들어 송신한다 그럼 A거칠 때 TTL 값은 2가 되고 B거칠 때 TTL값은 1이 되고 C도착하였을 때 TTL값은 0이 된다. 그럼 C에서 다시 Time Exceeded Message를 만들어 송신측에 송신한다. 마지막으로 송신측은 TTL값을 +1상승시켜 TTL값이 4인 ICMP Request Message를 만들어 송신한다. 그럼 A에서 TTL=3 B에서 TTL=2 C에서 TTL=1이 되고 TTL이 0이 아니기 때문에 목적지 D까지 갈 수 있다. 따라서 ICMP Request Message는 총 4회 생성된다.
'IT > CISCO' 카테고리의 다른 글
Basic IOS Configuration(4) (0) | 2017.02.07 |
---|---|
Basic IOS Configuration(3) (0) | 2017.02.06 |
Basic IOS Configuration(2) (0) | 2017.02.06 |
Basic IOS Configuration(1) (0) | 2017.02.06 |
통신프로토콜 TCP(2) (0) | 2016.12.21 |