본문 바로가기
CS/데이터통신 & 네트워크

[네트워크] 파일 전송 프로토콜(FTP)의 개념과 능동/수동모드, 주요 명령어

by jangThang 2023. 8. 14.
반응형

 로컬 환경 혹은 서버 간의 파일 전송은 FTP라는 프로토콜을 통해 이루어집니다. FTP프로토콜에 대해서 알아보고, 주요 명령어도 살펴보겠습니다.

 

[ Contents ]

     

     

    1. FTP (File Transfer Protocol)

    TCP/IP통신에서 서버와 클라이언트 사이의 파일 전송 프토토콜

     

     TCP/IP에서 표준으로 제공하는 파일 전송 프로토콜입니다. 20번 포트로 데이터를 전송하고, 21번 포트로 명령 제어 정보를 전송합니다.

      HTTP와 마찬가지로 평문으로 전송하기 때문에, HTTPS처럼 SFTP(22번 포트)나 FTPS(990번 포트) 방식을 주로 사용합니다. 

     

    2023.08.13 - [CS/보안] - [보안] 웹 통신 보안: SSL, TLS를 이용한 HTTPS 보안 웹 브라우징

     

    [보안] 웹 통신 보안: SSL, TLS를 이용한 HTTPS 보안 웹 브라우징

    웹 통신 보안에는 SSL/TLS 프로토콜이 쓰입니다. 어떤 방식으로 웹페이지 통신을 보호하는지를 알아봅니다. [ Contents ] 1. SSL (Secure Sockets Layer) 클라이언트와 웹 서버 간 데이터를 암호화하여 전송하

    star7sss.tistory.com

     

     

    2. FTP 모드

    1) 능동 모드 (Active Mode)

    서버가 클라이언트에게 데이터 연결을 요청하는 방식 (클라이언트가 포트 번호 지정)

     

     클라이언트는 PORT 명령어를 사용해서 데이터 송수신을 위한 포트를 엽니다. (1024 이상의 포트)

     서버는 클라이언트가 알려준 포트로 데이터 채널을 생성하고 데이터 연결을 요청합니다.

     비록 클라이언트가 데이터 송수신을 위한 포트 번호를 정하긴 했지만, 최종적으로 서버가 클라이언트에게 데이터 연결을 요청합니다. 따라서 클라이언트 방화벽에서 서버로부터 오는 연결을 허용해야만 파일 전송을 할 수 있습니다.

     

     

    2) 수동 모드 (Passive Mode)

    서버가 클라이언트에게 데이터 연결을 요청받는 방식 (서버가 포트 번호 지정)

     

     클라이언트가 PASV 명령어를 사용해서 서버에 데이터 연결을 요청합니다. 서버는 클라이언트에게 데이터 연결을 위한 포트 번호(1024 이상)를 알려주며, 클라이언트는 알려준 포트번호로 연결을 시도하여 데이터 채널을 생성합니다.

     서버에서 포트 번호를 알려주기 때문에, 클라이언트는 해당 대역의 방화벽 포트를 열어두어야 합니다. 

     

    반응형

     

     

    3. 주요 명령어

    1) USER

    서버에 사용자 이름을 제공하여 인증

     

    2) PASS

    사용자 비밀번호를 제공하여 인증

     

    USER myID
    PASS mypassword

     FTP 계정에 로그인할 때 사용하는 명령어입니다.

     

     

    3) PORT

    액티브 모드에서 사용자가 클라이언트에서 데이터 연결

     

    PORT 192,168,1,2,10,32

     능동모드에서는 클라이언트가 데이터 포트를 지정합니다.

     서버에게 사용할 수 있는 포트 번호와 함께, 데이터 연결을 요청하는 명령어입니다.

     

     

    4) PASV

    패시브 모드로 전환해서 클라이언트 측에서 데이터 연결

     

     PASV는 Passive의 약자로, 수동 모드에서 사용합니다. 서버에서 사용할 포트 번호를 지정하므로, PORT와 달리 포트 번호를 지정하지 않습니다. 

     

     

    5) RETR

    서버에서 파일을 다운로드 (클라이언트로 전송)

     

    RETR filename.txt

     RETR는 Retrieve의 약자로, '가져오다'라는 의미입니다. 서버로부터 파일을 다운받을 때 사용하며, 다운받을 파일 경로를 함께 써야 합니다.

     

     

    6) STOR

    클라이언트에서 파일을 서버로 업로드 (서버로 전송)

     

    STOR filename.txt

     STOR는 Store의 약자로, '저장하다'라는 의미입니다. 서버로 파일을 저장할 때 사용하며, 업로드할 파일 경로를 함께 써야 합니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글