์ฌ์ Setting์ ํตํด ์์ดํฐ ํจํท ๋ฏธ๋ฌ๋ง์ ์ฑ๊ณตํ๋ค๋ฉด,
์์ดํฐ์์ ์ผ์ด๋๋ ๋คํธ์ํฌ ํต์ ์ Wireshark๋ฅผ ํตํด ํจํท ๋ถ์ํ๋ ๋ฐฉ๋ฒ๊ณผ
HTTP Handshake, ๋ฐ์ดํฐ ํต์ ๊ณผ์ ์ ํ์ธํด๋ณด์!
โญ๏ธ ํ ์คํธ ๋ฐฉ๋ฒโญ๏ธ
- Wireshark๋ฅผ ์คํ
- ์ธํฐํ์ด์ค์์ ์ฐ๊ฒฐ๋ ๋๋ฐ์ด์ค๋ฅผ ์ ํํ์ฌ ์บก์ฒ ์์(์ฌ์ Setting์์ ํ์ธ)
- ์์ดํฐ์ผ๋ก ์ฌํ๋ฆฌ ์คํ
- ์ฌํ๋ฆฌ์์ ๋ค์ด๋ฒ์ ์ ์
- ์บก์ฒ๋ฅผ ์ข ๋ฃ ํ ํจํท ๋ถ์
[ ์ฌ์ Setting ๋ฐฉ๋ฒ ]
โญ๏ธTCP ํ๋กํ ์ฝ ๊ตฌ์ฑ์์ โญ๏ธ
- No. : ํจํท์ ์์งํ ์์
- Time : ํจํท์ด ์์ง๋ ์๊ฐ
- Source : ํจํท์ ๋ณด๋ธ ์ฃผ์
- Destination : ํจํท ๋์ฐฉ ์ฃผ์
- Protocol : ํ๋กํ ์ฝ ์ ๋ณด
- Length : ํจํท์ ๊ธธ์ด
- Info : ํจํท ์ ๋ณด
โญ๏ธ ๋คํธ์ํฌ ํต์ ๊ณผ์ ๋ถ์ โญ๏ธ
1. HTTP Connect - ์ฐ๊ฒฐ๊ณผ์ (HTTP Handshake ๊ณผ์ )
์ธํฐํ์ด์ค ๋ชฉ๋ก์์ ์ํ๋ ๋๋ฐ์ด์ค์ ๋ค์ด๊ฐ๋ฉด,
์ด๋๋ท ํ์ด์ค์์ ์ค๊ณ ๊ฐ๋ ํจํท๋ค์ ๋ชฉ๋ก์ด ๋ณด์ธ๋ค.
ํจํท๋ค ์ค ๋คํธ์ํฌ ํต์ ์ด ๋๋ฉด ์๋์ ๊ฐ์ด,
SYN, SYN ACK, ACK๊ฐ ์ ์ก๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด ๊ณผ์ ์ 3 Way-Handshake๋ผ ํ๊ณ , ์ด ๊ณผ์ ์ด ์๋ฃ๋ ํ ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํ๋ค.
- SYN(ํด๋ผ์ด์ธํธ -> ์๋ฒ) : ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ TCP ์ฐ๊ฒฐ ์์ฒญ, ์์ ์ ์ฐ๊ฒฐ ์ค๋น ์ํ๋ฅผ ํจ๊ป ์ ์ก
- SYN + ACK(์๋ฒ -> ํด๋ผ์ด์ธํธ) : ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ ์์ฒญ์ ์๋ต(ACK)ํ๋ฉฐ, ์์ ์ ์ฐ๊ฒฐ ์ค๋น ์ํ๋ฅผ ์๋ฆฐ๋ค.(SYN)
- ARC(ํด๋ผ์ด์ธํธ -> ์๋ฒ) : ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ฐ๊ฒฐ ์ค๋น ์ํ(SYN)๋ฅผ ํจํท์ ์ ์์ ํ์์ ์๋ฆผ.
[3 Way-Handshake]
1. SYN(ํด๋ผ์ด์ธํธ -> ์๋ฒ)
No.201 ํจํท์ ๋ณด๋ฉด,
- Destination addr ip๊ฐ 233.130.195.98๋ก ๊ฒ์ํด๋ณด๋ NAVER Cloud Corp.
*ip๊ฒ์ ์ฌ์ดํธ : https://ko.infobyip.com/
- Source addr ip ๋ ๋จ๋ง๊ธฐ ip๋ก ์ฐ๊ฒฐํ ๋๋ง๋ค ๋ฌ๋ผ์ง๋ค.
- Info ํ๋์ 58643 -> 443์ ํฌํธ ๋ฒํธ๋ก
๊ฐ์ ip์ธ ๊ฒฝ์ฐ, ํฌํธ๋ฒํธ๋ก ํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถ ๊ฐ๋ฅํ๋ค.
- ์ด ๊ณผ์ ์ Network layer์์ ์ผ์ด๋
Intertne Protocol์ ๋ฐ์ดํฐ๊ทธ๋จ์ด ์ํ ํ๋กํ ์ฝ ๋ฒ์ (Version),
๋ฐ์ดํฐ๊ทธ๋จ ๋ด์ ํค๋์ ๋ฐ์ดํฐ์ ๊ธธ์ด๋ฅผ ํฉํ ๊ฐ(Total Length), ํ๋กํ ์ฝ, ์ถ๋ฐ ์ฃผ์, ๋์ฐฉ์ง ์ฃผ์ ๋ฑ์ผ๋ก ๊ตฌ์ฑ.
IP์ฃผ์(32bit)๋ฅผ ๊ฐ์ง๊ณ ๋ฐ์ ์ง๋ก๋ถํฐ ์์ ์ง๊น์ง ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ๋ค.
๋ฐ๋ก ์๋๋ TCP Protocol์ ๊ดํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
- Seq:0 > ์ง๊ธ ๋ณด๋ด๋ ๋ฐ์ดํฐ๋ seq๊ฐ 0์ด๊ณ ๊ธธ์ด๋ 0
- Ack:0 > ์๋ฒ์ผ 0๋ฒ๋ถํฐ ๋ณด๋ด๋ผ
- Next Seq : 1 > ๋ค์ ๋ฐ์ดํฐ๋ 1์ด์ผ
ํจํท์ ํ๋๋ณ ๊ธฐ๋ฅ์ ์๋์ ๊ฐ๋ค.
ํ๋๋ช | ๊ธธ์ด(bit) | ๊ธฐ๋ฅ | ||||
Source Port | 16 | ์ก์ ์ธก์ ์์ฉํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถํ๋ ํฌํธ๋ฒํธ | ||||
Destination Port | 16 | ์์ ์ธก์ ์์ฉํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถํ๋ ํฌํธ๋ฒํธ | ||||
SequenceNumber | 32 | ์ก์ ๋ ๋ฐ์ดํฐ์ ์์๋ฒํธ (byte ๋จ์), TCP ์ธ๊ทธ๋จผํธ์ ๋ํ ์๋ณ๊ฐ์ ์ ๊ณต : ์ต๊ทผ ๋ฐ์ ํจํท Seq + ์ต๊ทผ ๋ณด๋ธ data ๊ธธ์ด |
||||
Ack Number | 32 | ์์ ๋ ๋ฐ์ดํฐ ๋ฐ์ดํธ ์+ ACK, ๋ค์๋ฒ์ ๊ธฐ๋๋๋ ์์ฐจ๋ฒํธ๋ฅผ ํ์ : ์ต๊ทผ ์์ ํจํท Seq + ์ต๊ทผ ๋ฐ์ data ๊ธธ์ด |
||||
HeaderLength | 4 | ํค๋ํฌ๊ธฐ(4byte ๋จ์) | ||||
Code Bits | SYN | 1 | ์ฐ๊ฒฐ ์์ฒญ์ ์ฌ์ฉ๋๋ฉฐ Seq Num ์ด๊ธฐ๊ฐ์์ ์๋ฆผ (๋๊ธฐํ๋นํธ - TCP ํธ๋์ธ์ดํฌ ํ๋ก์ธ์ค ๋จ๊ณ ) | |||
ACK | 1 | ํ์ธ์๋ตํจํท (ACK Number ๊ฐ ์ ํจ) | ||||
URG | 1 | ๊ธด๊ธ ๋ฐ์ดํฐ (Urgent Pointer ๊ฐ ์ ํจ) | ||||
FIN | 1 | ํธ๋์ญ์ ์ข ๋ฃ | ||||
RST | 1 | ์ฐ๊ฒฐ ๋๊ธฐ | ||||
Window | 16 | TCP ์์ ๋ฒํผ๋ฅผ ๋ฐ์ดํธ ํฌ๊ธฐ๋ก ํ์, ์์ ์๊ฐ ์ฌ์ฉ๊ฐ๋ฅํ ๋ฒํผ๊ณต๊ฐ ํ์ ๐ฅ Calculated window size : RWIN์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์ฐ์ํด์ TCP ํจํท์ ์์ ํ๊ธฐ ์ํ ์์ ๋ฒํผ๋ฅผ ๋ํ๋ธ๋ค. |
||||
CheckSum | 16 | TCP PDU ์ ์ฒด์ IP ๊ณ์ธต์ ํค๋ ์ค ํ๋ฐ๋ถ 12๋ฐ์ดํธ(IP์ฃผ์)์ ๋ํ ์ค๋ฅ ๊ฒ์ถ์ฝ๋ | ||||
Urgent Pointer | 16 | ๊ธด๊ธ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ ์์น๋ฅผ ํ์ |
2. SYN + ACK(์๋ฒ -> ํด๋ผ์ด์ธํธ)
- Seq : 0 > ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋ ์๋ต ๋ฐ์ดํฐ๋ก 0๋ฒ ๋ฐ์ดํฐ
- Ack : 1 > ํด๋ผ๊ฐ ๋ค์์ ์๋ฒ์๊ฒ ๋ณด๋ผ ๋ฐ์ดํฐ ๋ฒํธ๋ Ack1์ด์ผ!
3. SYN (ํด๋ผ์ด์ธํธ -> ์๋ฒ)
- Seq : 1 > ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ 1๋ฒ๋ถํฐ ๋ณด๋ผ๊ฒ! ๋ฐ์ดํฐ ๊ธธ์ด๋ 0์ด์ผ!
- Ack : 1 > ํด๋ผ๊ฐ ๋ค์์ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ number๋ 1๋ถํฐ์ผ!(ack: 0 + 2์ Seq: 1), ์๋ฒ๋ ๋์๊ฒ 1๋ถํฐ ๋ณด๋ด๋ฉด ๋จ!
์ด์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํธ๋ ์ ฐ์ดํฌ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํ๋ค.