그 외 ... (정리해야함)/꿀팁
FTP 동작 방식 및 Passive Mode Data Port 연결 확인
깡냉쓰
2023. 11. 9. 09:24
728x90
반응형
FTP
File Transfer Protocol
- FTP는 Active / Passive 2개의 모드가 존재
- 연결을 제어하는 Command 포트
- 데이터를 전송하는 Data 포트 존재
Active
- 클라이언트에서 21 포트로 접속 후 자신이 사용할 데이터 포트를 서버에 미리 알려줌(1027 포트를 사용하겠다.)
- 요청에 응답
- 서버는 클라이언트가 알려준 1027 포트로 접속 시도
- 요청에 응답
Active 모드는 서버가 클라이언트에 접속
을 하기 때문에 클라이언트에 방화벽 정책이 허용되지 않은 상황이라면 FTP 접속이 정상적이지 않음
Passive
- Passive는 Active 모드의 단점을 해결하기 위한 모드
- 데이터 포트는 서버 설정에서 변경할 수 있으며, 특별히 지정하지 않는다면 1024 ~ 65535번 중 임의의 포트를 사용하게 됨
- 클라이언트에서 21 포트로 접속
- 서버에서 데이터 포트로 사용할 포트를 클라이언트에게 알려줌(2024 포트를 사용하겠다.)
- 클라이언트는 서버의 2024포트로 접속 시도
- 요청에 응답
Passive 모드에서 어떤 데이터 포트로 연결되었는지 어떻게 알 수 있을까?
- Passive 모드에서 데이터를 요청하면 콘솔 화면에서
227 Entering Passive Mode (113,52,140,59,39,121)
이란 메시지가 뜬다. - 앞에 4자리가 서버 아이피(113.52.140.39)이며, 뒤의 2자리로 패시브 모드 포트를 계산할 수 있다.
- 끝에 두 숫자 중 첫 번째 숫자에 256을 곱하고 두 번째 숫자를 더하면 데이터 포트가 나온다.
- (39 * 256) + 121 = 10105
FTP 서버를 제공하는 쪽에서는 Passive 모드로 제공을 하는것이 client 측에서도 편함
- Active 모드로 제공한다면, 서버에서는 Outbound/Inbound 방화벽 허용 정책이 모두 필요함
- Passive 모드로 제공한다면, 서버에서 특정 Data Port 범위를 지정 후 Inbound 방화벽 설정만 하면 됨
728x90
반응형