Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network Security WireShark를 활용한 프로토콜 분석 I.

Similar presentations


Presentation on theme: "Network Security WireShark를 활용한 프로토콜 분석 I."— Presentation transcript:

1 Network Security WireShark를 활용한 프로토콜 분석 I

2 CONTENT 1 TCP 분석 2 Telnet 분석 (글로 대체) 3 FTP 분석 (글로 대체)

3 1 TCP 분석 1 TCP란? 전송계층으로 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜
메시지나 파일들을 좀더 작은 패킷으로 나누어 전달하는 일과, 수신된 패킷들을 원래의 메시지로 재조립하는 일을 담당 데이터는 네트워크 선로를 통해 전달되는 과정에서 손실되거나 순서가 바뀔 수 있는데, TCP는 손실을 검색해내서, 이를 교정하고 순서를 재조합 할 수 있게 함 쪼갠 데이터와 필요한 정보를 함께 전송하여 통신링크 마지막 부분에서 합치는데, 합친 부분을 데이터 그램이라고 함 TCP를 이용하는 애플리케이션에는 HTTP나 SMTP등이 있음

4 TCP 헤더 형식 1 [그림 0] TCP 헤더 형식

5 1 TCP 접속의 시작 절차 (3-way handshake)
클라이언트에서 웹 서버로 연결을 최초로 시도했을 경우 먼저 SYN 패킷을 보내고 SVN-SENT 상태로 전환 서버가 Listen 상태에서 클라이언트로 부터 SYN 패킷을 받으면 이에 대한 응답으로 SYN + ACK 패킷을 클라이언트에 전송한 후 클라이언트 IP에 대해 SYN-Received 상태로 전환 서버로부터 SYN+ACK 패킷을 받으면 클라이언트는 Established 상태로 변하게 되면서 연결을 확인 클라이언트는 서버로 SYN+ACK에 대한 응답으로 ACK 패킷 전송 서버는 ACK 패킷을 받고 해당 클라이언트 IP에 대한 포트 Established 상태로 전환 [그림 1] 3-way handshake

6 1 TCP 접속의 시작 절차 (3-way handshake)
클라이언트에서 SYN 패킷을 보낼 때 Sequence number에 임의의 숫자(ex. 100)를 넣어서 보냄 앞서 배웠듯이 SYN 패킷을 받은 서버는 응답으로 SYN+ACK 패킷을 보내는데, 이때 sequence number에 임의의 숫자(ex. 200)를 넣고 앞에서 받은 sequence number+1 값을 Acknowledgement number에 넣어서 보냄 (이때 sequence number 도 100 -> 101) 서버로부터 SYN+ACK 패킷을 받은 클라이언트는 응답으로 ACK 패킷을 보내고 서버로 부터 받은 Sequence number + 1 값을 Acknowledgment number에 넣어 보냄 [그림 2] Sequence number

7 TCP 덤프 분석 1 [그림 3] WireShark

8 TCP 덤프 분석 1 [그림 4] [Statistics] – [Flow Graph]

9 TCP 덤프 분석 1 [그림 5] SYN, ACK

10 47번 TCP 덤프 분석 1 [그림 6] 패킷 상세 영역 Source Port : 송신자 포트 번호 (클라이언트가 동적으로 할당, 16비트) Destination Port : 수신자 포트 번호 (웹(HTTP)을 나타내는 80번 저장, 16비트) Stream index : 와이어샤크가 TCP 접속에 대해 일련번호를 부여한 것 (0부터 시작) Sequence number : 패킷의 일련번호가 저장되어 있음 (상대적인 일련번호) Header Length : TCP 헤더의 크기 47번 덤프의 Source port : 10491, Destination port : 80 (HTTP)

11 1 47번 TCP 덤프 분석 [그림 7] 초기 시퀀스 번호 및 확인 응답 번호
47번 덤프의 초기 시퀀스 번호 : b2 a1 d8 96 (32비트), 응답 번호 :

12 1 47번 TCP 덤프 분석 [그림 8] Flag TCP의 플래그는 각각 1비트로 구성, 1이 삽입 : 유효화
URG : 긴급 포인터 플래그 (통신 도중에 중요한 데이터를 끼워 넣고 보낼 때 1) ACK : 확인 응답번호를 유효화 할 경우 1 PSH : 푸시기능에 의해 수신 윈도우에 버퍼링 된 세그먼트를 애플리케이션에 전달할 때 1 RST : 통신 도중에 강제 종료하면 1 SYN : 통신 시작 시에 동기화 할 경우 1 FIN : 통신 종료 시에 1 47번 TCP 덤프에는 SYN만 1로 셋팅 되어있고 나머지는 0으로 되어있음

13 1 48번 TCP 덤프 분석 [그림 9] 패킷 상세 영역 48번 덤프 Source port : 80
Destination port : 10491 SYN+ACK 패킷 전송 과정 SYN 전송과정에서는(47번) 목적지가 웹 서버(80)였으므로 SYN 패킷을 받은 웹 서버가 클라이언트(10491)로 SYN+ACK 패킷을 전송함

14 1 48번 TCP 덤프 분석 [그림 10] 시퀀스 번호 및 확인 응답 번호
48번 덤프의 초기 시퀀스 번호 : b8 b2 (32비트), 응답 번호 : b2 a1 d8 97 이전에(47번) Sequence number(b2 a1 d8 96) + 1값이 48번의 응답 번호

15 1 48번 TCP 덤프 분석 [그림 11] Flag 48번 TCP 덤프 SYN : 1 셋팅, ACK : 1 셋팅

16 1 49번 TCP 덤프 분석 [그림 12] 패킷 상세 영역 49번 덤프 Source port : 10491
Destination port : 80 ACK 패킷 전송 과정 SYN+ACK 전송과정에서는(48번) 목적지가 클라이언트(10491)였으므로 SYN+ACK 패킷을 받은 클라이언트가 웹 서버(80)로 ACK 패킷을 전송함

17 1 49번 TCP 덤프 분석 [그림 13] 시퀀스 번호 및 확인 응답 번호
49번 덤프의 초기 시퀀스 번호 : b2 a1 d8 97(32비트), 응답 번호 : b8 b3 이전에(48번) Sequence number(53 48 b8 b2) + 1값이 49번의 응답 번호

18 1 49번 TCP 덤프 분석 [그림 14] Flag 49번 TCP 덤프 ACK : 1 셋팅
47,48,49 3개의 세그먼트를 주고 받으면서 3-way handshake가 종료됨

19 1 참고 문헌 http://mindgear.tistory.com/206
와이어 샤크를 이용한 패킷 캡처 철저 입문, 다케시타 메구미 저, 길벗, p366 ~ p385

20 1

21 감사합니다!


Download ppt "Network Security WireShark를 활용한 프로토콜 분석 I."

Similar presentations


Ads by Google