클라이언트는 서버에게 port번호를 먼저 알려줌


FTP 존재 이유 : 초기에는 언어 체계가 달라 소통이 힘들었음, 서로 소통을 돕기 위해 나온 것
FTP는 정확하게 전송하기 위해 TCP를 사용하고 서버 - 클라이언트 모델을 사용
FTP 클라이언트 프로그램을 이용하여 FTP 서버에 접속 후 파일을 송수신
초기 FTP 세션은 암호화X - 인증 정보가 평문으로 전달 -> 스니핑으로 정보 유출 위험

FTP는 포트를 2개 사용(명령 포트, 데이터 포트)

명령 포트(상시 동작)
21번 고정
USER, PASS, GET 등 FTP 명령을 FTP 서버에 전송하기 위한 포트

데이터 포트(전송할 때만 켜짐)
데이터포트는 전송모드에 따라 변경
Active Mode(서버 -> 클라이언트)는 포트 20번 사용
Passive Mode(클라이언트 -> 서버)는 FTP 서버가 자신의 데이터 포트를 결정하여 FTP 클라이언트에 포트번호를 보내줌

FTP 클라이언트의 데이터 포트는 클라이언트가 결정

명령 채널과 데이터 전송 채널이 독립적으로 동작
클라이언트가 명령 채널을 통해 서버에게 파일을 요구하면 서버는 데이터 전송 채널을 통해 데이터를 전송
서버의 명령 채널은 21번, 데이터 전송은 20번 포트

PI(Protocol Interpreter) : 제어 명령 송/수신하는 역할 (port : 21)
DTP(Data Transmission Process) : 데이터를 송/수신하는 역할 (port : 20)

'이론 > 해킹 및 바이러스' 카테고리의 다른 글

Email(1)  (0) 2023.04.03
FTP(3)  (0) 2023.04.03
FTP(1)  (0) 2023.03.14
인터넷과 웹의 개요(2)  (0) 2023.03.13
인터넷과 웹의 개요(1)  (0) 2023.03.07

+ Recent posts