-
3-Way Handshake 확인 실습Network 2019. 5. 14. 22:02
3-Way Handshake 확인 실습
1. 개요
TCP/IP 프로토콜을 이용하여 통신 시 수행되는 3-Way Handshake 과정에 대하여 NC(Netcat) 및 Wireshark 프로그램을 통해 진행할 예정이다.
Windows 7과 CentOS 6.9 간 NC(Netcat) 프로그램 통신 시 3-Way Handshake 연결 과정, 데이터 전송 과정, 연결 종료 과정에 대하여 확인 해보자.
2. 실습 환경
- VMware® Workstation 15 Pro
- 가상머신 이미지 : Windows 7(Server용) - 192.168.0.200
CentOS 6.9(Client용) - 192.168.0.171
(※ Windows 7과 CentOS 6.9는 VMware 내에서 NAT로 설정되어 있음)
- NC(Netcat) 프로그램
- Wireshark 프로그램
3. 실습 과정
※ Windows 7과 CentOS 6.9 내 NC(Netcat) 프로그램이 설치되어 있다는 전제 하에 실습 진행
1) Windows7(Server) PC에 NC 프로그램을 실행시켜, 임의의 포트(4000)로 리스닝 할 수 있도록 설정한다.
명령프롬프트(CMD)를 실행시킨 후 NC 프로그램이 설치된 경로에서 아래 명령어를 입력한다.
> nc -lvp 4000
2) Host PC(VMware 프로그램이 설치되어 있는 PC)에서 Wireshark를 실행시키고, 상단의 [톱니바퀴 아이콘] 클릭 - [NAT 네트워크인 VMnet8] 선택 - [확인] 을 클릭하여 송·수신 되는 패킷을 스니핑한다.
3) CentOS6.9 (Client)에서 터미널을 실행 시킨 후, NC 프로그램을 이용하여 Windows 7에 접속한다.
$ nc 192.168.0.200 4000
4) 정상적으로 Windows 7에 접속됐는지 확인한다.
5) 정상적으로 Windows 7에 접속 후, CentOS 6.9에서 Windows 7으로 "hello" 명령어를 전송한다.
6) 정상적으로 전송 되었는지 여부를 Windows 7에서 확인한다.
7) 명령어가 정상적으로 전송 되었으면, CentOS 6.9에서 'Ctrl + c' 명령어를 이용하여 연결을 종료한다.
8) Windows 7에서도 세션 연결이 정상적으로 종료됨을 확인한다.
9) Host PC의 Wireshark의 상단에 빨간색 네모상자를 클릭하여 스니핑 동작을 중지시킨다.
10) 상단의 검색 창에 'tcp.port = 4000'를 입력하여 패킷을 패킷을 확인한다.
아래 그림의 통해 ① 3-Way Handshake 연결 과정, ② 데이터 전송 과정, ③ 연결 종료 과정에 대한 패킷을 확인할 수 있다.
- ① 번에서 Source IP(192.168.0.171)인 CentOS 6.9에서 Destination IP(192.168.0.200)인 Windows 7으로 [SYN] 플래그
전송을 통해 연결 요청하고 있으며, 후에 [SYN, ACK], [ACK] 플래그 전송을 통해 연결을 성립함을 확인할 수 있다.- ② 번에서 Source IP(192.168.0.171)인 CentOS 6.9에서 Destination IP(192.168.0.200)인 Windows 7로 [PSH, ACK] 플래그 전송을 통해 'Hello' 메시지를 전송하고 있음을 확인할 수 있다.
- ③ 번에서 Source IP(192.168.0.171)인 CentOS 6.9에서 Destination IP(192.168.0.200)인 Windows 7로 [FIN, ACK] 플래
그 전송을 통해 연결을 종료하고 있음을 확인할 수 있다.# 상단 메뉴의 [statistics] - [Flow Graphic] 을 통해 보다 가독성 있게 확인할 수 있다.
(하단의 Limit to display filter에 체크 표시, Flow type은 TCP Flows를 선택하면 보기 쉽게 정렬된다.)
'Network' 카테고리의 다른 글
IPv6의 이해 (0) 2019.05.14 네트워크 장비 아이콘(ICON) 다운로드 경로 (0) 2019.05.14 ICMP(Internet Control Message Protocol) 정리 (0) 2019.05.14