compunik

반응형

FTP 접속 관련 개발을 하거나 테스트를 하다보면 FTP 모드를 알게됩니다. 


FTP 모드에는 2종류가 있습니다. 



  FTP 모드




Active 모드와 Passive 모드로 나뉘는데요


1. Active mode


액티브모드는 클라이언트가 서버의 21번 포트로 접속한후에 클라이언트가 사용할 포트를 서버에 알려줍니다. 


서버는 20번 포트를 사용해서 클라이언트가 알려준 포트로 접속합니다. 





2. Passive 모드


클라이언트가 서버의 지정된 포트로 접속하면 서버가 다시 전송에 사용할 포트를 지정해서 알려줍니다. 


클라이언트는 서버에서 알려준 포트로 다시 서버에 접속합니다. 


패시브모드에서는 20번포트를 사용하는게 아니고 임의로 배정된 포트( 1024 ~ 65535) 를 사용하게 되는겁니다. 



그렇다면 임의로 배정된 포트는 어떻게 알 수 있을까요?










  227 Entering Passive Mode




.



227 Entering Passive Mode (1,220,12,106,100,12) 


이런 응답코드를 받게 되었다면 추측이 좀 되시죠? 


1, 220, 12, 106 이 앞에4개는 바로 서버 아이피 입니다. 그렇다면 뒤에 100, 12는 무엇일까요? 왜 포트를 알려주지 않고 2개의 숫자가 있을까요? 


패시브 모드 포트는 저 두개의 숫자로 계산을 해야합니다. 


끝에 두개의 숫자 중에 첫번째 숫자에 256을 곱하고 두번째 숫자를 더해주면 됩니다. 


즉 100*256 + 12 = 25612 가 패시브 모드로 받은 포트 인것입니다. 





반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band