๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”’์ •๋ณด๋ณด์•ˆ/๋„คํŠธ์›Œํฌ ๋ณด์•ˆ

๋„คํŠธ์›Œํฌ ๋ณด์•ˆ - FTP ํŒจ์‹œ๋ธŒ ๋ชจ๋“œ(PASV EPSV)

by Janger 2023. 10. 12.
728x90
๋ฐ˜์‘ํ˜•
FTP ์ˆ˜๋™ ๋ชจ๋“œ(Passive mode)๋ž€?

FTP ํŒจ์‹œ๋ธŒ(PASSIVE) ๋ชจ๋“œ๋ž€ ๊ธฐ์กด ์•กํ‹ฐ๋ธŒ ๋ชจ๋“œ์— ํด๋ผ์ด์–ธํŠธ์˜ ๋ฐฉํ™”๋ฒฝ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ "ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ ๋žœ๋ค ํ•œ ํฌํŠธ(1024~65535)์— ์ ‘์†ํ•˜๋Š” ๋ฐฉ์‹"์„ ๋งํ•œ๋‹ค. 

 

1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์ œ์–ด ์ฑ„๋„์ธ 21๋ฒˆ ํฌํŠธ๋กœ ์ ‘์†์„ ํ•˜๊ณ  "PASV" ํ˜น์€ "EPSV"๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ด๋Š” ์•ž์œผ๋กœ ์ˆ˜๋™ ๋ชจ๋“œ(Passive Mode)๋ฅผ ์ง„ํ–‰ํ•จ์„ ์•Œ๋ฆฌ๋Š” ์˜๋ฏธ

 

2. ์„œ๋ฒ„๊ฐ€ ์ž์‹ ์ด ์—ด์–ด๋‘” ๋ฐ์ดํ„ฐ ์ฑ„๋„์ธ  ๋žœ๋คํ•œ ํฌํŠธ(1024~65535) ๋ฒˆํ˜ธ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›๊ฒŒ ๋œ๋‹ค. 

 

PASV์™€ EPSV ์ฐจ์ด

PASV๋Š” IPv4 ํ”„๋กœํ† ์ฝœ๋งŒ ์ง€์›ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ๋ฅผ ์•Œ๋ฆฌ๊ฒŒ ๋  ๋•Œ ์ž์‹ ์˜ ์•„์ดํ”ผ๋ฅผ ์•Œ๋ฆฌ๊ฒŒ ๋˜๋Š” ๋“ฑ ๋ณด์•ˆ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค. 

 

EPSV๋Š” IPv4, IPv6 ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๊ณ  PASV์™€ ๋‹ฌ๋ฆฌ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ๋ฅผ ์•Œ๋ ค์ค„ ๋•Œ ํฌํŠธ ๋ฒˆํ˜ธ๋งŒ์„ ์ „์†กํ•˜๋ฏ€๋กœ ๋ณด์•ˆ์„ฑ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋†’๋‹ค. 

 

์‹ค์Šต

์‹ค์Šต ํ•˜๊ธฐ ์•ž์„œ์„œ ์‹ค์ œ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด -d(๋””๋ฒ„๊ทธ) ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค. 

 

janger@desktop:~$ ftp -d
ftp> open ftp.example.com 1121
Connected to ftp.example.com.
220 Microsoft FTP Service
ftp_login: user `<null>' pass `<null>' host `ftp.example.com'
Name (ftp.example.com:janger): janger
---> USER janger
331 Password required
Password:
---> PASS XXXX
230 User logged in.

 

 

passive mode ํ†ต์‹ 

์šฐ์„  ๊ธฐ๋ณธ์œผ๋กœ ํ™œ์„ฑํ™” ๋œ ๋ชจ๋“œ๊ฐ€ Extended Passive Mode์ด๋ฏ€๋กœ EPSV๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ด์ค€๋‹ค. 

 

ftp> epsv
EPSV/EPRT on IPv4 off.
EPSV/EPRT on IPv6 off.

๊ทธ๋ฆฌ๊ณ ๋Š” ls๋ฅผ ์ž…๋ ฅํ•ด ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. 

 

ftp> ls
ftp: setsockopt SO_DEBUG (ignored): Permission denied
---> PASV
227 Entering Passive Mode (192,168,0,8,122,242).
---> LIST
150 Opening ASCII mode data connection.
10-12-23  11:42AM                    6 test.txt
226 Transfer complete.
ftp>

ํด๋ผ์ด์–ธํŠธ๊ฐ€ PASV๋ฅผ ์ „์†ก์„ ํ•˜์ž ์„œ๋ฒ„๋Š” ์‘๋‹ต์„ ํ•˜๋Š”๋ฐ ์ž์‹ (์„œ๋ฒ„)์˜ ์•„์ดํ”ผ์™€ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๊ฐ€ ์•Œ๋ ค์ค€ ํฌํŠธ๋กœ ์—ฐ๊ฒฐ์„ ํ•ด์„œ LIST ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” LIST์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ ์ฑ„๋„๋กœ ๋ณด๋ƒˆ๋‹ค. 

 

ํฌํŠธ ๋ฒˆํ˜ธ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ• : 122 * 256 + 242 = 31474

 

 

extended passive mode ํ†ต์‹ 

๋‹ค์‹œ "epsv"๋ฅผ ์ž…๋ ฅํ•ด EPSV๋ฅผ on์„ ํ•œ๋‹ค. 

ftp> epsv
EPSV/EPRT on IPv4 on.
EPSV/EPRT on IPv6 on.

 

ftp> ls
ftp: setsockopt SO_DEBUG (ignored): Permission denied
---> EPSV
229 Entering Extended Passive Mode (|||31522|)
229 Entering Extended Passive Mode (|||31522|)
---> LIST
150 Opening ASCII mode data connection.
10-12-23  11:42AM                    6 test.txt
226 Transfer complete.
ftp>

์ด๋ฒˆ์—๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ EPSV๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์‘๋‹ตํ•ด์ฃผ์—ˆ๋‹ค. 

 

 

๊ณต์œ ๊ธฐ ํฌํŠธํฌ์›Œ๋”ฉ ์ด์Šˆ

FTP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ถ๊ธˆํ•œ ๊ฒƒ์ด ๋”ฐ๋กœ ๊ณต์œ ๊ธฐ์—์„œ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ๋ฅผ ํฌํŠธํฌ์›Œ๋”ฉํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ๋„ ์ •์ƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. 

 

๊ฒฐ๋ก ์„ ๋งํ•˜๋ฉด ๊ณต์œ ๊ธฐ๊ฐ€ ์Šค์Šค๋กœ ๋ฐ์ดํ„ฐ์ฑ„๋„ ํฌํŠธ๋ฅผ ์—ด์–ด๋‘๋Š” ๊ฒƒ์ด์—ˆ์œผ๋ฉฐ, ์ •ํ™•ํžˆ๋Š” FTP ์ œ์–ด ์ฑ„๋„์ธ 21๋ฒˆ ํฌํŠธ๋ฅผ ํ†ตํ•ด์„œ ํŒจํ‚ท์„ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ์— ๊ณต์œ ๊ธฐ๊ฐ€ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ๋ฅผ ์•Œ์•„๋‚ด ์™ธ๋ถ€์—์„œ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ์˜คํ”ˆ์„ ํ•ด์ค€๋‹ค. 

 

ipTIMe ๊ณต์œ ๊ธธ๋กœ ์ง์ ‘ ํ™•์ธํ•ด ๋ณธ๋‹ค. 

๋‹ค์Œ๊ณผ ๊ฐ™์ด FTP ์ œ์–ด ์ฑ„๋„ ํฌํŠธ๋ฅผ 1121๋กœ ์„ค์ • ํ•ด์ค€๋‹ค. 

 

๋‹น์—ฐํžˆ ftp ์„œ๋ฒ„(iis)์˜ ํฌํŠธ๋„ 1121๋กœ ์„ค์ •

 

ftp> open ftp.example.com 1121
setupsockbufsize: rcvbuf_size determined as 131072
setupsockbufsize: sndbuf_size determined as 16384
Connected to ftp.example.com.
220 Microsoft FTP Service

์„ค์ •์„ ๋งˆ์นœ๋’ค ftp ํด๋ผ์ด์–ธํŠธ๋กœ ์—ฐ๊ฒฐ ์š”์ฒญ์„ ํ•˜๋ฉด ์ž˜ ์ ‘์†๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

 

ftp> ls
ftp: setsockopt SO_DEBUG (ignored): Permission denied
---> EPSV
229 Entering Extended Passive Mode (|||2230|)
229 Entering Extended Passive Mode (|||2230|)
ftp: Can't connect to `192.168.0.8:2230': Connection timed out
ftp: setsockopt SO_DEBUG (ignored): Permission denied
---> EPRT |1|192.168.0.8|53741|
421 Service not available, remote server has closed connection.
229 Entering Extended Passive Mode (|||2230|)
ftp>

ํ•˜์ง€๋งŒ ls๋ฅผ ์š”์ฒญํ•˜๋‹ˆ ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ์ฑ„๋„ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์•Œ๋ ค์ฃผ์—ˆ์Œ์—๋„ ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜๊ฐ€ ์—†์œผ๋‹ˆ๊น ์ œ๋Œ€๋กœ ๋œ ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ์ด ์•ˆ๋˜๊ฒŒ ๋œ๋‹ค. 

 

์›์ธ์€ FTP ์„œ๋ฒ„๊ฐ€ ๋น„์ •๊ทœ ํฌํŠธ(1121)๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋งŒ์•ฝ์— ์ •๊ทœ ํฌํŠธ(21)๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” ์ œ๋Œ€๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค. 

 

ipTIME ๊ณต์œ ๊ธฐ์—๋Š” ์ด์™€ ๊ฐ™์ด ๋น„์ •๊ทœ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด์„œ NAT/๋ผ์šฐํ„ฐ ๊ด€๋ฆฌ - ๊ณ ๊ธ‰ NAT ์„ค์ •์— "FTP ๋น„์ •๊ทœ ํฌํŠธ"๋ฅผ ๊ตฌ์„ฑํ•ด ๋‘์—ˆ๋‹ค. 

 

"1121"๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์‹œ ๋™์ผํ•œ ์š”์ฒญ์„ ํ•ด๋ณด๋ฉด ์ด๋ฒˆ์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

ftp> ls
ftp: setsockopt SO_DEBUG (ignored): Permission denied
---> EPSV
229 Entering Extended Passive Mode (|||2416|)
229 Entering Extended Passive Mode (|||2416|)
---> LIST
125 Data connection already open; Transfer starting.
10-12-23  12:08PM                    6 test.txt
226 Transfer complete.
ftp>

 

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ KT GiGA WiFi home ๊ณต์œ ๊ธฐ์—๋„ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด์—ˆ๋‹ค. ์žฅ์น˜์„ค์ • - ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ - ALG ์„ค์ •์œผ๋กœ ๊ฐ€๋ฉด FTP ๋น„์ •๊ทœ ํฌํŠธ ์ง€์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

728x90
๋ฐ˜์‘ํ˜•