본문 바로가기

Network

FTP(File Transfer Protocol)

일반인은 잘 모르는 FTP에 대한 사실

FTP는 2개, 혹은 2개 이상의 연결을 한다.

하나는 명령어 전송을 위해

또 다른 포트는 데이터 연결을 위해 사용한다.

 

ACTIVE or PASSIVE 모드

기본적으로 FTP는 ACTIVE 모드로 접속을 한다.

 

문제는 ACTIVE 모드일 경우에 데이터 전송용 포트(기본: 20) 참고로, 명령어 전송 포트가 21임)를 서버가 클라이언트에게 요청을 하게 된다는 것이다. 따라서 인터넷 같은 환경에서 클라이언트가 공인 IP가 아닌 이상 서버->클라이언트 접속이 안될 가능성이 있다.

 

이를 보완하기 위한 방법이 PASSIVE 모드. 데이터 전송도 클라이언트->서버가 하는 것이고 1024 이상의 포트를 이용하게 된다. 따라서 서버가 별도의 포트를 listen해야 하고, 클라이언트에게 어디포트로 접속하라고 알려주어야 할 필요가 있다.

 

웹 브라우저의 경우 이 PASSIVE 모드를 이용한다(서버가 인터넷 상에 있을 가능성이 높기 때문)

PASSIVE 모드로 들어가는 명령어는 PASV이다.

  1. PASV
  2. 227 Entering Passive Mode (10,16,11,84,8,89). => 2137
  3. PASV
  4. 227 Entering Passive Mode (10,16,11,84,8,90). => 2138
  5. PASV
  6. 227 Entering Passive Mode (10,16,11,84,8,91). => 2139

10,16,11,84,8,89 => 코마로 구분되어 있는데 각각 하나의 WORD를 십진수로 나타낸다.

처음 4워드는 IP를, 뒤의 2워드는 포트를 의미한다.

10,16,11,84,8,89 => 10.16.11.84:2137 (8,89 => 0x08,0x59 = 0x0859 = 2137)

8, 89 = 0x08, 0x59 => 0x0859 = 2137

8, 90 = 0x08, 0x5A => 0x085A = 2138

8, 91 = 0x08, 0x5B => 0x085B = 2139

 


'Network' 카테고리의 다른 글

robots.txt과 웹 로봇의 크롤링  (0) 2012.09.21
HTTP(Hypertext Transfer Protocol)  (0) 2012.09.21
DNS(Domain Name System)  (0) 2012.09.21
네이트온 - 프로토콜  (0) 2012.09.21
Active Directory(액티브 디렉터리)  (0) 2012.09.21