[OS] Active FTP on Linux

hugingstar·2025년 12월 26일

Operating system

목록 보기
19/34
post-thumbnail

이번 글에서는 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에 대해서 정리한다.

1. 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

0개의 댓글