远程FTP服务器是如何建立的
设置FTP服务器
位于Serv-U 控制窗口中的“SETUP”菜单中的第一项“FTP-SERVER”用来对FTP 服务器进行总体上的设置。在选择之后出现的窗口中的第一项“FTP PORT NUMBER”用来设置FTP服务器使用的端口号,FTP服务器将会通过该端口收听所有来访用户的信息。一般情况下,FTP 服务器的默认端口号为21,但是用户可以根据自己的情况自由的进行更改,只要能够保证所采用的端口号与其它网络应用不冲突即可。这里需要说明的一点是,使用用户自己选择的服务器端口可以起到很好的安全防范作用,这时,只有用户自己和其他知道该端口号的用户才能够成功的实现与服务器的连接。因此,建议用户在设置F TP 服务器的时候使用自己选定的端口,而不要只是简单的使用默认值。
随后用户需要设置服务器所能提供的最大速度。一般情况下,用户可以将这项空出,那么服务器将会利用所有可能的带宽为客户提供服务。能够为用户提供最大的访问速度当然很好,但是过多的F TP 用户可能会蚕食掉一切可能的带宽,从而使其它的网络应用几乎不可能实现。因此,合理的控制FTP 服务器所能够占用的最大带宽还是很重要的。
下一项是设置服务器允许的最大用户访问量。在此,用户可以限制同一时间内访问FTP 服务器的最大人数。如果把该项设为0,那么FTP 服务器将会拒绝任何用户访问要求;如果将该项空出,那么Serv-U 将不会对访问人数进行控制,直到耗尽所有的系统资源。如果用户希望自己的FTP 服务器能够保持正常运转的话,那么最好对来访的用户数量进行合理的限制。一般情况下,即使老式的486 机器,在使用Serv-U之后,也能够在同一时间内为20多名用户提供访问支持。
在此之后的一系列复选项中的第一项为“启动安全功能”。如果用户没有选择该项,那么任何人通过网络都可以直接进入FTP 服务器,对服务器中的任何文件进行随意地复制,改动,甚至删除。除了那些拥有小范围内的个人网络,不希望每次登录都重复输入用户名、密码等烦杂手续的人之外,用户一定要确保已经选中了该选项,即启动了服务器的安全防范功能。
下一项“ENCRYPT PASSWORDS”在默认情况下也被自动选中。这样,Serv-U 将会使用与UNIX 操作系统相同的加密机制加密并保存用户的密码。如果用户不选择对密码进行加密,那么所有用户输入的口令将会以明文的方式保存在位于S erv-U 安装目录下的Serv-Uini 文件中。
随后一项用来设定是否需要匿名访问用户输入密码。默认情况下,该项为空白,这样那些使用匿名帐号访问FTP 服务器的用户将不被要求输入口令。需要注意的是这里对匿名用户密码的检测非常简单,只要匿名用户输入符合邮件地址格式的任意字符串即可,S erv-U 不会进一步的判断用户输入的邮件地址是否真正存在。
下一项为预防反超时措施。如果用户选择了该选项,Serv-U 将会采用新的记时方式,那些希望通过定期向服务器发送命令来防止出现超时操作的用户将不再得逞。
随后的选项被用来设定是否删除没有完整上传的文件,如果用户不使用该删除功能,那么当有用户在向FTP 服务器上传文件的过程中出现错误而没有实现文件的完整上传时,Serv-U 将会在硬盘上保留已上传的内容,从而实现上传文件的断点续传。
下面我们要讨论的是跨FTP 攻击。通常状况下,当使用FTP 协议进行文件的传输时,客户端首先向FTP 服务器发出一个“PORT”命令,该命令中包含该用户的IP地址和将被用来进行数据传输的端口号。服务器在收到该命令后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但是,当客户端是一名恶意用户时,可能会通过在P ORT 命令中加入特定的地址信息,使FTP 服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP 服务器有权访问该机器的话,那么恶意用户通过FTP 服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是我们所提到的跨服务器攻击。为了防止上述情况的发生,用户可以选择“防止跨F TP 服务器攻击”的选项,这样Serv-U在与任何来访用户建立连接之前,首先要核实该用户提供的地址信息是否为其真实地址。任何事情都是两方面的。我们已经知道通过使用S erv-U 可以防止发生跨FTP服务器的攻击,但是,同时我们也放弃了在FTP服务器和FTP 服务器之间实现数据传输的功能。这是因为Serv-U 只会与那些所提供的地址与地址提供者的实际地址相符的用户建立连接,用户将不能远程控制在两台不同的FTP 服务器之间进行文件传输。
最后的两个选项用来限制用户在FTP 服务器上的最大停留时间,以及规定服务器中文件和目录名的大小写。
该窗口中的其它相关选项我们将会在稍后进行详细介绍。
用户帐号管理
用户使用FTP 服务器的一个最基本的任务就是添加和管理用户信息。通过选择“SETUP”菜单中的“USERS”打开Serv-U 的用户管理窗口。该窗口可以分为左右两大部分。其中左边的窗口用来显示目前所有已经注册的FTP服务器的用户。任意选中其中一个用户,其详细的配置信息将会相应的显示在窗口的右边。如果是首次启动S erv-U,那么仅会显示一个名为“DEFAULT”的系统默认帐号。
下面详细介绍一下建立新用户帐号的全过程.
首先单击窗口最右边的“NEW”按钮,在随后的弹出窗口中输入需要建立的用户名。这时,输入的用户名就会出现在窗口右边的用户名一栏中。用户还可以在该栏中对所建立的帐号名称进行修改。
随后用户可以输入该帐号将要归属的用户组的组名或建立一个新的组。所谓组是人们为了便于管理数量庞大的用户群而推出的概念。我们可以把众多的单个用户划分到不同的组里进行统一的管理。因为属于同一个组的用户都具有一些共同的属性,例如用户密码,根目录等,所以用户只需要对个别具有特殊属性的帐号进行个别设置即可,这样就极大的简化了对用户帐号的管理和维护工作。需要注意的一点是,“A nonymous”这个特殊的用户帐号不属于任何一个用户组。
FTP命令大全
FTP:文件传输协议。先说说他的功能吧,主要就是从运行FTP服务器的计算机传输文件。可以交互使用。这里要注意,只有安装了tcp/ip协议的机器才能使用ftp命令。
命令格式:ftp [-v][-d][-i][-n][-g][-s:filename][-a][-w:windowsize][computer]
说说他们的含义吧。
-v 不显示远程服务器响应
-n 禁止第一次连接的时候自动登陆
-i 在多个文件传输期间关闭交互提示
-d 允许调试、显示客户机和服务器之间传递的全部ftp命令
-g 不允许使用文件名通配符,文件名通配符的意思是说允许在本地文件以及路径名中使用通配字符
-s:filename 指定包含ftp命令的文本文件。在ftp命令启动后将自动运行这些命令。在加的参数里不能有空格。
-a 绑定数据连接时,使用任何的本地端口
-w:windowsize 忽略默认的4096传输缓冲区
computer 指定要连接的远程计算机的ip地址
呵呵,理解了上面的,就说说一些具体的命令,我个人觉得虽然现在工具用起来很方便了,但懂这些命令在很多地方还是很有用的,就像现在nt下的命令提示符
1)
说明:显示ftp命令的说明。后面可以加参数,是加需要解释的命令名,不加则显示包含所有命令列表。
2) append
说明:使用当前文件类型设置,将本地文件附加到远程计算机中。大概格式是
append local-file [remote-file] 其中local-file是说指定要添加的本地文件。
remote-file是说指定要将local-file附加到远程计算机文件,要是省了这个,则是使用本地文件名做远程文件名。
3)ascii
说明:默认情况下,将文件传输类型设置为ASCII
4)bell
说明:响玲开关,意思是文件传输完成后是否有玲声提醒。默认是关闭的。
5)binary
说明:将文件传输类型设置为二进制。
6)bye
说明:结束和远程计算机的ftp会话,也就是安全断开,退出ftp
7)cd
说明:更改远程计算机上的工作目录。如cd data 其中data是要进入的远程计算机的目录。
8)close
说明:结束与远程服务器的ftp会话,并返回命令解释程序。
9)dir
说明:显示远程的文件以及子目录列表。如dir data local-file
其中data是指定要查看列表的目录,没指定的话就是当前目录。local-file是指定要保存列表的本地文件,不指定的话就在屏幕输出。
10)debug
说明:调试开关,打开的时候打印每个发送到远程计算机的命令,命令前有——>
默认情况是关闭的。
11)disconnnect
说明:与远程计算机断开连接,但还保持着ftp命令提示符。
12)get
说明:使用当前文件传输类型,把远程的文件拷贝到本地计算机上。
如get remote-file local-file
remote-file是指定要复制的文件,local-file是指定本地计算机上的文件名,
没有指定的话则个remote-file同名。
13)glob
说明:文件名通配开关
14)hash
说明:转换每个传输数据快的散列标记打印(#)数据快的大小是2048字节。默认情况下是关闭的,
15)help
说明:显示ftp命令的解释,如help commmand 其中command就是你要解释的命令,如果不加command这个参数的话就会显示所有命令的列表
16)!
说明:这个命令差点忘记了:)功能是在本地计算机上运行指定命令。如! command 其中command就是你要运行的命令,如果不加command这个参数的话,则显示本地命令提示, 这时你输入exit命令就能返回到ftp了。
17)lcd
说明:更改本地计算机的本地目录,在默认的时候是启动ftp的目录这个不要觉得没用啊,在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗:)
如lcd [directory] 其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录
18)literal
说明:向远程ftp服务器发送协商参数,报告
如lireral argument [] 其中argument是指定要发送给远程服务器的协商参数。
19)ls
说明:显示远程目录的文件和字目录
如ls remote-directory local-file
其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。local-file是指定要保存列表的本地文件不指定的话是在屏幕上输出
20)mdelete
说明:删除远程计算机上的文件如mdelete remote-file
remote-file肯定是要删的文件啊,可以删除多个
21)mdir
说明:显示远程目录的文件和子目录列表,他允许指定多个文件
如mdir remote-file local-file
参数我想大家应该明白什么意思吧不明白就看看前面的类似命令吧
22)mget
说明:使用当前文件传输类型将多个远程文件复制到本地计算机
如mget remote-files
其实remote-files可以指定多个,他就是指定要复制到本地计算机的远程文件
23)mkdir
说明:创建远程目录
如mkdir directory 这个命令和nt下的命令提示符中的md directory一样,不多说了
24)mls
说明:显示远程目录的文件和目录简表
如mls remote-file local-file
其中remote-file这个参数是必须要加的,’’-’’是使用远程计算机的当前工作目录
25)mput
说明:使用当前文件传输类型,将本地文件复制到远程计算机
如mput local-files
26)open
说明:连接到指定ftp服务器上,
如open computer port 其中computer一般是远程计算机的ip地址,port不用说就是指定端口了。
27)prompt
说明:转换提示,在多个文件传输的时候,ftp提示可以有选择的检索或保存文件,如果关闭提示,则mget和mput命令传输所有文件,在默认情况下是打开的
28)put
说明:使用当前文件传输类型将本地文件复制到远程计算机中,
如put local-file remote-file
其中local-file是指定要复制的本地文件,
remote-file是指定要复制的远程计算机上的文件名,不指定的话是和本地计算机上的文件名同名
29)pwd
说明:显示远程呢感计算机上的当前目录
30)quit
说明:结束与远程计算机的ftp会话,并退出ftp
31)quote
说明:向远程ftp服务器发送协议,报告期待ftp单码应答,这个命令的功能和literal相同
32)recv
说明:使用当前文件传输类型将远程文件复制到本地计算机,他与get命令作用相同。
33)remotehelp
说明:显示远程命令的帮助这个命令的用法和help,!一样可以参考他的用法
34)rename
说明:更改远程计算机上的文件名。
这个命令和nt的命令提示符的ren一样,如rename filename newfilename
35)rmdir
说明:删除远程目录
这个命令和nt的命令提示符的rm一样,如rmdir directory
36)send
说明:使用当前文件传输类型将本地文件复制到远程计算机send和put命令的功能一样。
如send local-file remote-file
37)status
说明:显示ftp连接和转换的当前状态
38)trace
说明:转换报文跟踪,运行ftp的命令时,trace将显示没个报文的理由。
39)type
说明:设置或显示文件传输类型
如type [type-name]
其中type-name 的意思是文件传输的类型,默认是ASCII,没加这个参数就是显示当前的传输类型
40)user
说明:指定连接到远程计算机的用户
如user user-name [passwd] [account]
其中user-name不用说都是用来登陆计算机的用户名了,
passwd是指定user-name的密码,不指定的话ftp会提示输入密码。
account是指定用来登陆计算机的帐号,如不指定,ftp会提示输入帐号
41)verbose
说明:转换冗余模式。这里如果打开,会显示所有ftp响应,文件传输结束的时候会显示传输的效率和统计信息,默认的情况是打开的
呵呵,命令就介绍这些了,可以自己熟悉一下,其实现在ftp的软件很多,很方便,但你说这些命令没用也是不可能的,就像windows下一样还保留着命令提示符:)_ 特别有些时候ftp软件很多地方做不到的, 什么地方。
打个比方,我看过一种觅名ftp用户得到admin的入侵列子,就的用到他呵呵,这里不多说了,就写到这里了。
FTP(File Transfer Protocol)是文件传输协议的简称。
FTP的作用
正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
FTP工作原理
拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。
简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议)
一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。
与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上载"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上载"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。
使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。
匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。
通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。
值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。
当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。
作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。
匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。
匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。
Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。
大哥,免费空间是指给你WEB和FTP的权限,做网站用,而不是给你整台服务器,远程桌面是对服务器整个的控制,当然不可能给你的,不然权限划分很成问题。。你只能用FTP上传你的网站内容。
如果要想对整个服务器控制,可以使用VPS或者物理服务器。
FTP服务器
简单地说,支持FTP协议的服务器就是FTP服务器。
与大多数Internet服务一样,FTP也是一个客户机/服务器系统。
用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的
命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的
机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
匿名FTP
使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。
匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。
通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。
值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。
当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为
一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的
机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目
录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有
人上传有问题的文件,如带病毒的文件。
FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。
1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。
2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。
5 FTP的工作方式
FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
下面介绍一个这两种方式的工作原理:
Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
简单上传下载实例(//为注释):
先假设有一FTP服务器,FTP服务器:qintithotnet,用户名:username 密码:user1234。在本地电脑D:盘创建一个文件夹"qint"。将要上传的文件复制到d:\qint里。通过FTP命令将文件从本地上传,从服务器下载的步骤如下:
1“开始”-“运行”-输入“FTP”
2open qintithotnet
/这一步可以与第一步合并,在“运行”里直接输入"ftp qintithotnet"。如果你的FTP服务器不是用的21默认端口,假如端口是2121,那么此步的命令应在后面空格加2121,即“open qintithotnet 2121”/
3username
/提示你输入用户名/
4user1234
/提示你输入密码,密码不回显,打完密码后回车即可。如果你的密码输入错误,将不会提示你重新输入,这时你要键入“user”命令,将会出现第三步,你可以重新输入用户名和密码。/
5dir
/你成功登陆后就可以用dir查看命令查看FTP服务器中的文件及目录,用ls命令只可以查看文件。/
6mkdir qint
/在FTP服务器上根目录下建立qint目录。/
7cd qint
/进入目录qint,用“cd 你的目录名”可以进入当前目录的下一级目录,这跟DOS一样。/
8bin
/采用二进制传输。如果你要上传下载,这一步很重要,不先执行这个命令,上传下载会很慢。/
9lcd d:\qint
/定位本地默认文件夹,在前面我事先在D:盘创建的。/
10!dir
/查看本地文件夹中的文件及目录/
11put i001jpg
/将当前目录(d:\qint)中的文件i001jpg上传到FTP服务器默认目录。可以用"mput "将所有文件上传到FTP服务器上。/
12get d123jpg
/将FTP服务器默认目录中的文件d123jpg下载到当前目录下(d:\qint)。可以用"mget "将所有文件下载到d:\qint/
13delete
/删除目录qint中的所有文件。/
14cd
/返回至上一级目录,即根目录。返回上一级目录用“cd ”要注意,中间有空格。返回根目录用“cd \”。/
15mrdir qint
/删除目录qint。删除目录,在此目录下不能有文件及目录,不然将无法删除。/
16bye
/退出FTP服务器/
上传下载时特别要注意服务器及本地电脑的当前目录,文件是从哪里到哪里的问题。查看FTP服务器的当前目录命令为pwd,可以用cd命令定位服务器的目录。可以用lcd命令定位本地电脑的目录。以上实例应用到了采用FTP命令行方式上传下载的最常用命令,你还可以用命令“?”查看更多的命令。
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 FTP的命令行格式为: ftp -v -d -i -n -g (主机名) ,其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用; n etrc文件; -d 使用调试方式; -g 取消全局文件名。 ftp使用的内部命令如下(小括号表示可选项): 1!(cmd(args)):在本地机中执行交互shell,exit回到ftp环境,如:!lszip 2$ macro-ame(args):执行宏定义macro-name 3account(password):提供登录远程系统成功后访问系统资源所需的补充口令。 4append local-file(remote-file):将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 5ascii:使用ascii类型传输方式。 6bell:每个命令执行完毕后计算机响铃一次。 7bin:使用二进制文件传输方式。 8bye:退出ftp会话过程。 9case:在使用mget时,将远程主机文件名中的大写转为小写字母。 10cd remote-dir:进入远程主机目录。 11cdup:进入远程主机目录的父目录。 12chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如: chmod 777 aout 。 13close:中断与远程服务器的ftp会话(与open对应)。 14cr:使用asscii方式传输文件时,将回车换行转换为回行。 15delete remote-file:删除远程主机文件。 16debug(debug-value):设置调试方式,显示发送至远程主机的每条命令,如: deb up 3,若设为0,表示取消debug。 17dir(remote-dir)(local-file):显示远程主机目录,并将结果存入本地文件local-file。 18disconnection:同close。 19form format:将文件传输方式设置为format,缺省为file方式。 20get remote-file(local-file):将远程主机的文件remote-file传至本地硬盘的local-file。 21glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 22hash:每传输1024字节,显示一个hash符号(#)。 23help(cmd):显示ftp内部命令cmd的帮助信息,如:help get。 24idle(seconds):将远程服务器的休眠计时器设为(seconds)秒 25image:设置二进制传输方式(同binary)。 26lcd(dir):将本地工作目录切换至dir。 27ls(remote-dir)(local-file):显示远程目录remote-dir,并存入本地文件local-file。 28macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。 29mdelete(remote-file):删除远程主机文件。 30mdir remote-files local-file:与dir类似,但可指定多个远程文件,如: mdir ozipoutfile 。 31mget remote-files:传输多个远程文件。 32mkdir dir-name:在远程主机中建一目录。 33mls remote-file local-file:同nlist,但可指定多个文件名。 34mode(modename):将文件传输方式设置为modename,缺省为stream方式。 35modtime file-name:显示远程主机文件的最后修改时间。 36mput local-file:将多个文件传输至远程主机。 37newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。 38nlist(remote-dir)(local-file):显示远程主机目录的文件清单,并存入本地硬盘的local-file。 39nmap(inpattern outpattern):设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1$2$3($1,$2)($2,$3),则传输文件a1a2a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。 40ntrans(inchars(outchars)):设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。 41open host(port):建立指定ftp服务器连接,可指定连接端口。 42passive:进入被动传输方式。 43prompt:设置多个文件传输时的交互提示。 44proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 45put local-file(remote-file):将本地文件local-file传送至远程主机。 46pwd:显示远程主机的当前工作目录。 47quit:同bye,退出ftp会话。 48quote arg1,arg2:将参数逐字发至远程ftp服务器,如:quote syst 49recv remote-file(local-file):同get。 50reget remote-file(local-file):类似于get,但若local-file存在,则从上次传输中断处续传。 51rhelp(cmd-name):请求获得远程主机的帮助。 52rstatus(file-name):若未指定文件名,则显示远程主机的状态,否则显示文件状态。 53rename(from)(to):更改远程主机文件名。 54reset:清除回答队列。 55restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。 56rmdir dir-name:删除远程主机目录。 57runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀1,2等。 58send local-file(remote-file):同put。 59sendport:设置PORT命令的使用。 60site arg1,arg2:将参数作为SITE命令逐字发送至远程ftp主机。 61size file-name:显示远程主机文件大小,如:site idle 7200。 62status:显示当前ftp状态。 63struct(struct-name):将文件传输结构设置为struct-name,缺省时使用stream结构。 64sunique:将远程主机文件名存储设置为唯一(与runique对应)。 65system:显示远程主机的操作系统类型。 66tenex:将文件传输类型设置为TENEX机的所需的类型。 67tick:设置传输时的字节计数器。 68trace:设置包跟踪。 69type(type-name):设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。 70umask(newmask):将远程服务器的缺省umask设置为newmask,如:umask 3。 71user user-name(password)(account):向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。 72verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on 73(cmd):同help
0条评论