'ftp'에 해당되는 글 3건

  1. 2011.02.17 ncftp 사용법
  2. 2011.02.17 FTP Passive / Active 모드
  3. 2011.02.17 FTP 명령어

2011. 2. 17. 17:10 Network

ncftp 사용법

ncftp
http://www.ncftp.com/

1] 리모트서버에서 파일 받아오기

ncftpget -u [아이디] -p [패스워드] [리모트서버주소] . [파일경로]


2] 리모트서버로 파일 올리기

ncftpput -u [아이디] -p [패스워드] [리모트서버주소] [저장디렉토리 경로] [로컬파일명]


3] 서브디렉토포함 전송/받기

ncftpget -R -u [아이디] -p [패스워드] [리모트서버주소] . [디렉토리경로]
ncftpput -R -u [아이디] -p [패스워드] [리모트서버주소] [저장디렉토리경로] [로컬디렉토리명]


[참고사항] - 테스트 결과
ncftpget에서 파일경로는 상대경로로 설정한다.
ncftpput에서 저장디렉토리 경로는 상대경로로 설정한다.

ncftpput에서 -R을 사용할경우 [로컬디렉토리명]뒤에 '/'는 붙이지 않는다.


'Network' 카테고리의 다른 글

로직의 네트워크 동기화 처리  (0) 2015.01.28
TCP/IP, UDP 주요 포트  (0) 2013.03.22
ncftp 사용법  (0) 2011.02.17
FTP Passive / Active 모드  (0) 2011.02.17
FTP 명령어  (0) 2011.02.17
[UDP] 홀 펀칭 (Hole Punching)  (0) 2009.11.19
Posted by 엘키 엘키
 TAG ftp, ncftp

댓글을 달아 주세요

FTP Passive mode

FTP 서버의 Passive 모드는 명령어 연결(Control connection)과 데이터 연결(Data Connection)을 분리해서 접속하는 방식이다.

Active 모드


Active 모드는 클라이언트가 보내중 정보를 기준으로 서버에서 클라이언트의 Data 포트에 접속을 시도한 후 클라이언트의 요청에 따라 데이터를 전송하는 방식이다.
하지만 Ip 공유기등 사설 IP에서 접속을 시도할 경우 클라이언트의 Data 포트가 막힐 가능성이 있기 때문에 500 Illegal PORT command 와 같은 오류를 출력할 수 있다.
즉 명령은 전달이 되었지만 실제적으로 전송을 담당하는 데이터 포트가 막혀서 데이터를 전송 못할 가능성이 있다.

연결 과정
1. FTP 서버 IP xxx.xxx.xxx.xxx 포트 21 번으로 접속
2. FTP 서버의 21 포트 -> 클라이언트 1023(n) 이상의 포트 (서버에서 클라이언트의 Command 포트로 응답)
3. FTP 서버의 20번 포트 -> 클라이언트 n+1 번 포트 (서버에서 클라이언트의 data포트로 접속)
4. FTP 서버의 20번 포트 <- 클라이언트 n+1 번 포트 (클라이언트에서 서버의 data포트로 응답)

사용자 삽입 이미지

*실제로 포트 번호는 정해진것이 아닌 1023포트 이상에서 서버나 클라이언트가 정함

연결 과정에 있어서 클라이언트는 서버에 접속할때 PORT xxx,xxx,xxx,xxx,yy,nn 이런식의 메세지를 전달한다. 여기서 xxx 는 IP Address를 나타내고 포트는 마지막 부분
yy,nn 부분이다 포트번호는 (yy * 256) + nn 으로 결정이 되어 클라이언트의 포트를 서버에알려준다.

Passive 모드


Passive 모드는 데이터 포트와 명령포트 전부 클라이언트에서 서버로 연결을 하는 방식이다. 즉 클라이언트의 공유기의 간섭없이 서버와의 통신이 가능하다.
하지만 클라이언트에서 접속하는 데 있어서 열어둔 포트가 서버의 방화벽에서 막혀 있지 않아야 한다.

연결과정
1. FTP 서버 IP xxx.xxx.xxx.xxx 포트 21번에 접속
2. FTP 서버의 21포트 -> 클라이언트 1023(n) 이상의 포트(서버에서 클라이언트의 Command 포트로 응답)
3. FTP 서버의 Passive 설정된 범위의 포트 -> 클라이언트 n+1 포트(클라이언트에서 접속)
4. FTP 서버의 Passive 설정된 범위의 포트 -> 클라이언트 n+1 포트(클라이언트에서의 데이터 전송)

사용자 삽입 이미지

포트의 범위는 서버의 서비스에 간섭이 없는 범위내에서 적당히 설정한다. 여기서 적당히는 클라이언트의 접속량에 따라 다르다. 또 웹 서비스의 경우 8080포트 등으로 운영이 될 수 있고
또 IRC 나 기타 서비스의 간섭이 없는 범위내에서 포트를 설정해야 한다. 보통 1000~2000 사이의 범위를 정해서 포트를 열어둔다.

'Network' 카테고리의 다른 글

TCP/IP, UDP 주요 포트  (0) 2013.03.22
ncftp 사용법  (0) 2011.02.17
FTP Passive / Active 모드  (0) 2011.02.17
FTP 명령어  (0) 2011.02.17
[UDP] 홀 펀칭 (Hole Punching)  (0) 2009.11.19
[UDP] Reliable UDP  (0) 2009.11.06
Posted by 엘키 엘키

댓글을 달아 주세요

2011. 2. 17. 12:11 Network

FTP 명령어

1. FTP 서버에 접속하기
○ 방법 1 : ftp (도메인 네임) 혹은 (IP)를 입력한다.
Ex) ftp ftp1.netscape.com
○ 방법 2 : ftp 후에 프롬프트가 “ftp>”로 뜨면 “open (도메인 네임) 혹은 (IP주소)”
를 입력한다.
Ex) open ftp1.netscape.com
○ 프롬프트가 “ftp>”인 상태에서 여러 가지 명령을 입력할 수 있다.

2. 디렉토리(Directory) 보기와 바꾸기
○ FTP 서버에서 자료는 디렉토리 구조에 따라서 정리되어 있다. 따라서 사용자의
컴퓨터에서처럼 디렉토리의 내용을 보거나 원하는 디렉토리로 바꾸는 등의 작업이
필요하다. 이 작업들은 “ftp>” 프롬프트 상태에서 “ls”명령어로 확인하고, ”cd” 명령
어를 사용하여 바꿀 수 있다.
○ ls : list라는 의미로 FTP서버의 디렉토리 구조를 보여 준다.
Ex) ls -al (list all)
○ cd (디렉토리) : Change Directory의 약자로 원하는 디렉토리로 이동한다.
Ex) cd hnc

3. 전송 모드
○ FTP에는 아스키(ASCII)와 이진(Binary)라는 두 가지 전송 모드가 있다.
○ ASCII : 일반적인 텍스트 문서 전송
○ BINARY : 그림이나 실행파일 등 모든 형식 파일 지원
○ 모드 전환
: ascii : ASCII 전송 모드로 바뀜
: bin : 이진 모드로 바뀜. 일반적으로 이진 모드를 사용하는 것이 편리하다.

4. 파일 받기
파일 받기 명령은 get과 mget이 있다.
○ get 파일명 Ex) get test.doc
: 파일이름으로 지정된 파일을 전송 받으므로 정확한 이름(Full Name)을 저정한다.
○ mget 파일명 Ex) mget *.doc
: Multiple get의 뜻을 가지고 있으며 여러 개의 파일을 동시에 전송받을 때 사용한
다.
명령어. 파일이름 부분에서는 ‘*’, ’?’과 같은 만능문자(Wild Card)도 사용할 수 있
다.

5. 파일 보내기
○ 파일을 보내는 경우에는 받는 경우와 달리 계정이 필요한 경우가 많다. 일반적
으로 anonymous 계정은 특정한 디렉토리를 제외하고는 쓸 수가 없으며 이는 바이
러스 등의 침입을 막기위한 것이다. 파일을 전송할 때에는 put과 mput명령어를 사
용한다.
○ put 파일명 Ex) put test.doc
: 파일이름으로 지정된 파일을 전송하므로 정확한 이름(Full Name)을 입력한다.
< mput 파일명 Ex) mput *.doc
: Multipe put의 뜻을 가지고 있으며 여러 개의 파일을 동시에 전송할 때 사용하는
명령어이다. Mget처럼 파일이름 부분에서 ‘*’,’?’ 과 같은 만능문자 사용도 가능하
다.

6.도스 FTP명령어
○ ftp cim ⇒ k8317610 ⇒ 4751 ⇒ ftp> ⇒ ls -l ⇒ bin, asc ⇒ get 가져오기 ⇒
hash(파일전송 보여주기) ⇒ !dir a:( a드라이브 보기) ⇒ put a:money.html

--------------------------------------------------------------------------
quote : ftp 고유 명령어를 입력하기 위한 전치어
--------------------------------------------------------------------------
open(주소 또는 도메인) → ftp 서버에 연결
close : 해당ftp 접속종료
bye : ftp 프로그램 종료
ls : list, 목록보기
cd(디렉토리명) → 디렉토리 바꾸기
ascii : 텍스트 파일 전송모드 (자료를 내려받거나 올리기 이전에 작동시켜야 한다)
bin : 이진파일 전송 모드 (자료를 내려받거나 올리기 이전에 작동시켜야 한다)
get 파일명 : 하나의 파일 내려받기
mget 파일명 : 여러 개의 파일 내려받기, wildcard 문자 사용가능
put 파일명 : 하나의 파일 올리기
mput 파일명 : 여러 개의 파일 올리기, wildcard 문자 사용가능
pwd : 현재 경로보기
hash : 파일전송과정 보여주기(버터단위 ‘#” 표시 되며 자료올리거나 받기전에 명
령어를 줘야 한다)
? : 도움말
rstatus : remote 시스템의 상황 표시
status : 현재 연결된 ftp 세션 가지 모드에 대한 설정을 보여준다
dir : remote 시스템의 디렉토리 내용을 디스플레이
--------------------------------------------------------------------------

ftp> quit or bye or close
:ftp를 종료시킨다

ftp> get
:다른 사이트에 있는 파일을 현재 로그인된 ftp 사이트로 복사
Ex) ftp> get 다른사이트의파일명 현재사이트로복사될파일명
ps) → ftp>reget remote_file [local_file] local 디렉토리에 같은 이름의 파일이 있
으면 부분적으로 전송된 파일로 간주되어 이어받기

ftp>put
: 현재 로그인된 ftp 사이트의 파일을 다른 ftp사이트로 복사할 때

ftp>cd
: 상대방 사이트의 디렉토리를 이동시킬 때
Ex) ftp>cd 상대방사이트의 절대경로명이나 상대의 패스

ftp>lcd
: ftp하에서 현재로그인한 디렉토리를 이동시킬 때 사용
Ex)lcd 현재사이트의 절대경로명이나 상대경로명

ftp>type
: 파일을 전송하기전 전송하는 데이터의 단위를 선택하는 것으로 binary
와 문자(ASCII) 두 가지 방법으로 나뉜다. Binary일 경우는 전송단위가 2진법으로
실행파일이나 압축파일의 경우 사용되고 보통문자일경우는 ASCII로 전송한다
Ex) ftp>type binary , ftp>type ascii

ftp>mget
: 상대방 ftp 사이트에 있는 특정 디렉토리에서 여러 개의 파일을 동시에 가져오고
자 할 때 사용하는 것으로 파일명을 하나하나 입력할 필요가 없을 때 사용. 파일의
전송중 user에게 전송여부 확인메세지가 나타나는데 y 또는 n(no)를 응답
Ex) ftp>mget parameter
parametet -> 메타문자(혹은 wildcard문자)를 사용한 파일명으로 이들 문자는 특
정 문자열이 공통으로 들어갈 부분만 명시하고 나머지는 아스티링(astrik)를 처리함
으로써 같은 문자열을 찾아내기 위한 방법으로 사용한다. 즉 파일명이 cest, test1,
est, testtest, esttt는 *est*로 표시될수 있다.

ftp>mput
: mget의 반대로 현재의 로그인된 사이트에서 다른 사이트로 파일을 전송하고자 할
때 메타문자를 이용하여 여러 개의 파일을 전송할 수있다. 파일의 전송중 사용자에
게 전송여부를 확인하는 메시지가 나타나는데 전송여부에 따라 y 또는 n으로 응답
Ex) ftp>mput parameter
parameter -> 메타문자(wildcard문자)를 사용한 파일명

ftp>prompt
: 앞의 mget나 mput는 사용자로하여금 전송여부를 시스템이 확인하는데 이때 대량
의 파일을 주고받을 때 사용자는 일일이 이를 y나 n로 응답하는 불편함이 있다. 응
답을 주지않고 무조건 실행하려할 때 쓰이는 명령어
Ex) ftp>prompt parameter
parameter -> y일 경우는 응답에 따라 실행하라는 의미, n 일 경우 무조건 실행하라
는 뜻. 본래 prompt는 y 값을 가진다. ?pr 이라고 해도 됨

ftp>ls
: 현재 디렉토리의 파일 확인
Ex)ftp>ls parameter
parameter 에 ?l 을 주면 각 파일에 대해 파일명과 함께 부수적인 정보를 나열
parameter에 ?al을 주면 파일인지 디렉토리 인지의 여부 및 파일의 제반특성, 크기
등을 보여준다

ftp>pwd
: 현재 위치를 알아보는 명령어

ftp>mkdir
: 특정 디렉토리를 만드는 명령어, Ex) mkdir 디렉토리명

ftp>rmdir
: 특정 디렉토리를 제거하는 명령어, Ex)rmdir 디렉토리명

ftp>verbose -> ver 라고도 함
: ftp명령어 수행중 전송중에 발생하는 정보를 화면에
보여줄 것인지에 대한 여부를 결정하는 명령어(시간과 파일사이즈)
Ex) ftp>verbose parameter
parameter -> on 또는 off 로 on일 경우에 화면에 보여주고 off일 경우는
보여주지 않는다.

ftp> delete
: 파일을 지우는 명령어, ftp>delete 파일명

ftp>user
: 현재 ftp 사이트에서 다른 사용자명으로 전환하고자 할 때 사용. 동일 사이트의 다
른 계정으로 옮기고자 할 때 사용
Ex) ftp>user parameter
parameter -> 현재 사이트의 다른 계정의 사용자명

ftp>open
: 일반사용자가 ftp 명령어를 입력하고 return키를 누른다음 ftp>라는 프롬프트에서
도 연결시키는 경우가 있을수 있는데 이때 open 이라는 명령어를 사용
Ex) ftp>open parameter
parameter -> 호스트명, 호스트명.도메인명, IP Address

ftp> close
: 현재사이트 연결끊고 다른사이트로 연결

ftp>rename
: ftp로 특정 사이트를 연결시킨 후, 사용자가 현재사이트에있는 파일명을 바꿀 때
사용
Ex)rename 현재파일명 바꾼후의파일명

'Network' 카테고리의 다른 글

ncftp 사용법  (0) 2011.02.17
FTP Passive / Active 모드  (0) 2011.02.17
FTP 명령어  (0) 2011.02.17
[UDP] 홀 펀칭 (Hole Punching)  (0) 2009.11.19
[UDP] Reliable UDP  (0) 2009.11.06
서버 테스트 방법  (0) 2008.04.25
Posted by 엘키 엘키
 TAG ftp

댓글을 달아 주세요

이전버튼 1 이전버튼

블로그 이미지
Software Engineer
엘키

공지사항

Yesterday31
Today27
Total1,605,481

달력

 « |  » 2020.8
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

글 보관함