
이번 글에서는 Active FTP에 대해서 설명하고 정리한다. FTP (File transfer protocol)은 21/tcp로 연결, 20/tcp로는 데이터 전송을 수행한다. 간단하게 아래와 같이 정리할 수 있다.
Active mode
- Server(20) > Client(Random port)
Passive mode
- Client(Random port) > Server(21)
- Default 포트로 접속한다.
리눅스 1(10.17.0.81)
리눅스 2 FTP 서버(10.17.0.21)
윈도우 10 클라이언트 1(10.17.0.0)



모바에서 리눅스 2대 접속한 화면


이렇게 구성해놓고 Active FTP에 대해서 정리한다.
FTP는 클라이언트에서 수동, 능동형 선택할 수 있다.
알드라이브 고급에 능동형, 비밀번호 입력한다.

윈도우 10 클라이언트에서 와이어 샤크 켠다. 리눅스 FTP 서버의 IP가 어떻게 연결되는지를 확인하기 위해서 ip addr 로 필터링한다.
ip addr == 10.17.0.21
3Way hand shakr에서 서버(21)가 먼저 연결 SYN을 시작한다. SYN-ACK, FIN-ACK(20)
20번을 써서 보낸다.
처음 연결 : 20 > 58838 > 20
데이터 전송 : 21 > 58838 > 21


FTP 보충정리
Client가 결정한다.
Passvie Mode
기본값
Client → Server 연결 시도, Server Port(21)
Active Mode
Server → Client 연결 시도, Server Port(20), Clinet (Port +1)
Clinet가 처음 연결할 때 사용한 Port에서 1을 더해서 보낸다
처음 연결 - Client : 51419 / Server 21
데이터 전송 - Server : 20 / Client : 51419 + 1 = 51420
