TCP 필드
1). 출발지 포트(2byte)
2). 도착지 포트(2byte)
※3). 시퀀스 넘버(4byte)
- 상대방을 서로 식별하는 용도(UDP 에는 없음)
- ISN(Initialized Sequense Number): SYN 플래그와 함께 있는 시퀀스 넘버
- 데이터를 보낼때 중간에 뭐가 빠졌는지 알수있음.(그래서 시퀀스 넘버가 계속 바뀜)
※4). 응답(ack) 넘버(4byte)
※5). 헤더 크기 & 플래그(2byte)
1.헤더크기(4bit)
- 2bit 왼쪽으로 시프트연산 해야함
- TCP 헤더의 최소크기 : 20byte ~ 60 byte(가변크기) - 보통 20byte
2.reserve(3bit)- 사용하지않는부분
3.플래그(9bit)
- 1: FIN(Finish): 더 이상 보낼 데이터가 없는 경우(연결 종료)
- 2: SYN(Synchronize): 동기화(TCP 연결)
- 4: RST(Reset): 연결 초기화
- 8: PSH(push): 데이터를 전달
- 16: ACK(Acknowledgment): 응답 필드가 유효함을 나타낸다.
- 32: URG(Urgent): URGENT Pointer필드가 유효함을 나타낸다.(긴급 필드)
- 나머지 비트는 네트워크를 깊이있게 공부해야함(특수한경우에 사용됨)
6). 윈도우 크기(2byte): 송/수신 가능한 최대 크기
7). 체크섬(2byte) - TCP의 체크섬은 TCP 헤더만 가지고 계산(데이터를 제외)
8). 긴급 포인트(2byte): URG가 1이면 유효한필드이고 0이면 아무 의미없는 필드
- 20바이트를 채우기 위해서 값을 0으로 둔다.
9). Options(가변크기): 옵셔널 필드로 없어도됨
'Hacking > Network' 카테고리의 다른 글
[20일차] SYN 패킷 만들어서 보내고 ACK/SYN 받아오기 (0) | 2017.10.24 |
---|---|
[19일차] TCP 소켓 통신과정 분석 (0) | 2017.10.24 |
[17일차] UDP 체크섬 계산법과 패킷 보내기 (0) | 2017.10.19 |
[16일차] IP 패킷 분할해서 핑 보내기 (0) | 2017.10.15 |
[15일차] ICMP 패킷 만들어서 핑 보내기 (0) | 2017.10.13 |
WRITTEN BY
,