JG Story

[6] TCP flag 종류 및 분석 활용 방법 본문

IT/Network

[6] TCP flag 종류 및 분석 활용 방법

JG_lee 2024. 7. 19. 17:17
TCP (Transmission Control Protocol) FLAG 의미?

TCP 세그먼트의 헤더에 포함된 특정 비트 필드를 의미하며,
통신 상태와 제어 정보를 나타냅니다.

TCP flag를 분석하는 방법은 네트워크 트래픽을 모니터링하고
특정 flag 가 설정된 패킷을 확인하여 그 의미를 이해하는 것입니다.

TCP flag 분석은 네트워크 문제해결, 보안모니터링 및 트래픽 최적화에 매우 중요합니다!
주요 TCP flag 와 그 의미는 다음과 같습니다.



1. SYN (Synchronize): 연결 설정 요청을 나타냅니다. TCP 3-way handshake의 시작 부분에서 사용
2. ACK (Acknowledgment): 이전에 수신한 데이터에 대한 확인 응답
3. FIN (Finish): 연결을 종료하기 위한 요청
4. RST (Reset): 연결을 강제로 재설정
5. PSH (Push): 데이터가 즉시 상위 계층으로 전달되어야 함을 의미
6. URG (Urgent): 긴급 포인터 필드가 유효함을 나타냄
7. ECE (ECN-Echo): ECN(Efficient Congestion Notification) 지원을 나타냄
8. CWR (Congestion Window Reduced): 혼잡 윈도우 크기 감소
9. NS (Nonce Sum): ECN nonce 영역 보호를 위한 비트


그리고 트래픽 송수신 과정에서는 TCP의 경우 최초 세션 수립(3-way handshake) 및 데이터 전송 완료 후 세션 종료(4-way handshake) 프로세스가 있는데, 이부분의 TCP Flag를 잘 분석해야 네트워크 통신의 상태와 제어 흐름을 파악할 수 있습니다.


 

** 3-way handshake: TCP 연결 설정 과정
SYN: 클라이언트가 서버에 연결 요청 (SYN flag 설정)
SYN-ACK: 서버가 연결 요청을 수락하고 확인 응답 (SYN 및 ACK flag 설정)

ACK: 클라이언트가 서버의 확인 응답에 응답 (ACK flag 설정)


** 4-way handshake: TCP 세션 종료 과정
FIN: 한쪽에서 연결 종료 요청 (FIN flag 설정)

ACK: 상대방이 종료 요청을 확인 (ACK flag 설정)
FIN: 상대방도 연결 종료 요청 (FIN flag 설정)
ACK: 원래 요청자가 종료 확인 (ACK flag 설정)

 

 

## 참고자료

https://velog.io/@rlacksals96/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCPUDP%EC%99%80-3way-handshake

 

[네트워크] TCP/UDP와 3way handshake

TCP 3 Way Handshake는 TCP/IP프로토콜의 Transport Layer을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과

velog.io

 

Comments