그 외 ... (정리해야함)/꿀팁

FTP 동작 방식 및 Passive Mode Data Port 연결 확인

깡냉쓰 2023. 11. 9. 09:24
728x90
반응형

FTP

File Transfer Protocol

  • FTP는 Active / Passive 2개의 모드가 존재
  • 연결을 제어하는 Command 포트
  • 데이터를 전송하는 Data 포트 존재

Active

  1. 클라이언트에서 21 포트로 접속 후 자신이 사용할 데이터 포트를 서버에 미리 알려줌(1027 포트를 사용하겠다.)
  2. 요청에 응답
  3. 서버는 클라이언트가 알려준 1027 포트로 접속 시도
  4. 요청에 응답

Active 모드는 서버가 클라이언트에 접속을 하기 때문에 클라이언트에 방화벽 정책이 허용되지 않은 상황이라면 FTP 접속이 정상적이지 않음

Passive

  • Passive는 Active 모드의 단점을 해결하기 위한 모드
  • 데이터 포트는 서버 설정에서 변경할 수 있으며, 특별히 지정하지 않는다면 1024 ~ 65535번 중 임의의 포트를 사용하게 됨

  1. 클라이언트에서 21 포트로 접속
  2. 서버에서 데이터 포트로 사용할 포트를 클라이언트에게 알려줌(2024 포트를 사용하겠다.)
  3. 클라이언트는 서버의 2024포트로 접속 시도
  4. 요청에 응답

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
반응형