Raw Socket
์ด๋ ํน์ ํ ํ๋กํ ์ฝ ์ฉ์ ์ ์ก ๊ณ์ธต ํฌ๋งทํ
์์ด ์ธํฐ๋ท ํ๋กํ ์ฝ ํจํท์ ์ง์ ์ ์ผ๋ก ์ฃผ๊ณ ๋ฐ๊ฒ ํด์ฃผ๋ ์์ผ
์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ์์ผ์ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ํค๋์ ๋ณด์ ์ถ๊ฐ ๋ฐ ๋ถ๋ฆฌ์ ๊ฐ์ ์์
์ย ์ด์์ฒด์ ์ ํ๋กํ ์ฝ ์คํ ๋ด์์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋๋ฐ, ์ด๋ TCP/IP 4๊ณ์ธต์ Transport Layer ์ดํ๋ฅผ ์๋์ ๊ฐ์ด ์ถ์ํํ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ํค๋๋ฅผ ์ ํ ๊ธฐํ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์๋ก์ด ํ๋กํ ์ฝ์ ์ฌ์ฉํ๊ฑฐ๋, ํค๋์ ์ ๋ณด๋ฅผ
์ด์ฉํ์ฌ ๋ณด์ ํ๋ก๊ทธ๋จ๊ณผ ๊ฐ์ ๊ฒ์ ๊ตฌํํ๋ ๊ฒฝ์ฐ์๋ ํค๋๋ฅผ ์ง์ ์ ์ดํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์ํฉ์์ RAW์์ผ์ย ํค๋ ์ ๋ณด๋ค์ ๋ํด ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ์ ์ดํ ์ ์๊ฒ ํด์ค๋๋ค.
์ฆ, RAW์์ผ์ ์ฌ์ฉํ๋ฉด IPํค๋์ TCPํค๋๋ฅผ ์ง์ ์ ์ดํ ์ ์๋๋ฐ, ์ด๋ฅผ ๋ชจ๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ก ์ทจ๊ธํ๋ฏ๋ก ๋คํธ์ํฌ ๊ณ์ธต์ ์ด๋ค ์ข
๋ฅ์ ํค๋๊ฐ ์๋ ์๊ด์ด ์๊ฒ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ์ RAW ์์ผ์ผ๋ก TCP๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ IPํค๋์ TCPํค๋๋ฅผ ๋ณด๋ด๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ์๋ถ๋ถ์ ์ง์ ๋ง๋ค์ด์ฃผ์ด์ผ ํฉ๋๋ค.
Raw Socket์ ํน์ง
โข
์์ฉ ๊ณ์ธต๊ณผ ์ ์ก ๊ณ์ธต, ๋คํธ์ํฌ ๊ณ์ธต์์ ๋ชจ๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
โข
๋คํธ์ํฌ ๊ณ์ธต ํค๋์ ์ ์ก ๊ณ์ธต ํค๋๋ฅผ ์ง์ ์ ์ด๊ฐ๋ฅํ๋ค.
โข
๋คํธ์ํฌ ๊ณ์ธต์ผ๋ก ์ ์ก๋๋ ๋ชจ๋ ํจํท์ ์ ๋ถ ๋ชจ๋ํฐ๋ง ๋ฐ ๊ฐ์งย ๊ฐ๋ฅํ๋ค.
โข
IP Segment์์ ์ํธํ๋ ์
์ฑ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ, IP๊ณ์ธต์์ ์ด๋ฅผ ํํฐ๋ง ๋ชปํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
RAW์์ผ์ ์ฌ์ฉ์๋ฐ์ดํฐ ์ทจ๊ธ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ณ์ธต์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ํ ์ผ๋ฐ์ ์ผ๋ก ์ด์์ฒด์ ์ ํ๋กํ ์ฝ ์คํ์์ย ํจํท์ ๋ชฉ์ ์ง IP์ฃผ์๊ฐ ์์ ์ IP์ฃผ์์ธ ํจํท์ ๋ฐ์๋ค์ด๊ณ ๋ค๋ฅธ IP์ฃผ์์ ํจํท์ ๋ฒ๋ฆฝ๋๋ค. ๊ทธ๋์ RAW ์์ผ์ ์ฌ์ฉํ์ง ์๋ ์ผ๋ฐ์ ์ธ ์ดํ๋ฆฌ์ผ์ด์
๋ค์ IP์ฃผ์๊ฐ ์์ ๊ณผ ๋ค๋ฅด๊ฑฐ๋ ์์ ์ ํฌํธ ์ฃผ์๊ฐ ์๋ ํจํท์ ํ์ธ์ด ๋ถ๊ฐ๋ฅํ์ง๋ง, RAW์์ผ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด IP์ฃผ์๋ ํฌํธ์ฃผ์๊ฐ ๋ค๋ฅด๋๋ผ๋ ๋ฌผ๋ฆฌ๊ณ์ธต์ธ ์ธํฐ๋ท ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ์์ ์ค๋ ๋ชจ๋ ํจํท์ ์ ๋ถ ๋ฐ์ย ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
RAW์์ผ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ์๋ก๋ ํจํท๋ค์ ๊ฐ์งํ๋ WireShark(์์ด์ด์คํฌ)๊ฐ ์์ต๋๋ค. ๋ชจ๋ ํจํท์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒฝ์ฐ ๋ง๊ณ ,
๋ RAW ์์ผ์ ์ด์ฉํ ์ ์๋ ๋๋ค๋ฅธ ๋ถ์ผ๋ ํ๋กํ ์ฝ ์คํ์ ๊ตฌํํ๊ณ ํ
์คํธํ๋ ๊ฒฝ์ฐ์ธ๋ฐ, ์ด์์ฒด์ ๋ฅผ ๋ง๋ค ๋ ์ค๋ฅ๊ฐ ๋๋ฉด ์ ์ธ ์ฌ์ด๋์์ด ์์คํ
์ด ๋ฉ์ถ๊ฑฐ๋ ์ฌ๋ถํ
๋๋ฉฐ, ํ
์คํธ ํ ๋ ๋ง๋ค ์๋ก ์ฌ๋ ค์ผ ํฉ๋๋ค. ํ์ง๋ง RAW์์ผ์ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ฐจ์์์ ํ๋กํ ์ฝ ์คํ์ ๊ตฌํํ๊ณ ํ
์คํธ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ์์ค์ฝ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํด๋ ์ต์ํ ์์คํ
์ด ๋ฉ๊ฑฐ๋ ์ฌ๋ถํ
์ ํ์ง๋ ์์๋ ๋ฉ๋๋ค.
Raw ์์ผ vs ์ผ๋ฐ ์์ผ ํ๋ฆ
โข
์ผ๋ฐ์ ์ธ ์์ผ์ ํ๋ฆ๋
โข
Raw ์์ผ ํ๋ฆ๋