๋ถ๋ก์ ๋ณด๋ ๋ฐฉ๋ฒ
์ด ๋ถ๋ก์ ์์์ ๋ฐฐ์ด ๊ฐ๋ ์ ๋ค์ ์ฐพ์๋ณด๊ธฐ ์ํ ํ์ต์ฉ ์ ๋ฆฌ์ ๋๋ค. ๋คํธ์ํฌ, ์๋ฒ, DNS, ์น, ๊ณต์ ๊ธฐ, ํจํท, ํ์ง, Python ๊ฐ๋ ์ ๊ณต๋ถํ๋ค๊ฐ ์ฉ์ด๊ฐ ํท๊ฐ๋ฆด ๋ ๋น ๋ฅด๊ฒ ํ์ธํ๋ ์ฉ๋๋ก ๋ณด๋ฉด ๋ฉ๋๋ค.
์ฒ์๋ถํฐ ๋ชจ๋ ๋ช ๋ น์ด๋ฅผ ์ธ์ธ ํ์๋ ์์ต๋๋ค. ์ค์ํ ๊ฒ์ โ์ด ๋ช ๋ น์ด๊ฐ ์ด๋ค ์ ๋ณด๋ฅผ ๋ณด์ฌ ์ฃผ๋๊ฐโ์ ๋๋ค. IP ์ฃผ์๋ฅผ ํ์ธํ๋ ๋ช ๋ น, ์๋น์ค ์ํ๋ฅผ ํ์ธํ๋ ๋ช ๋ น, ๋ก๊ทธ๋ฅผ ๋ณด๋ ๋ช ๋ น, ํจํท์ ํํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ๊ตฌ๋ถํ๋ฉด ๋ฉ๋๋ค.
๊ฐ๋ ๊ณต๋ถ๋ ์๊ธฐ๋ณด๋ค ์ฐ๊ฒฐ์ ๋๋ค. DNS๋ฅผ ๋ฐฐ์ ๋ค๋ฉด ์น ์ ์๊ณผ ์ฐ๊ฒฐํ๊ณ , ๊ณต์ ๊ธฐ๋ฅผ ๋ฐฐ์ ๋ค๋ฉด DHCP์ ๊ฒ์ดํธ์จ์ด์ ์ฐ๊ฒฐํ๊ณ , ํจํท ๋ถ์์ ๋ฐฐ์ ๋ค๋ฉด DNS์ HTTP ํ๋ฆ๊ณผ ์ฐ๊ฒฐํด ๋ด ๋๋ค.
๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ ๋ณต์ต ํ๋ฆ
ํต์ฌ ์ฉ์ด ์ฌ์
| ์ฉ์ด | ๋ป | ์ฝ๊ฒ ์ดํดํ๊ธฐ |
|---|---|---|
| IP ์ฃผ์ | ๋คํธ์ํฌ์์ ์ฅ๋น๋ฅผ ๊ตฌ๋ถํ๋ ๋ ผ๋ฆฌ ์ฃผ์ | ํ๋ฐฐ ์ฃผ์ |
| MAC ์ฃผ์ | ๊ฐ์ LAN ์์์ ํ๋ ์ ์ ๋ฌ์ ์ฐ๋ ์ฃผ์ | ์ง ์์ ์ค์ ์์ ์ |
| ๊ฒ์ดํธ์จ์ด | ๋ค๋ฅธ ๋คํธ์ํฌ๋ก ๋๊ฐ๋ ์ถ๊ตฌ | ๋๋ค ๋ฐ์ผ๋ก ๋๊ฐ๋ ๋ฌธ |
| DHCP | IP, ๊ฒ์ดํธ์จ์ด, DNS ์ ๋ณด๋ฅผ ์๋ ๋ฐฐํฌ | ์๋ ์ฃผ์ ๋ฐฐ์ ๊ธฐ |
| DNS | ๋๋ฉ์ธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํ | ์ธํฐ๋ท ์ ํ๋ฒํธ๋ถ |
| HTTP | ์น ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ๋ ํ๋กํ ์ฝ | ์น ๋ํ ๊ท์น |
| HTTPS | TLS๋ก ๋ณดํธ๋๋ HTTP | ๋ด์ธ๋ ์น ๋ํ |
| NAT | ์ฌ์ค IP์ ์ธ๋ถ ํต์ ์ฃผ์๋ฅผ ๋ณํ | ๊ณต์ ๊ธฐ์ ์ฃผ์ ๋ฒ์ญ |
| IOC | ์นจํด๋ ์ด์ ํ์๋ฅผ ์์ฌํ ์ ์๋ ๋จ์ | ๋ณด์ ํ์ |
๋ช ๋ น์ด ๋ชจ์
๋ช ๋ น์ด๋ ๊ฒฐ๊ณผ๋ฅผ ์ธ์ฐ๊ธฐ๋ณด๋ค ์ฉ๋๋ฅผ ๊ธฐ์ตํ๋ฉด ๋ฉ๋๋ค. ๋คํธ์ํฌ ์ฃผ์ ํ์ธ, DNS ์ง์ ํ์ธ, ์๋น์ค ์ํ ํ์ธ, ์ด๋ฆฐ ํฌํธ ํ์ธ, ๋ก๊ทธ ํ์ธ์ฒ๋ผ ๋ชฉ์ ๋ณ๋ก ๋ฌถ์ด์ ๊ณต๋ถํ์ธ์.
Windows
ipconfig /all
nslookup school-login.test
netstat -ano
Ubuntu / Linux
ip addr
ip route
dig school-login.test
resolvectl status
sudo ss -tulnp
sudo systemctl status apache2
sudo journalctl -u apache2 -n 50 --no-pager
sudo tail -f /var/log/apache2/access.log
ipconfig /all๊ณผ ip addr๋ ๋ด ์ฅ๋น์ ์ฃผ์ ์ ๋ณด๋ฅผ ๋ณด์ฌ ์ค๋๋ค. nslookup๊ณผ dig๋ DNS ์๋ต์ ํ์ธํฉ๋๋ค. ss -tulnp๋ ์๋ฒ๊ฐ ์ด๋ค ํฌํธ๋ฅผ ์ด๊ณ ์๋์ง ํ์ธํ ๋ ์ ์ฉํฉ๋๋ค.
Wireshark ํํฐ ๋ชจ์
| ํํฐ | ๋ณด์ด๋ ๊ฒ | ๊ณต๋ถ ํฌ์ธํธ |
|---|---|---|
dns | DNS ์ง์์ ์๋ต | ๋๋ฉ์ธ๊ณผ ์๋ต IP |
http | HTTP ์์ฒญ๊ณผ ์๋ต | Host, URI, ์ํ ์ฝ๋ |
tcp | TCP ํจํท | ์ฐ๊ฒฐ ๊ณผ์ |
arp | ARP ์์ฒญ/์๋ต | IP์ MAC ์ฐ๊ฒฐ |
icmp | ping ๊ด๋ จ ํจํท | ์ฐ๊ฒฐ์ฑ ํ์ธ |
udp.port == 53 | UDP DNS | DNS๋ง ์ขํ ๋ณด๊ธฐ |
ip.addr == 192.168.56.20 | ํน์ ์ฅ๋น ๊ด๋ จ ํจํท | ํ ์ฅ๋น ํ๋ฆ ์ถ์ |
ํํฐ๋ฅผ ์ธ ๋๋ ๋๋ฌด ๋ณต์กํ๊ฒ ์์ํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋จผ์ dns์ฒ๋ผ ๋์ ํํฐ๋ก ๋ณด๊ณ , ํ์ํ๋ฉด dns.qry.name contains "school"์ฒ๋ผ ์กฐ๊ฑด์ ์ถ๊ฐํฉ๋๋ค.
๊ฐ๋ ๋ณ ํ์ธ ์ง๋ฌธ
๊ณต๋ถ๊ฐ ์ด๋ ์ ๋ ๋์๋์ง ํ์ธํ๋ ค๋ฉด ์ค์ค๋ก ์ง๋ฌธ์ ๋์ ธ ๋ณด๋ฉด ๋ฉ๋๋ค. ๋ต์ ๋ฐ๋ก ๋งํ ์ ์๋ค๋ฉด ํด๋น ์ฅ์ผ๋ก ๋์๊ฐ ๋ค์ ์ฝ์ด ๋ณด์ธ์.
| ๊ฐ๋ | ํ์ธ ์ง๋ฌธ |
|---|---|
| ๋คํธ์ํฌ | ๋ด PC๊ฐ ๋ค๋ฅธ ๋คํธ์ํฌ๋ก ๋๊ฐ ๋ ์ ๊ฒ์ดํธ์จ์ด๊ฐ ํ์ํ๊ฐ? |
| DNS | ๋๋ฉ์ธ ์ด๋ฆ๊ณผ ์ค์ ์ ์ IP๋ ์ด๋ค ๊ด๊ณ์ธ๊ฐ? |
| ์น | HTTP ์์ฒญ๊ณผ ์๋ต์๋ ์ด๋ค ์ ๋ณด๊ฐ ๋ค์ด ์๋๊ฐ? |
| ๊ณต์ ๊ธฐ | DHCP๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ์ฃผ๋ ์ ๋ณด๋ ๋ฌด์์ธ๊ฐ? |
| ํจํท | DNS ์๋ต ์ดํ ์ด๋ค TCP ์ฐ๊ฒฐ์ด ์๊ธฐ๋๊ฐ? |
| ํ์ง | IOC๋ ์ ํ๋๋ณด๋ค ์ฌ๋ฌ ๊ฐ๋ฅผ ํจ๊ป ๋ด์ผ ํ๋๊ฐ? |
| Python | ๋ก๊ทธ ํ์ผ์์ ํน์ ๋ฌธ์์ด์ ์ฐพ์ผ๋ ค๋ฉด ์ด๋ค ๊ตฌ์กฐ๋ฅผ ์ฐ๋๊ฐ? |
์์ ํ์ต ์์น
๋ณด์ ๊ณต๋ถ๋ ๋ฐ๋์ ์์ ํ ๋ฒ์์์ ํด์ผ ํฉ๋๋ค. ๋ณธ์ธ ์ฅ๋น, ํ๊ฐ๋ ์ค์ต๋ง, ๊ฐ์ง ๋๋ฉ์ธ, ๊ฐ์ง ๋ก๊ทธ, ๊ต์ก์ฉ ํ์ด์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ค์ ๊ธฐ๊ด ํ์ด์ง๋ฅผ ํ๋ด ๋ด๊ฑฐ๋, ์ค์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ๊ฑฐ๋, ์ธ๋ถ ๊ณต์ ๊ธฐ์ ์๋ฒ๋ฅผ ๋ฌด๋จ์ผ๋ก ํ ์คํธํ์ง ์์ต๋๋ค.
์ ์ฑ์ฝ๋ ๊ฐ๋ ์ ๋ฐฐ์ธ ๋๋ ์ค์ ์ ์ฑ ํ์ผ์ ์คํํ์ง ์์ต๋๋ค. ๋์ ํ์ ์ ํ๊ณผ ํ์ , ํ์ง ๊ธฐ์ค์ ๊ณต๋ถํฉ๋๋ค. ๊ณต๊ฒฉ ๊ธฐ์ ์ ์๋ํ๋ ๊ฒ์ด ์๋๋ผ, ์ํ์ ์ดํดํ๊ณ ๋ฐฉ์ด ๊ด์ ์ ํค์ฐ๋ ๊ฒ์ด ๋ชฉ์ ์ ๋๋ค.
๋ง๋ฌด๋ฆฌ ๋ณต์ต
์ ์ฒด ํ์ต ํ๋ฆ์ ๋ค์ ๋ณด๋ฉด, ๊ณต์ ๊ธฐ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋คํธ์ํฌ ์ค์ ์ ๋๋ ์ฃผ๊ณ , DNS๋ ๋๋ฉ์ธ์ IP๋ก ๋ฐ๊พธ๋ฉฐ, ์น ์๋ฒ๋ HTTP/HTTPS ์์ฒญ์ ์๋ตํฉ๋๋ค. Wireshark๋ ์ด ๊ณผ์ ์ ํจํท์ผ๋ก ๋ณด์ฌ ์ฃผ๊ณ , Python์ ๋ก๊ทธ์ ๋ฌธ์์ด์ ์ ๋ฆฌํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
๊ฐ์ฅ ์ค์ํ ๋ฌธ์ฅ์ ์ด๊ฒ์ ๋๋ค. ์น ์ ์์ DNS, IP, TCP, HTTP/HTTPS, ๊ณต์ ๊ธฐ ์ค์ ์ด ํจ๊ป ๋ง๋ ๊ฒฐ๊ณผ์ ๋๋ค. ์ด ์ฐ๊ฒฐ์ ์ดํดํ๋ฉด ๊ฐ ์ฅ์ ๊ฐ๋ ์ด ํ๋๋ก ์ด์ด์ง๋๋ค.
์ฒ์์๋ ์ฉ์ด๊ฐ ๋ง์ ๋ณด์ด์ง๋ง, ํ ๋ฒ์ ๋ค ์ธ์ฐ๋ ค๊ณ ํ์ง ์์๋ ๋ฉ๋๋ค. ์ฃผ์๋ฅผ ํ์ธํ๊ณ , ์ด๋ฆ ํด์์ ํ์ธํ๊ณ , ์ฐ๊ฒฐ์ ํ์ธํ๊ณ , ์๋ต์ ํ์ธํ๋ ์์๋ก ์ฒ์ฒํ ๋ณด๋ฉด ๋ฉ๋๋ค.