FTP
FTP 는 컴퓨터끼리 파일을 주고받을 때 쓰는 오래된 약속(프로토콜)이에요. 21번 포트를 쓰고, 아이디·비밀번호와 파일이 암호화 없이 오가요.
목차 보기
FTP 는 컴퓨터끼리 파일을 주고받을 때 쓰는 오래된 약속(프로토콜)이에요. File Transfer Protocol 의 줄임말이고, 1985년 10월 RFC 959로 정리됐어요. 택배에 비유하면 상자를 봉하지 않고 보내는 방식이에요. 받는 곳까지 가는 길에서 누가 들여다보면 안이 다 보여요.
이 글에 나오는 말
- 프로토콜 — 컴퓨터끼리 대화할 때 지키는 순서와 말투의 약속이에요.
- 포트 — 한 서버 안에서 프로그램마다 나눠 쓰는 문 번호예요. FTP 는 21번 문을 써요.
- 평문 — 암호로 바꾸지 않은 그대로의 글자예요.
- 패킷 캡처 — 네트워크로 오가는 데이터 조각을 잡아서 들여다보는 일이에요.
FTP 는 어떻게 파일을 주고받나요?
FTP 는 연결을 두 개 써요. 하나는 명령을 주고받는 연결이고, 하나는 파일이 실제로 지나가는 연결이에요. 명령 연결은 서버의 21번 포트로 들어가요. 데이터 연결의 기본 포트는 20번이에요. 두 번호는 인터넷 번호 관리 기관 IANA 포트 목록에 등록돼 있어요.
명령 연결로는 이런 말이 오가요. USER 로 아이디를, PASS 로 비밀번호를 보내요. STOR 는 파일 올리기, RETR 는 내려받기예요. 서버는 230(로그인 성공), 226(전송 끝) 같은 숫자로 답해요.
액티브와 패시브는 뭐예요?
데이터 연결을 누가 먼저 거느냐의 차이예요. 액티브 모드는 서버가 내 컴퓨터로 연결을 걸어요. 그런데 집이나 회사 공유기가 이런 연결을 막는 경우가 많아요. 패시브 모드는 서버가 "이 포트로 들어와" 하고 알려 주고, 내 쪽에서 연결을 걸어요. 요즘 프로그램은 대부분 패시브를 기본으로 써요. 그래서 FTP 서버는 21번 말고도 패시브용 포트 묶음을 따로 열어야 해요.
FTP·FTPS·SFTP 는 뭐가 달라요?
| FTP | FTPS | SFTP | |
|---|---|---|---|
| 바탕 | FTP 그대로 | FTP + TLS 암호화 | SSH 위에서 도는 별개 프로토콜 |
| 기본 포트 | 21(명령) + 데이터 포트 | 21(명시적) 또는 990(암묵적) + 데이터 포트 | 22 하나 |
| 아이디·비밀번호 | 평문 | 암호화 | 암호화 |
| 파일 내용 | 평문 | 암호화 | 암호화 |
| 표준 문서 | RFC 959 (1985) | RFC 4217 (2005) | SSH 파일 전송 초안(정식 RFC 아님) |
FTPS 는 FTP 에 HTTPS 와 같은 TLS 를 씌운 방식이에요(RFC 4217). SFTP 는 이름만 비슷해요. FTP 와는 뿌리가 다르고 SSH 연결 안에서 움직여요. 자세한 내용은 SFTP 글에 있어요.
정말 비밀번호가 보일까요? 직접 해 봤어요
2026년 10월 29일 밤, 사무실 PC 의 Docker 에서 Ubuntu 24.04 컨테이너 두 개를 띄웠어요. 한 대는 서버(vsftpd 3.0.5), 한 대는 내 컴퓨터 역할이에요. 테스트 계정을 만들고, 짧은 메모 파일을 FTP 로 올렸어요. 그동안 서버 쪽에서 tcpdump 로 21번과 패시브 포트를 잡았어요.
$ curl -T memo.txt "ftp://cg-fs/memo_ftp.txt" --user "demo:비밀번호" $ tcpdump -r ftp.pcap -A | grep -E "USER|PASS|STOR|memo:"
캡처에서 꺼낸 글자는 이랬어요. 비밀번호는 글에서만 가렸어요. 캡처에는 그대로 찍혔어요.
220 (vsFTPd 3.0.5) USER demo PASS ●●●●●●●● ← 실제로는 비밀번호가 그대로 보였어요 230 Login successful. STOR memo_ftp.txt memo: CUSTOMER-LIST-DEMO kim 010-0000-0000 ← 파일 내용도 그대로 226 … ← 전송 끝
같은 파일을 SFTP 로도 올렸어요. 22번 포트 캡처에서 메모 문자열을 찾았더니 0번 나왔어요. 읽을 수 있는 글자는 첫 인사말인 SSH-2.0-OpenSSH_9.6p1 정도였어요. 같은 네트워크 안의 누군가가 엿보면, FTP 는 계정과 파일을 통째로 내준다는 뜻이에요. 이 위험은 RFC 2228 서문에도 적혀 있어요.
자주 하는 오해
"내 PC 와 서버 사이니까 아무도 못 봐요"
데이터는 공유기, 통신사, 카페 와이파이 같은 여러 구간을 지나요. 그중 한 곳만 엿봐도 FTP 계정이 새어 나가요. 공용 와이파이에서는 특히 조심해야 해요.
"21번 포트만 열면 FTP 가 돼요"
패시브 모드는 데이터용 포트를 따로 써요. 21번만 열면 로그인은 되는데 파일 목록이 안 뜨는 일이 흔해요. 서버 설정의 패시브 포트 범위를 방화벽에도 열어야 해요.
"SFTP 는 FTP 에 S 만 붙인 거예요"
SFTP 는 SSH 로 동작해서 서버에 SSH 만 켜져 있으면 바로 써요. FTP 서버 프로그램을 따로 깔 필요가 없어요.
퓨쳐인프라에서는
퓨쳐인프라 가상서버는 기본 방화벽이 무료로 붙어요. 처음에는 모든 포트가 닫혀 있고, 필요한 포트만 직접 열어요. 웹사이트라면 80·443 을 열고, SSH 는 내 IP 에만 여는 식이에요. 파일을 올릴 때는 이미 쓰고 있는 SSH(22번)로 SFTP 를 쓰면 돼요. 포트를 더 열 필요가 없어요.
꼭 FTP 를 써야 하는 옛 프로그램이 있다면 21번과 패시브 포트 범위를 열어야 해요. 이때도 내 IP 에만 열어 두는 편이 안전해요. 서버는 만들면 약 40초 뒤에 주소와 HTTPS 가 같이 준비돼요(2026년 10월 29일 가상서버 안내 기준).
자주 묻는 질문
FTP 접속 프로그램은 뭘 써요?
파일질라(FileZilla) 같은 무료 프로그램을 많이 써요. 서버 주소, 아이디, 비밀번호, 포트를 넣고 접속해요. 같은 프로그램에서 프로토콜만 SFTP 로 바꾸면 22번으로 암호화해서 접속해요.
FTP 기본 포트는 몇 번이에요?
명령용 21번이에요. 데이터는 액티브 모드 기본이 20번이고, 패시브 모드는 서버가 정한 포트 범위를 써요.
지금도 FTP 를 써도 되나요?
누구나 받아 가도 되는 공개 파일 배포 정도라면 괜찮아요. 아이디·비밀번호를 넣는 접속이라면 SFTP 나 FTPS 를 쓰세요.
웹 브라우저로 FTP 에 들어갈 수 있어요?
예전에는 주소창에 ftp:// 를 넣으면 열렸어요. 지금 주요 브라우저는 FTP 지원을 뺐어요. 전용 프로그램이나 명령어를 쓰세요.
관련 용어
SFTP · SSH · 포트 · 방화벽 · TLS · HTTPS · 호스팅이란
- 작성: 서순명(솔리드그루 이사 · 퓨쳐인프라 — 국내 IDC 에서 클라우드 서버·앱 호스팅·AI API 를 운영) · 작성일 2026년 10월 29일
- 운영사: 솔리드그루 · 사업자등록번호 875-44-00335 · 서울특별시 구로구 디지털로29길 38, 7층 707호 · 전화 02-6933-6229 · support@futureinfra.ai · 고객센터 · 이용약관
- 한계: 실습은 사무실 PC(서울)의 Docker Desktop 에서 Ubuntu 24.04 컨테이너 두 대를 같은 가상 네트워크에 두고 했어요. 인터넷을 거친 실험은 아니에요. 테스트 계정과 즉석으로 만든 비밀번호를 썼고, 글에서는 비밀번호를 가렸어요.
- 이해관계: 퓨쳐인프라 가상서버를 운영하는 회사가 쓴 글이고, 끝에 자사 서버 안내가 있어요. 글에 나온 FTP 프로그램 회사와는 관계가 없어요.
연관 서비스
많이 본 글
-
블로그
무료 도메인 사이트 추천 2026 — 내도메인.한국·DuckDNS 발급 방법
내도메인.한국·DuckDNS 처럼 계속 무료인 주소 10곳을 11월 3일 서울에서 다시 재고(6곳 6ms 안), 발급 순서·구글·네이버 무료 주소·'첫해 무료'의 2년째 값까지 정리했어요. -
블로그
도메인 구매 사이트 추천 2026 — 가비아·후이즈 등 15곳 갱신·이전비 비교
같은 .co.kr 도 등록업체 15곳의 3년 값이 3.8만~8.6만 원이에요(11월 3일 KRNIC 표). 갱신가·이전비·해외 업체 조건, 11월 인상 뒤 가비아 실제 화면, 구매처 확인과 기관이전까지 정리했어요. -
블로그
클로드 MCP·Gemini MCP 연동 방법 2026, MCP 서버 9곳
클로드 MCP(데스크톱·Claude Code)와 Gemini MCP 연동(Gemini CLI·안티그래비티·Gemini 앱·API) 등 9곳의 MCP 서버 연결법을 공식 문서로 정리했어요. 원격 57ms 실측과 오류 해결까지. -
블로그
Gemini 3.9 Flash 나왔나요? 지금 최신은 3.8 Flash — 3.7과 직접 잰 속도·비용
2026년 9월 22일 기준 Gemini 3.9 Flash는 미출시입니다. 최신 3.8 Flash의 사양·가격(2027년 2배 인상)과, 3.7 Flash와 같은 과제로 직접 잰 속도·비용·JSON 형식 준수 차이를 정리했습니다. -
블로그
서버비 한 달 얼마? 방문자 10만 명도 월 3만 2천 원(2026 계산)
월 방문자 1천·1만 명은 1만 4천 원, 10만 명은 3만 2천 원이에요. 요금제별 트래픽 기본 제공량까지 넣어 다시 계산하고 AWS·카페24·가비아·네이버클라우드 값과 숨은 비용을 비교했어요(2026-10-26 확인).
댓글 0
로그인하면 댓글을 남길 수 있습니다.