๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ์ ๋คํธ์ํฌ์ ์ํธ ์์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ์๋น์ค์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋๊ธฐ ์๊ฐ์ด ์งง์์๋ก ์ฑ๋ฅ์ ๋์์ง๋๋ค. ์ด๋ ์ผ๋ฐ ์น์ฌ์ดํธ๋ถํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ๋คํธ์ํฌ ์คํ ๋ฆฌ์ง์ ์ด๋ฅด๊ธฐ๊น์ง ๋ชจ๋ ๋คํธ์ํฌ ์๋น์ค์ ํด๋น๋ฉ๋๋ค.
์ข์ ์๊ฐ DNS(Domain Name System)์
๋๋ค. DNS๋ ๋ณธ์ง์ ์ผ๋ก ๋ฃจํธ ๋
ธ๋๊ฐ ์ง๊ตฌ ์ ์ฒด์ ๋ถ์ฐ๋์ด ์๋ ๋ถ์ฐ ์์คํ
์
๋๋ค. ์ด๋ค ์น์ฌ์ดํธ์๋ ๊ฐ๋จํ ์ ์ํ๋ ค๋ฉด ๋จผ์ ํด๋น ์น์ฌ์ดํธ์ IP ์ฃผ์๋ฅผ ์ป์ด์ผ ํฉ๋๋ค.
๋๋ฉ์ธ ์์ญ์ "ํธ๋ฆฌ"๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํต๊ณผํ๋ ์ ์ฒด ํ๋ก์ธ์ค๋ฅผ ์ค๋ช ํ์ง๋ ์์ง๋ง ๋๋ฉ์ธ์ IP ์ฃผ์๋ก ๋ณํํ๋ ค๋ฉด ์ด ๋ชจ๋ ์์ ์ ์ํํ๋ DNS ํ์ธ์๊ฐ ํ์ํ๋ค๋ ์ฌ์ค๋ง ์ค๋ช ํ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ฅผ.
๊ทธ๋ ๋ค๋ฉด DNS ํ์ธ์ ์ฃผ์๋ ์ด๋์ ์ป์ ์ ์๋์?
- ISP๋ DNS ํ์ธ์์ ์ฃผ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ธํฐ๋ท์์ ๊ณต๊ฐ ํด๊ฒฐ์์ ์ฃผ์๋ฅผ ์ฐพ์ผ์ธ์.
- ์ง์ ์ ํํ๊ฑฐ๋ ํ ๋ผ์ฐํฐ์ ๋ด์ฅ๋ ๊ฒ์ ์ฌ์ฉํ์ธ์.
์ด๋ฌํ ์ต์ ์ ์ฌ์ฉํ๋ฉด World Wide Web์์ ๊ฑฑ์ ์์ด ์ํ์ ์ฆ๊ธธ ์ ์์ง๋ง, ๋ง์ ์์ ๋๋ฉ์ธ์ IP๋ก ๋ณํํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ํ์ธ์ ์ ํ์ ๋์ฑ ์ ์คํ๊ฒ ์ ๊ทผํด์ผ ํฉ๋๋ค.
์ด๋ฏธ ์ด ๊ฒ์ฒ๋ผ ISP ํ์ธ์ ์ธ์๋ ๋ง์ ๊ณต๊ฐ ์ฃผ์๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด ๋ชฉ๋ก์ ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ ์ค ์ผ๋ถ๋ ๊ธฐ๋ณธ ํ์ธ์๋ณด๋ค ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋ ์ข๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ์ ํธ๋ ์ ์์ต๋๋ค.
๋ชฉ๋ก์ด ์์ผ๋ฉด ์๋์ผ๋ก ์ฝ๊ฒ "ํ"ํ๊ณ ์ง์ฐ ์๊ฐ์ ๋น๊ตํ ์ ์์ง๋ง ์์์ ์ธ๊ธํ ๋ชฉ๋ก์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ด ์์ ์ด ๋ถํธํด์ง๋๋ค.
๋ฐ๋ผ์ ์ด ์์
์ ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํด ์ฌ๊ธฐ๊พผ ์ฆํ๊ตฐ์ผ๋ก ๊ฐ๋ ์ฐฌ ๋๋ Go์ ๋ํ ๋ด ์์ด๋์ด์ ๊ฐ๋
์ฆ๋ช
์ ์ค์ผ์นํ์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ ์ฒด ๋ฆฌ์กธ๋ฒ ๋ชฉ๋ก์ ํ์ธํ์ง๋ ์๊ณ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ฆฌ์กธ๋ฒ๋ง ํ์ธํ๊ฒ ์ต๋๋ค.
$ get-closer ping -f dnsresolver.txt -b=0 --count=10
Closest hosts:
1.0.0.1 [3.4582ms]
8.8.8.8 [6.7545ms]
1.1.1.1 [12.6773ms]
8.8.4.4 [16.6361ms]
9.9.9.9 [40.0525ms]
ํ๋ ์ ๋ ๋ฆฌ์กธ๋ฒ๋ฅผ ์ ํํ ๋ ๊ธฐ๋ณธ ์ฃผ์(1.1.1.1, 8.8.8.8, 9.9.9.9)๋ง ํ์ธํ๋๋ก ์ ํํ์ต๋๋ค. ๊ฒฐ๊ตญ ์ฃผ์๋ ๋๋ฌด ์๋ฆ๋ต๊ณ ๋ฌด์์ ๊ธฐ๋ํ ์ ์์ต๋๊น? ์ถ์ ํ ๋ฐฑ์ ์ฃผ์.
ํ์ง๋ง ์ง์ฐ์ ๋น๊ตํ๋ ์๋ํ๋ ๋ฐฉ๋ฒ์ด ์์ผ๋ฏ๋ก ๋ชฉ๋ก์ ํ์ฅํด ๋ณด๋ ๊ฒ์ ์ด๋จ๊น์?
ํ ์คํธ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด "๋ฐฑ์ " Cloudflare ์ฃผ์๋ ๋์๊ฒ ๋ ์ ํฉํฉ๋๋ค. ์๋ํ๋ฉด ์ด ์ฃผ์๋ ์๋ฆ๋ค์ด 1.1.1.1์ด ์ฐ๊ฒฐ๋ msk-ix๋ณด๋ค ๋์๊ฒ ํจ์ฌ ๋ ๊ฐ๊น์ด spb-ix์ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ณด์๋ค์ํผ ๊ทธ ์ฐจ์ด๋ ์๋นํฉ๋๋ค. ์๋ํ๋ฉด ๊ฐ์ฅ ๋น ๋ฅธ ๊ด์ ์กฐ์ฐจ๋ ์ํธํํ ๋ฅด๋ถ๋ฅดํฌ์์ ๋ชจ์คํฌ๋ฐ๊น์ง 10ms ์ด๋ด์ ๋๋ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
PoC์๋ ๊ฐ๋จํ ping ์ธ์๋ http ๋ฐ tcp์ ๊ฐ์ ๋ค๋ฅธ ํ๋กํ ์ฝ์ ์ง์ฐ ์๊ฐ๊ณผ ํน์ ํ์ธ์๋ฅผ ํตํด ๋๋ฉ์ธ์ IP๋ก ๋ณํํ๋ ์๊ฐ์ ๋น๊ตํ ์ ์๋ ๊ธฐํ๋ ์์ต๋๋ค.
Traceroute๋ฅผ ์ฌ์ฉํ์ฌ ํธ์คํธ ๊ฐ ๋ ธ๋ ์๋ฅผ ๋น๊ตํ์ฌ ๊ฒฝ๋ก๊ฐ ๋ ์งง์ ํธ์คํธ๋ฅผ ๋ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ํ ๊ณํ์ ๋๋ค.
์ฝ๋๋ ํฌ๋ฐํ๊ณ ๊ฒ์ฌ๊ฐ ๋ง์ด ๋ถ์กฑํ์ง๋ง ๊นจ๋ํ ๋ฐ์ดํฐ์์๋ ๊ฝค ์ ์๋ํฉ๋๋ค. ์ด๋ค ํผ๋๋ฐฑ์ด๋ผ๋ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com