๋ฐ์ํ
๐ก ๋ณธ ๋ฌธ์๋ '๋ฆฌ๋ ์ค์์ ๋คํธ์ํฌ ์ํ๋ฅผ ํ์ธํ๊ธฐ ์ํ ๋ช ๋ น์ด'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ping๋ถํฐ ํด๋น IP์ port๊ฐ ๊ฐ๋ฐฉ๋์ด ์๋์ง ํ์ธํ๋ tcping, TCP listening ์ํ๋ฆ ํ์ธํ๋ netstat๊น์ง ๋ค๋ฃจ๊ณ ์์ผ๋ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค. ์ถ๊ฐ๋ก Linux์์ ์ข ์ข ์ฌ์ฉํ๋ 50+๊ฐ์ง ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํด๋์ ํฌ์คํธ ์ค ๋คํธ์ํฌ ๋ถ๋ถ์ ์ฐธ๊ณ ํ์๋ฉด ์ ์ฉํ ๋ช ๋ น์ด๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.
1. ๋คํธ์ํฌ ip ๋์ ํ์ธ (ping)
1.1 ping (Packet INternet Groper)๋?
๋์ ์ปดํจํฐ๋ฅผ ํฅํด ์ผ์ ํฌ๊ธฐ์ ํจํท์ ๋ณด๋ธ ํ, ๋์ ์ปดํจํฐ๊ฐ ์ด์ ๋ํ ์๋ต ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ฉด ์ด๋ฅผ ์์ ํ์ฌ ๋์ ์ปดํจํฐ ๋์ ์ฌ๋ถ ํน์ ๋คํธ์ํฌ ์ํ๋ฅผ ํ์ ํ๋ ๋๊ตฌ
1.2 ping ์ฌ์ฉ ๋ฐฉ๋ฒ:
$ ping [IP ๋๋ ๋๋ฉ์ธ]
1.3 ping ์ต์ :
-t | ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด Ctrl-C ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋ก ์ค์ง ํ ๋๊น์ง ๋์ ์ pingํฉ๋๋ค. |
-a | ์ด ping ๋ช ๋ น ์ต์ ์ ๊ฐ๋ฅํ ๊ฒฝ์ฐ IP ์ฃผ์ ๋์ ์ ํธ์คํธ ์ด๋ฆ ์ ๋ถ์ํฉ๋๋ค. |
-n count | ์ด ์ต์ ์ ๋ณด๋ผ ICMP ์์ฝ ์์ฒญ ์๋ฅผ 1์์ 4294967295๋ก ์ค์ ํฉ๋๋ค. -n์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ping ๋ช ๋ น์ด ๊ธฐ๋ณธ์ ์ผ๋ก 4๋ฅผ ๋ณด๋ ๋๋ค. |
-l size | ๋ฐํฅ ์์ฒญ ํจํท์ ํฌ๊ธฐ (๋ฐ์ดํธ)๋ฅผ 32์์ 65,527๋ก ์ค์ ํ๋ ค๋ฉด์ด ์ต์ ์ ์ฌ์ฉํ์ญ์์ค. -l ์ต์ ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ping ๋ช ๋ น์ด 32 ๋ฐ์ดํธ ์์ฝ ์์ฒญ์ ๋ณด๋ ๋๋ค. |
-f | ์ด ping ๋ช ๋ น ์ต์ ์ ์ฌ์ฉํ์ฌ ICMP ์์ฝ ์์ฒญ์ด ์ฌ์ฉ์์ ๋์ ์ฌ์ด์ ๋ผ์ฐํฐ์ ์ํด ์กฐ๊ฐํ๋์ง ์๋๋กํฉ๋๋ค. -f ์ต์ ์ Path Maximum Transmission Unit (PMTU) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. |
-i TTL | ์ด ์ต์ ์ TTL (Time to Live) ๊ฐ์ ์ค์ ํ๋ฉฐ ์ต๋ ๊ฐ์ 255์ ๋๋ค. |
-v TOS | ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ์๋น์ค ์ ํ (TOS) ๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค. Windows 7๋ถํฐ์ด ์ต์ ์ ๋ ์ด์ ์๋ํ์ง ์์ง๋ง ์ฌ์ ํ ํธํ์ฑ ๋ฌธ์ ๋ก ์กด์ฌํฉ๋๋ค. |
-r count | ์ด ping ๋ช ๋ น ์ต์ ์ ์ฌ์ฉํ์ฌ ์ปดํจํฐ์ ๋์ ์ปดํจํฐ ๋๋ ์ฅ์น๊ฐ์ ๊ธฐ๋ก ๋ฐ ํ์ ํ ํ ์๋ฅผ ์ง์ ํ์ญ์์ค. count ์ ์ต๋ ๊ฐ์ 9์ด๋ฏ๋ก ๋ ์ฅ์น ์ฌ์ด์ ๋ชจ๋ ํ์ ๋ณด๋ ค๋ฉด tracert ๋ช ๋ น์ ์ฌ์ฉํ์ญ์์ค. |
-s count | ์ธํฐ๋ท ์๊ฐ ์์ธ ํ์์ผ๋ก ๊ฐ ์์ฝ ์์ฒญ์ด ์์ ๋๊ณ ์์ฝ ์๋ต์ด ์ ์ก ๋ ์๊ฐ์๋ณด๊ณ ํ๋ ค๋ฉด์ด ์ต์ ์ ์ฌ์ฉํ์ญ์์ค. count ์ ์ต๋ ๊ฐ์ 4์ ๋๋ค. ์ฆ ์ฒ์ ๋ค ๊ฐ์ ํ๋ง ์๊ฐ์ ๊ธฐ๋ก ํ ์ ์์ต๋๋ค. |
-w timeout | ping ๋ช ๋ น์ ์คํํ ๋ ์๊ฐ ์ด๊ณผ ๊ฐ์ ์ง์ ํ๋ฉด ping์ด ๊ฐ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ๋ฐ๋ฆฌ ์ด ๋จ์๋ก ์กฐ์ ํฉ๋๋ค. -w ์ต์ ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ์๊ฐ ์ด๊ณผ ๊ฐ(=4000ms =4s)์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. |
-R | ์ด ์ต์ ์ ping ๋ช ๋ น์ ์๋ณต ๊ฒฝ๋ก๋ฅผ ์ถ์ (์ญ๋ฐฉํฅ ๋ผ์ฐํ ๋ ํ ์คํธ(IPv6))ํ๋๋ก ์ง์ํฉ๋๋ค. |
-S srcaddr | ์์ค ์ฃผ์๋ฅผ ์ง์ ํ๋ ค๋ฉด์ด ์ต์ ์ ์ฌ์ฉํ์ญ์์ค. |
-p | Hyper-V ๋คํธ์ํฌ ๊ฐ์ํ ๊ณต๊ธ์ ์ฃผ์๋ฅผ pingํ๋ ค๋ฉด์ด ์ค์์น๋ฅผ ์ฌ์ฉํ์ญ์์ค. |
-4 | ์ด๋ ๊ฒํ๋ฉด ping ๋ช ๋ น์ด IPv4 ๋ง ์ฌ์ฉํ๊ฒ๋์ง๋ง target ์ด IP ์ฃผ์๊ฐ ์๋ ํธ์คํธ ์ด๋ฆ ์ธ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค. |
-6 | ์ด๋ ๊ฒํ๋ฉด ping ๋ช ๋ น์ด IPv6 ๋ง ์ฌ์ฉํ์ง๋ง -4 ์ต์ ์ฒ๋ผ ํธ์คํธ ์ด๋ฆ์ ping ํ ๋๋ง ํ์ํฉ๋๋ค. |
๋ชฉํ | IP ์ฃผ์ ๋๋ ํธ์คํธ ์ด๋ฆ ์ค ํ๋๋ฅผ ping ํ ๋์์ ๋๋ค. |
/? | ๋ช ๋ น์ ์ฌ๋ฌ ์ต์ ์ ๋ํ ์์ธํ ๋์๋ง์ ๋ณด๋ ค๋ฉด ping ๋ช ๋ น๊ณผ ํจ๊ป ๋์๋ง ์ค์์น ๋ฅผ ์ฌ์ฉํ์ญ์์ค. |
2. ๋คํธ์ํฌ ํฌํธ ํ์ธ (tcping)
2.1 tcping ๋?
์๋์ฐ ํด๋ผ์ด์ธํธ์์ ์๋ฒ์ TCP ํฌํธ๋ฅผ ping๊ณผ ๊ฐ์ด ์๋ต์๋๋ฅผ ์ฒดํฌํ๊ธฐ์ํด ์ฌ์ฉ๋๋ ๋๊ตฌ.
2.2 tcping ์ฌ์ฉ ๋ฐฉ๋ฒ:
$ tcping [option] [IP] [Port]
3. ๋คํธ์ํฌ ์ํ ํ์ธ (netstat)
3.1 netstat ๋?
๋คํธ์ํฌ ์ ์, ๋ผ์ฐํ ํ ์ด๋ธ, ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ํต๊ณ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋๊ตฌ
3.2 netstat ์ฌ์ฉ ๋ฐฉ๋ฒ:
$ netstat [option] [| grep ํฌํธ ๋ฒํธ or ์๋น์ค ๋ช
]
3.3 netstat ์ต์ :
- -l (listen) : ์ฐ๊ฒฐ ๊ฐ๋ฅํ ์ํ
- -n (number port) : ํฌํธ ๋๋ฒ
- -t (tcp) : tcp
- -u (udp) : udp
- -p : ํ๋ก๊ทธ๋จ ์ด๋ฆ / PID
- -a : ๋ชจ๋
- -i : ์ด๋๋ท ์นด๋๋ณ ์ ์/์๋ฌ/๋๋ ์ก์์ ํจํท ์ ํ์ธ
- -r : ๋ผ์ฐํ ํ ์ด๋ธ
- -s : ๋คํธ์ํฌ ํต๊ณ
3.4 netstat ์์ฃผ ์ฌ์ฉ ํ๋ ์ต์ :
- netstat -nap : ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ชฉ๋ก๊ณผ ํ๋ก๊ทธ๋จ์ ๋ณด์ฌ์ค๋ค
- netstat -an | grep ํฌํธ๋ฒํธ : ํน์ ํฌํธ๊ฐ ์ฌ์ฉ ์ค์ ์๋์ง ํ์ธ
- netstat -nlpt : TCP listening ์ํ์ ํฌํธ์ ํ๋ก๊ทธ๋จ์ ๋ณด์ฌ์ค๋ค
- netstat -natp : TCP listening ์ํ์ ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ชฉ๋ก์ ํฌํธ์ ํ๋ก๊ทธ๋จ์ ๋ณด์ฌ์ค๋ค. ํด๋น ํ๋ก์ธ์ค ID๊น์ง ํ์ธํ๊ณ ์ถ์ผ๋ฉด super user ๊ถํ์ผ๋ก ์คํํ๋ฉด ๋ฉ๋๋ค.
3.5 netstat ํ์ฉ ์์
ํน์ ํฌํธ์ TCP listening ์ํ์ ์ฐ๊ฒฐ์ํ๋ฅผ ํ์ธํ๋ฉฐ, ํด๋น ํ๋ก์ธ์ค์ PID๋ฅผ ํ์ธํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ํ์ฉํฉ๋๋ค.
$ sudo netstat -natp | grep 8996
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 :::8996 :::* LISTEN 15845/./bin/Link
3.6 netstat -natp๋ก ์ ์ ์๋ ์ ๋ณด
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::8996 :::* LISTEN 15845/./bin/Link
- Proto : ํ๋กํ ์ฝ ์ข ๋ฅ. TCP / UDP / RAW
- Recv-Q : ํด๋น process๊ฐ ํ์ฌ ๋ฐ๋ ๋ฐ์ดํธ ํ๊ธฐ
- Send-Q : ํด๋น process๊ฐ ํ์ฌ ๋ณด๋ด๋ ๋ฐ์ดํธ ํ๊ธฐ
- Local Address : ์ถ๋ฐ์ง ์ฃผ์ ๋ฐ ํฌํธ. ์์ ์ ์ฃผ์ ๋ฐ ํฌํธ
- :::๋ผ๋ฉด all interface๋ฅผ ๋ฐ๋๋ค๋ ๋ป์ด๊ณ 0.0.0.0์ด๋ผ๋ฉด IPv4์ ๋ชจ๋ ip์ ๋ํด์ ์ด๋ ค์๋ค๋ ๋ป
- INADDR_ANY (0.0.0.0)
- 0.0.0.0:xxx, :::xxx → any local address:port-number - active connections: the IP-address and the port used by that special connection
- 127.0.0.1์ด๋ผ๋ฉด loopback(local interface)์ด๋ผ๋ ๋ป์ผ๋ก ์๊ธฐ์์ ๋ง ํธ์ถ๊ฐ๋ฅํ ์ํ
- INADDR_LOOPBACK (127.0.0.1)
- 127.0.0.1, 127.0.1.1, ::1 (for IPv6) → localhost, the loop back interface - those services can only be contacted from your local machine
- :::๋ผ๋ฉด all interface๋ฅผ ๋ฐ๋๋ค๋ ๋ป์ด๊ณ 0.0.0.0์ด๋ผ๋ฉด IPv4์ ๋ชจ๋ ip์ ๋ํด์ ์ด๋ ค์๋ค๋ ๋ป
- Foreign Address : ๋ชฉ์ ์ง ์ฃผ์ ๋ฐ ํฌํธ
- State : ํฌํธ์ ์ํ ํ๊ธฐ (์ฐธ์กฐ: 3.6 netstat ์ํ ๊ฐ).
- PID: Process ID
- Program name: ์คํ์ํจ ํ๋ก์ธ์ค ์ด๋ฆ
3.7 netstat ์ํ ๊ฐ
State
|
description
|
CLOSED
|
์์ ํ ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋ ์ํ
|
CLOSING
|
ํํ์ง ์์ผ๋ ์ฃผ๋ก ํ์ธ ๋ฉ์์ง๊ฐ ์ ์ก ๋์ค ์ ์ค๋ ์ํ
|
CLOSE_WAIT
|
TCP ์ฐ๊ฒฐ์ด ์์ ์์ฉํ๋ก๊ทธ๋จ ๋ ๋ฒจ๋ก๋ถํฐ ์ฐ๊ฒฐ ์ข
๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ํ
|
ESTABLISHED
|
์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ธ์
์ฐ๊ฒฐ์ด ์ฑ๋ฆฝ๋์ด ํต์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์๋ ์ํ
(ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ SYN์ ๋ฐ์์ ์ธ์ ์ด ์ฐ๊ฒฐ๋ ์ํ) |
FIN_WAIT1
|
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ฐ๊ฒฐ์ ๋๊ณ ์ ์์ฒญํ๋ ์ํ(FIN์ ๋ณด๋ธ ์ํ)
|
FIN_WAIT2
|
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ฐ๊ฒฐ ์ข
๋ฃ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ
(์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ต์ด๋ก FIN์ ๋ฐ์ ํ, ํด๋ผ์ด์ธํธ์๊ฒ ACK๋ฅผ ์ฃผ์์ ๋ |
LAST_ACK
|
ํธ์คํธ๊ฐ ์๊ฒฉ์ง ํธ์คํธ์ ์ฐ๊ฒฐ ์ข
๋ฃ ์๊ตฌ ์น์ธ์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ
(์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ FIN์ ๋ณด๋์ ๋์ ์ํ) |
LISTEN
|
์๋ฒ์ ๋ฐ๋ชฌ์ด ๋ ์์ด์ ํด๋ผ์ด์ธํธ์ ์ ์ ์์ฒญ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ์ํ
|
SYN_SENT
|
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ฐ๊ฒฐ์ ์์ฒญํ ์ํ
|
SYN_RECEIVED
|
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ ์ ์๊ตฌ(SYN)์ ๋ฐ์ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต(SYN/ACK)ํ์์ง๋ง,
์์ง ํด๋ผ์ด์ธํธ์๊ฒ ํ์ธ ๋ฉ์์ง(ACK)๋ ๋ฐ์ง ๋ชปํ ์ํ |
TIME_WAIT
|
์ฐ๊ฒฐ์ ์ข
๊ฒฐ๋์์ง๋ง ๋น๋ถ๊ฐ ์์ผ์ ์ด์ด ๋์ ์ํ, ์ฝ 1๋ถ ์ ๋์ด๋ฉฐ ์๊ฐ์ด ์ง๋๋ฉด ์ฌ๋ผ์ง
|
UNKNOWN
|
์์ผ์ ์ํ๋ฅผ ์ ์ ์์
|
์ฐธ๊ณ
- [๋คํธ์ํฌ] ping ๋ช ๋ น์ด - ๋คํธ์ํฌ ์ํ ์ ๊ฒ, ๋๋ฉ์ธ IP ํ์ธ: https://extbrain.tistory.com/100
- netstat ๋ช ๋ น์ด๋ฅผ ํตํ ๋คํธ์ํฌ ์ํ ํ์ธ ๋ฐฉ๋ฒ: https://blog.naver.com/ncloud24/221388026417
- [Linux] ๋ฆฌ๋ ์ค ๋ช ๋ น์ด Best 50 ์ ๋ฆฌ: https://csj000714.tistory.com/429
- [StackExchange] meaning-of-netstat-local-address-column: https://unix.stackexchange.com/questions/139938/meaning-of-netstat-local-address-column
- [linux] netstat ๋ช ๋ น์ด ์ค๋ช ๋ฐ ์์ : https://blog.voidmainvoid.net/201
๋ฐ์ํ