[reference doc/site]
- http://sweet-memories.tistory.com/3
- http://ccnpsecurity.blogspot.kr/2011/12/tcp-header-format.html
- http://blog.naver.com/ssamba?Redirect=Log&logNo=125712071
- http://packetcrafter.wordpress.com/2011/02/13/tcp-flags-hackers-playground/
1. TCP 프로토콜 구조
- telnet 은 요즘은 리눅스에서도 사용되지 않고 ssh 로 대체됨
- 꼭 봐야할 프로토콜 : IP, ICMP, TCP, UDP
2. TCP 프로토콜 역할과 특징
1) 역할
- 데이터를 전송 전 양 종단 간의 연결 설정
- 연결 설정 후 가상회선 생성
- 데이터그램 연결이 설정된 것을 알리고 연결종료를 통해서 연결을 종료
- 패킷이 아닌 전체 메시지를 기다림
- 오류 검출 기능과 손상된 프레임의 재전송을 보장
2) 특징
- 높은 신뢰성
- 가상회선 연결 방식 : 전화선과 비슷한 개념
- 연결의 설정과 해제
- 데이터 체크섬 : 요즘은 장비들이 각각 기능에 따라 패킷을 건드려서(소스 IP 변경 등) 잘 사용안됨
- 시간 초과와 재전송
- 데이터 흐름 제어
3. TCP Segment Format
- TCP 세그먼트의 전문 구조 (20byte)
- TCP 세그먼트를 2바이트 단위로 쪼갠 구조
- 출발지, 목적지 포트 번호 : 호스트에 있는 응용 프로그램의 포트 번호
- 순서번호 : 전달되는 각 바이트에 대한 시퀸스 넘버로 1씩 증가
- 확인번호 : 수신측에서 수신하고자 하는 바이트의 번호
- 헤더길이 : TCP 헤더의 길이
- 예약 : 아직 사용하지 않는 필드로 값은 0
4. TCP Flag
1) URG (Urgent)
- Urgent point 유효여부, Urgent pointer 란 전송하는 데이터 중 긴급히 전달해야 할 내용이 있을
경우에 사용
2) ACK (Acknowledgement)
- 받는 사람이 보낸 사람 시퀸스 번호에 TCP 계층에서 길이 또는 데이터 양을 더한 것과 같은 ACK
를 보냄
3) PSH (Push)
- 대화형 트랙피에서 사용되는 것으로 버퍼가 채워지기를 기다리지 않고 데이터를 전달
4) RST (Reset)
- 재설정을 하는 과정이며 양방향에서 동시에 일어나는 중단 작업. 비 정상적인 세션 연결 끊기에
해당
5) FIN (Finish)
- 세션을 종료시키는 데에 사용되며 보낸 사람이 더 이상 보낸 데이터가 없음을 보여줌
6) SYN (Synchronization)
- 세션을 설정하는 데에 사용되며 초기에 시퀸스 번호를 보내고, 시퀸스 번호는 임의적으로
생성하여 보냄
- 와이어 샤크에서 TCP Flags
'My Security Study > Skill' 카테고리의 다른 글
OpenSSL HeardBleed 취약점 정리 (1) | 2014.04.20 |
---|---|
TCPdump (0) | 2013.11.12 |
TCP Connection (0) | 2013.11.11 |
Form SQL Injection (0) | 2013.11.10 |
다운로드 파일의 HASH 테스트 방법 (0) | 2013.05.22 |