C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[15628] Re:헉..보니까..
아무개 [] 861 읽음    2002-02-19 13:34
모라 님이 쓰신 글 :
: ftp 프로그램의 디버그창을 보니까 PORT를 연 후, LIST가 나가네요..
:
: 제쪽에서 같은 포트를 열고 기다려서 받아야 하나..T_T
:
: 아무튼 고맙습니다.
:

도움이 될까 해서요

우선 FTP는 두개 채널로 제어채널이랑 데이터채널이 있는데
이 데이터 채널이 일반모드냐 PASSIVE 모드냐에 따라 차이가 있는데
일반 모드는 FTP서버에서 자신의 컴터로 접속해서 데이터를 날려주는 방식이고
PASSIVE모드는 내가 FTP서버에 새로운 소켓을 생성시켜서 그곳에 새로 접속해서 가져오는 방식입니다

그래서 telnet이난 그런걸로 ftp에 접속해서
pasv라고 치면 아래와 같이 나옴니다 각 FTP서버마다 조금 틀려요
227(또는 230) Entering Passive Mode (211,11,22,33,17,241)
그러면 아이피주소로 보니는 부분에서 211,11,22,33가 서버가 대기하는 아이피주소이고
17,241이 대기 하는 포트인데 이게 사람들 소스마다 마니 차이가 나는데
젤루 간단한 방법은 17 * 256 + 241 = 어떤수(? 계산하기 구차나서리 )
하면 됩니다
그러면 이전에 telnet으로 접속한 세션은 그대로 놔두고
그리고 새로 telnet 211,11,22,33 해당포트(위의 어떤수)로 접속이 가능할거입니다
그다음 처음 21번포트로 접속한 telnet에서 list라는 명령을 쳐보세요
와 telnet 211,11,22,33 해당포트(위의 어떤수) 에서 디렉토리리스트가 쭈루륵~~~

이상 허접한 답변이였습니다


+ -

관련 글 리스트
15603 데이터 값을 받을려면 어떻게 해야 할까요? 모라 847 2002/02/18
15612     Re:[취중답변] FTP는 2개의 소켓 연결을 요구합니다. 김상구.패패루 1016 2002/02/19
15617         헉..보니까.. 모라 882 2002/02/19
15628             Re:헉..보니까.. 아무개 861 2002/02/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.