当前位置:首页 » 文件管理 » ftp怎么发送数据

ftp怎么发送数据

发布时间: 2023-05-10 05:43:36

ftp文件传输原理

在遇到了一个wireshark数据包分析题之后,看到了ftp的相关信息,但是没找到相关的flag信息,请教了大佬的解释,才知道ftp文件传输并不是在21端口,ftp文件传输有主动和被动两种方式,

被动(PASV)模式:

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条控制连接。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

服务器控制端口(21),服务器端等待的数据传输端口(动态申请)

ftp服务器动态申请一个端口(一般大于1024)然后告诉客户端,我在这个端口上等待你的连接,客户端收到以后便向服务器的这个端口发起连接,数据连接建立以后,数据传输就可以开始了

端口计算方法:172,16,101,104,7,254,256*7+254=2046

一次完整的被动连接及数据传输过程:

状态: 正在连接 172.16.101.104:21...

状态: 连接建立,等待欢迎消息...

响应: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

响应: 331 User name okay, need password.

命令: PASS ****

响应: 230 User logged in, proceed.

状态: 已连接

状态: 读取目录列表...

命令: PWD

响应: 257 "/" is current directory.

状态: 列出目录成功

状态: 正在连接 172.16.101.104:21...

状态: 连接建立,等待欢迎消息...

响应: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

响应: 331 User name okay, need password.

命令: PASS ****

响应: 230 User logged in, proceed.

状态: 已连接

状态: 开始上传 E:\Downloads\liugong\liugong\404.htm

命令: CWD /

响应: 250 Directory changed to /

命令: TYPE A

响应: 200 Type set to A.

命令: PASV

响应: 227 Entering Passive Mode (172,16,101,104,8,86)

命令: STOR 404.htm

响应: 150 Opening ASCII mode data connection for 404.htm.

响应: 226 Transfer complete.

状态: 文件传输成功,传输了 2,052 字节 (用时1 秒)

状态: 读取目录列表...

命令: TYPE I

响应: 200 Type set to I.

命令: PASV

响应: 227 Entering Passive Mode (172,16,101,104,8,88)

命令: MLSD

响应: 150 Opening BINARY mode data connection for MLSD.

响应: 226 Transfer complete.

状态: 列出目录成功

主动(PORT)模式:

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条控制连接。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

一次完整的主动连接及数据传输过程:

状态: 正在连接 172.16.101.104:21...

状态: 连接建立,等待欢迎消息...

响应: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

响应: 331 User name okay, need password.

命令: PASS ****

响应: 230 User logged in, proceed.

状态: 已连接

状态: 开始上传 E:\Downloads\liugong\liugong\404.htm

命令: CWD /

响应: 250 Directory changed to /

命令: TYPE A

响应: 200 Type set to A.

命令: PORT 172,16,101,104,8,76

响应: 200 PORT Command successful.

命令: STOR 404.htm

响应: 150 Opening ASCII mode data connection for 404.htm.

响应: 226 Transfer complete.

状态: 文件传输成功,传输了 2,052 字节 (用时1 秒)

状态: 读取目录列表...

命令: TYPE I

响应: 200 Type set to I.

命令: PORT 172,16,101,104,8,77

响应: 200 PORT Command successful.

命令: MLSD

响应: 150 Opening BINARY mode data connection for MLSD.

响应: 226 Transfer complete.

状态: 列出目录成功

再回来说这一题,看到

计算端口为 4*256+17=1041

端口过滤,追踪tcp流

⑵ ftp怎样使用

分类: 电脑/网络 >> 互联网
解析:

FTP基础知识

您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章。所谓磨刀不误砍柴功,掌握这些基础知识,会令您事半功倍。否则,很可能折腾几天,最后一事无成。

FTP基础知识

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。

当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。

当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。

从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。

FTP服务器端的注意事项

一、FTP服务器是公网IP,用公网动态域名;或是内网IP,用内网专业版TrueHost

1、服务器如果安装了防火墙,请记住要在防火墙上打开FTP端口(默认是21)。

2、所有FTP服务器软件都支持PORT方式。至于PASV方式,大部分FTP服务器软件都支持。支持PASV方式的FTP服务器软件,也可以设置为只工作在PORT方式上。

3、为了PASV方式能正常工作,需要在FTP服务器软件上为PASV方式指定可用的端口范围(设置方法)。此外,还要在服务器的防火墙上打开这些端口。当客户端以PASV方式连接服务器的时候,服务器就会在这个端口范围里挑选一个端口出来,给客户端连接。

二、FTP服务器是内网IP,用内网动态域名标准版cm*natpro*y

这种情况下,FTP服务器不需要做特殊设置,只要支持PASV方式就可以了。大部分FTP服务器软件都支持PASV方式。

FTP客户端的注意事项

请注意:选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端,而不是在FTP服务器。

一、客户端只有内网IP,没有公网IP

从上面的FTP基础知识可知,如果用PORT方式,因为客户端没有公网IP,FTP将无法连接客户端建立数据链路。因此,在这种情况下,客户端必须要用PASV方式,才能连接FTP服务器。大部分FTP站长发现自己的服务器有人能登录上,有人登录不上,典型的错误原因就是因为客户端没有公网IP,但用了IE作为FTP客户端来登录(IE默认使用PORT方式)。

作为FTP站长,有必要掌握FTP的基础知识,然后指导您的朋友如何正确登录您的FTP。

二、客户端有公网IP,但安装了防火墙

如果用PASV方式登录FTP服务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,没有问题。反过来,如果用PORT方式登录FTP服务器,因为建立数据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用PORT方式登录FTP服务器,请在防火墙上打开 1024以上的高端端口。

三、连接用内网标准版cm*natpro*y搭建的FTP服务,必须要用PASV方式。连接任何公网FTP服务器、或用内网专业版TrueHost搭建的FTP服务器,PORT方式和PASV方式都可以使用。

当然,使用PORT方式的时候,还要满足上面的两个条件。

四、常见的FTP客户端软件PORT方式与PASV方式的切换方法。

大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。

在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。

IE:

工具 -> Inter选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。

CuteFTP:

Edit -> Setting -> Connection -> Firewall -> “PASV Mode”



File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode”

FlashGet:

工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”

FlashFTP:

选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式”



站点管理 -> 对应站点 -> 选项 -> “使用被动模式”



快速连接 -> 切换 -> “使用被动模式”

LeechFTP:

Option -> Firewall -> Do not Use

五、请尽量不要用IE作为FTP客户端

IE只是个很粗糙的FTP客户端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登录FTP的时候,看不到登录信息。在登录出错的时候,无法找到错误的原因。在测试自己的FTP网站的时候,强烈建议不要使用IE。

FTP建站的详细配置过程

请参考这个网页的说明来配置:

使用Serv-U建立FTP网站

高级话题

一、为什么没有公网IP,也能使用PORT方式登录FTP?

NAT 网关的工作方式是在TCP/IP数据包的包头里找局域网的源地址和源端口,替换成网关的地址和端口。对数据包里的内容,是不会改变的。而使用PORT方式登录FTP的时候,IP地址与端口信息是在数据包里面的,而不是在包头。因此,没有公网IP,使用PORT方式是无法从inter上的ftp服务器下载数据的。

但是,极少数的NAT网关也支持PORT方式。这些NAT网关连数据包里面的内容都扫描,扫描到 PORT指令后会替换PORT方式的IP和端口。在这种NAT网关下面,用PORT方式就没问题了。不过,这些网关也只扫描21端口的数据包,如果FTP 服务器不是用默认的21端口,也无法使用PORT方式。

二、内网可以用PORT访问其他FTP,为什么不能用PORT访问自己的TrueHost FTP?

下面要讨论的问题,只是为了说明一些原理,是不影响实际使用的。如果您没有兴趣深究这些原理,不必花时间看。

内网用户通过支持PORT方式的NAT网关,访问自己本机利用TrueHost建立的FTP服务器,FTP命令链路的建立过程如下:

FTP客户端

10.10.0.1

端口*** <==> ISP NAT网关

61.144.1.2

端口**** <==> TH服务器

*.*.*.*

端口21 <==> TH客户端 <==> 用户FTP服务器

10.10.0.1

端口21

FTP客户端通过ISP的NAT网关、科迈TrueHost服务器、TrueHost客户端,连接用户本机的FTP服务器的21端口。

当需要下载数据的时候,FTP客户端通过这条命令链路,向FTP服务器发送PORT命令。假设命令为:

PORT 10,10,0,1,30,4 (即IP=10.10.0.1 端口=30*256+4=7684)

当命令通过ISP的NAT网关的时候,NAT网关判断目的端口是21,并且是PORT命令,于是,修改命令里的IP和端口,替换为自己的IP和端口,比如:

PORT 61,144,1,2,50,6 (即IP=61.144.1.2 端口=50*256+6=12806)

用户的FTP服务器最终收到的是上面这个PORT命令。于是,FTP服务器向这个IP和端口发送连接请求,建立数据链路。

用户FTP服务器

10.10.0.1

端口20 <==> ISP NAT网关

61.144.1.2

端口12806 <==> FTP客户端

10.10.0.1

端口7684

但是,因为NAT网关的公网IP只能接收外来的连接请求。就是说,61.144.1.2:12806只能接收其他公网IP的连接请求,对于从NAT内部(10.10.0.1:20)发起的连接请求,是无法建立连接的。为什么?原因很简单,因为内网IP要访问外网,必须要通过NAT建立映射。于是FTP数据链路无法建立。于是,用户无法在自己的机器上通过21端口访问自己的TrueHost FTP。

我们再来看看,如果FTP端口不是21,比如是22,会发生什么情况呢?在FTP客户端发送PORT命令的时候,NAT网关检测到目标端口是22,因为支持PORT的 NAT网关只监视目的端口是21的数据包,发现目的端口是22的数据包,不做任何处理,完全放行。于是FTP服务器收到的PORT命令依然是PORT 10,10,0,1,30,4。于是FTP服务器向这个IP和端口发送连接请求。

用户FTP服务器

10.10.0.1

端口20 <==> FTP客户端

10.10.0.1

端口7684

这种情况下命令链路就可以建立起来了。而且是等于本机连接本机,速度飞快。

综上所述,内网用户无法用PORT方式通过21端口访问自己的TrueHost FTP服务器。如果FTP端口不是21,则可以访问,而且实际上是本机连接本机。

上面的文字,仅仅是为了说明一些原理,不影响实际使用。如果本机访问本机,还要通过FTP的话,就有画蛇添足之嫌了。

⑶ 怎么通过ftp传送文本文件

不知道你的winsock是udp还是tcpip协议

这里给你一个我写的实例我是用的udp这个发送了一段数据不一定接收就正确所以我做了校验

'以下是接收文件的

OptionExplicit

DimFOKAsBoolean,FsAsLong,FileNumberAsInteger,LenFileAsLong '文件的长度

PrivateSubCommand1_Click()

UnloadMe

EndSub

PrivateSubCommand2_Click()

OnErrorResumeNext

DimAAsString

Me.Caption="开始下载"

IfDir(Text2.Text)<>""AndChV.Value=0Then

IfMsgBox("文件已经存在,覆盖吗?",vbCritical+vbYesNo)=vbYesThenKillText2.TextElseExitSub

Else

KillText2.Text

EndIf

IfText2.Text=""ThenText2.Text=Text1.Text

'Command2.Enabled=False

IfCh.Value=0ThenA="#DOW#"ElseA="#DOV#"

FMain.Wsk.SendDataA&Text1.Text

Wt1

FMain.Wsk.SendData"#DOE#"&Text2.Text

EndSub

PrivateSubForm_Load()

DimAAsString

'FMain.Ts.Enabled=True

OnErrorResumeNext

IfFMain.Cb.Text="本地组"OrFMain.Cb.Text="全部组"Then

Me.Caption="请重选下载用户[“组”不能正确下载]"

Else

Command1.Top=-2000

Winsock0.LocalPort=FilePort

Winsock0.Bind

EndIf

EndSub

PrivateSubForm_Unload(CancelAsInteger)

OnErrorResumeNext

Winsock0.Close

Err.Clear

EndSub

PrivateSubLa_Click()

CDL.FileName=""

CDL.ShowOpen

Text2.Text=CDL.FileName

EndSub

PrivateSubWinsock0_DataArrival(ByValbytesTotalAsLong)

OnErrorResumeNext

DimFileByte()AsByte,AAsString,MendByte()AsByte,IAsLong,JAsLong,TempAsString,WAsString

Winsock0.GetDataFileByte,vbArray+vbByte'接收类型为:字节数组

J=UBound(FileByte)'获得包长

ForI=0To7Step2'合并包头

Temp=Temp&Chr(FileByte(I))

Next

ForI=0To9'文件发送结束标记

A=A&Chr(FileByte(I))

Next

IfA="#ERR#"ThenWinsock0.SendData"no"

IfA="#END#"Then

ForI=0ToLen(FMain.TIn.Text)

IfI<100Then

W=Left(Right(FMain.TIn.Text,I),1)

IfW="!"Then

W=Left(Right(FMain.TIn.Text,I+4),5)

ExitFor

EndIf

Else

ExitFor

EndIf

NextI

IfW<>"下载完成!"Then

FOK=False

Me.Caption="下载完成!["&Text2.Text&"]"

FMain.TIn.Text=FMain.TIn.Text&"["&Now&"]"&"下载完成!("&Fs&"<="&LenFile&")"&vbCrLf

Command2.Enabled=True

EndIf

Else

IfVal(Temp)=JThen'比较长度看丢包没有

ReDimMendByte(J-8)

ForI=0ToJ-8'提出包头

MendByte(I)=FileByte(I+7)

Next

Fs=Fs+UBound(FileByte)-7

Put#FileNumber,,MendByte'写文件

Winsock0.SendData"ok"'发送继续发送的请求

Me.Caption="文件下载完成:["&Left(Fs/LenFile*100,4)&"%]"

Else

IfLeft(A,10)="#SENDSTA#"Then

A=""

ForI=10ToUBound(FileByte)'文件发送结束标记

A=A&Chr(FileByte(I))

Next

LenFile=Val(Left(A,InStr(A,"//")-1))

ForI=0ToLen(Text2.Text)

A=Left(Right(Text2.Text,I),1)

IfA=""ThenExitFor

Next

IfDir(Left(Text2.Text,Len(Text2.Text)-I+1),vbDirectory)=""ThenMkDirLeft(Text2.Text,Len(Text2.Text)-I+1)

'"#SENDSTA#"&FileLen(Text1.Text)&"//"&Text2.Text

FileNumber=FreeFile'取得未使用的文件号

Fs=0

OpenText2.TextForBinaryAs#FileNumber'打开文件

Else

IfA<>"#SENDEND#"Then

Winsock0.SendData"no"'出现丢包,请求重发

Else

Winsock0.SendData"#END#"'发送继续发送的请求

Close#FileNumber

Reset

IfFOK=FalseThen

FOK=True

Me.Caption="下载完成!["&Text2.Text&"]"

FMain.TIn.Text=FMain.TIn.Text&"["&Now&"]"&"下载完成!("&Fs&"<="&LenFile&")"&vbCrLf

Command2.Enabled=True

Else

FOK=False

EndIf

EndIf

EndIf

EndIf

EndIf

EndSub

⑷ 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可以采用2种工作模式,分别是Port模式、Passive模式;

FTP的传输有两种方式:ASCII、二进制:

1、ASCII传输方式:

假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通拿姿常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式

2、二进制传输模式:

在二进制传输中,悔敏迅保存文件的位序,以便原始和碧此拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。

(5)ftp怎么发送数据扩展阅读

FTP文件传输协议的特点介绍:

FTP工作在TCP/IP模型的应用层,基于的传输协议是TCP,FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。

FTP的主要特征:

1、控制连接是建立在客户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路

2、数据连接是传输数据的全双工连接。传输数据可以发生在服务器数据传输过程DTP和客户DTP之间,也可以发生在两个服务器的DTP之间。

⑹ ftp如何传送数据包

ftp 有两种模式,主动被动,但根本模式都是 端口连接 tcp的三次握手,成功后会开启数据端口(随即端口),发送数据,除非你在ftp配置了数据端口,不然数据端口是随即的

⑺ 如何使用ftp工具上传网站内容

如何使用ftp工具上传网站内容?

FTP是传输控制协议,和http类似,它也是一个面向连接的一个协议,它有点区别于http的地方就是,它用两个端口进行工作一个是20,一个是21,这两个端口一个用于进行传输数据文件一个用于控制信息的传输。那么如何使用ftp工具上传网站内容呢?它只提供文件的'浏览方式,并不是以网页的形式打开,以网页的形式打开是以http协议进行浏览的。

FTP主要用途是什么?

FTP主要用在网站建设中,用来上传网站文件到服务器。在需要备份网站文件时,也可以用FTP下载网站文件到本地电脑。

FTP软件有:flashFXP, leapFTP,差别不大,因为网站做好之后用的并不多。所以一般能用就行了,没有去测试flashFXP, leapFTP的区别。

如何使用FTP工具,以上两个软件都是大同小异的。

首先需要服务器的ip地址,FTP帐号和密码连接。

连接成功后,有四个窗口分别代表四种状态。左上为本地文件;左下为传送状态;右上为服务器文件;右下为连接信息列表。传送文件的话,在左上选中你的文件,反键传送 就可以了。操作很简单,软件也比较小。上传就比较简单。

;

⑻ 怎么使用FTP,实现两台计算机之间文件的传输需要注意什么......

如果使用FTP的话,其实不能叫传文件,这个方法实际是建立一个FTP服务器,然后让客户机去访问FTP服务器,从FTP上下载文件到本地计算机。

⑼ 怎么建立自己的FTP服务器给朋友传东西啊

分类: 电脑/网络 >> 互联网
问题描述:

比QQ传的快吧。我只会从FTP上下东西,不会自己建,请大家帮帮忙,谢了

解析:

很复杂啊!!!!

如何建立FTP服务器

建立起一个完备的FTP 服务器,及一些使用FTP 所必须了解的相关知识

Inter 的迅速发展为人们提供的前所未有的信息资源,越来越多的人希望在享受Inter 带来的全新的体验的时候,能够拥有自己的网上家园。在当今流行的Inter 应用中,要数WWW 和 FTP 文件传输最为普及了。本文将结合Serv-U 这一功能强大,界面友好,易学易用的FTP 服务器端软件,详细的介绍如何在最短的时间内建立起一个完备的FTP 服务器。除了具体的安装和配置说明外,文中还将涉及一些使用FTP 所必须了解的相关知识,希望能够对广大网友有所帮助。

简介

Serv-U 是目前众多的FTP 服务器软件之一。通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器,这样,用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC与FTP 服务器连接,进行文件或目录的复制,移动,创建,和删除等。这里提到的FTP 协议是专门被用来规定计算机之间进行文件传输的标准和规则,正是因为有了象FTP 这样的专门协议,才使得人们能够通过不同类型的计算机,使用不同类型的操作系统,对不同类型的文件进行相互传递。

虽然目前FTP 服务器端的软件种类繁多,相互之间各有优势,但是Serv-U 凭借其独特的功能得以展露头脚。具体来说,Serv-U 能够提供以下功能:

符合windows 标准的用户界面友好亲切,易于掌握。

支持实时的多用户连接,支持匿名用户的访问;通过限制同一时间最大的用户访问人数确保PC 的正常运转。

安全性能出众。在目录和文件层次都可以设置安全防范措施。能够为不同用户提供不同设置,支持分组管理数量众多的用户。可以基于IP 对用户授予或拒绝访问权限。

支持文件上传和下载过程中的断点续传。

支持拥有多个IP 地址的多宿主站点。

能够设置上传和下载的比率,硬盘空间配额,网络使用带宽等,从而能够保证用户有限的资源不被大量的FTP 访问用户所消耗。

可作为系统服务后台运行。

可自用设置在用户登录或退出时的显示信息,支持具有UNIX 风格的外部链接。

上面列出的只是Serv-U 众多功能中的一部分,具体的使用将在下文中进行详细的介绍,这里要说明的? 时,Serv-U 在保持功能全面,强大的基础上,提供的完全易于使用的操作界面,可以说一切尽在掌握。

使用说明

用户在使用Serv-U 的过程中可能会碰到的所有设置问题都可以通过Serv-U 窗口中的菜单选项实现。如果用户在安装Serv-U 之后,启动Serv-U 时,屏幕上没有显示出Serv-U 的控制窗口的话,可以用鼠标右键点击位于任务条系统托盘中的Serv-U 图标(一个大写的字母“U”),然后选择弹出菜单中的第一项“Show Window”,这样屏幕上就会显示出Serv-U 的控制窗口。

设置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-U.ini 文件中。

随后一项用来设定是否需要匿名访问用户输入密码。默认情况下,该项为空白,这样那些使用匿名帐号访问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”这个特殊的用户帐号不属于任何一个用户组。

在随后的密码栏中需要输入帐号的口令,如果用户在服务器的设置中选择了加密密码的选项(见前文),那么所输入的密码将自动以加密方式储存。关于密码很重要的一点是只有输入的前8 位字符有效,希望能够引起广大Serv-U 使用者的注意。另外,如果用户在建立新的帐号时没有输入相应的密码,那么并不意味着该用户帐号没有密码,Serv-U 将会尝试着寻找是否该用户帐号属于某一个用户组并且该用户组具有统一的密码。如果Serv-U 没有找到相应的用户组密码的话,将会拒绝该用户帐号的访问。如果用户确实希望不规定某个帐号的密码,只要在相应帐号的密码一栏中输入“$ #@60;$#@60;None$#@62;$#@62;”即可。上述情况的一个例外是Anonymous 用户帐号,该帐号没有密码,Serv-U 只要求用户输入符合邮件地址格式的任意字符串即可。

在“HOME”一栏中,设置FTP 用户的根目录,即用户在成功登录之后所自动位于的起始目录。每一个用户帐号都要有自己的根目录,否则Serv-U 将拒绝该用户帐号的访问。当然,如果该帐号属于某个组,而该用户组已经设定了共同的根目录,那么用户就不必对该用户组内的每个帐号进行重复设置。用户在输入根目录的地址时应当注意必须使用完全路径,包括盘符。

在“NOTE”一栏中,用户可以选择输入一些对帐号起辅助说明的文字以备将来参考之用。

在用户窗口右边最大的一栏用来设定帐号的访问权限,从而决定用户可以访问哪些文件,并以何种方式访问这些。Serv-U 按照文件和目录两大类别对用户的访问权限进行了划分。具体来说包括:

对文件的访问权限:

READ:允许用户下载文件;

WRITE:允许用户上传文件,但无权对文件进行更改,删除,或重命名;

APPEND:允许用户对已有的文件进行附加,拥有APPEND权限的用户自动拥有WRITE

权限;

DELETE:允许用户对文件进行改动,重命名,或删除。拥有DELETE权限的用户自动拥

有WRITE 和APPEND 权限;

EXECUTE:允许用户通过FTP 运行可执行文件。例如,用户可以远程运行DOS或Windows

程序。

对目录的访问权限:

LIST:允许用户取得目录列表;

MAKE:允许用户在根目录下建立新的子目录;

REMOVE:允许用户删除根目录下的子目录。

INHERIT:选中该选项之后,对某一目录设置的访问权限将自动被该目录下的所有子目录

继承。

在完成上述所有设置之后,点击“STORE”按钮,新建立的用户帐号将被保存在FTP 服务器中。

该窗口中的其它选项将会在稍后进行详细的介绍。

实时监控

用户在完成FTP服务器的基本配置之后,就可以向外界提供FTP文件传输服务了。我想很多用户都希望在提供FTP 服务的过程中,能够实时地对访问自己服务器的用户进行监控,从而一方面既能够对整个服务过程做到心中有数,另一方面还可以在可能出现意外问题之前,采取及时的防范和补救措施。在这一方面,相信S erv-U 能够充分满足大家的需求。

首先,让我们看一下如何利用Serv-U 实现实时的用户监控。

选择“FILE”菜单中的“USER INFO”选项。在弹出窗口中的上半部分将会显示出所有当前正在与服务器连接的用户。用鼠标点击其中的任一用户将会在窗口的下半部分出现该用户的详细信息。

在窗口的右下方有一个“SPY ON USER”按钮,点击之后出现的窗口将会显示出特定用户向FTP服务器发出以及FTP 服务器响应的所有命令。该窗口将会跟踪所选用户的所有命令,对了解特定用户在访问FTP 服务器的过程中的所有行为提供了可*的依据。

在该按钮下方还有一个名为“KILL USER”的按钮,如果用户发现某个来访用户的行为可疑,可能会对FTP 服务器的正常工作带来危害的话,可以通过使用该按钮立即中断与该用户的连接,将该用户踢出FTP 服务器。

需要注意的一点是,虽然Serv-U 能够提供实时的用户监控信息,但是需要耗用很大一部分的系统资源。如果用户发现系统性能出现明显下降的话,可以通过窗口右侧的“F REEZE LIST”按钮暂时冻结窗口信息的动态显示,从而释放出宝贵的系统资源。

设置服务器端日志记录

除了能够实时的进行监控之外,Serv-U还提供了强大的日志记录功能,从而方便用户记录和总结一段时期内Serv-U的运行情况。

选择“FILE”菜单下的“LOGGING”,弹出日志设置窗口,用户可以选择对哪些事件进行记录,以及将记录信息保存到何处。

在该窗口的右侧,用户可以选择对不同的事件进行记录,其中包括系统信息,安全信息等,同时用户还可以设置是将所记录 畔⑾允驹赟erv-U 的主窗口内,还是保存到某一指定文件内。出于耗用系统资源和备份信息的需要,建议用户把日志信息保存到指定的文件内。

需要说明的一点是Serv-U 的日志记录文件采用统一的格式,具体如下:

[n] DATE TIME - (xxxx) MESSAGE

最前面的数字“n”代表所记录信息的类别,分别为:

n=1:系统信息(错误信息等);

n=2:用户发出的FTP 命令;

n=3:文件下载;

n=4:文件上传;

n=5:安全信息(用户登录信息等)

n=6:服务器响应的FTP 命令;

n=7:WinSock使用记录;

n=8:DLL文件访问记录

另外,括号中的“XXXX”是Serv-U 赋予每一个来访用户的一个唯一的数字标识。

5.设置登录和退出信息

细心的用户可能会发现在登录或退出某个FTP站点时,经常会出现一个窗口,显示一些包括系统设置,欢迎访问等在内的信息。那么如何在S erv-U 下实现这一功能呢?

首先,用户需要把要显示给用户的信息保存在一个文本文件中,然后选择“SETUP”菜单中的“MESSAGES”,在弹出的窗口中进行设置。

在位于窗口最上方的下来框中,用户需要选择将要使用登录和退出信息的IP地址。因为Serv-U 支持一台机器拥有多个IP,所以用户需要选择相应的IP地址。在下面的两个选项中分别输入用户事先已经建立好的包含登录和退出信息的文本文件的地址。

使用外部连接

所谓外部连接是指那些显示在某一目录下指向位于该目录之外的某一文件或目录的连接。在用户端看来,外部连接所指向的文件或目录就位于当前目录之下,但实际上他们只是一些起连接作用的虚拟指针。使用外部连接的一个最大好处就是能够把来访用户可能需要的所有资源都集中到一个目录之中,这样用户就可以通过不同的外部连接访问实际上位于不同磁盘或不同目录的分散信息。

为了充分利用Serv-U 提供的外部连接功能,用户首先需要生成一个文本文件保存所有可能会用到的外部连接。文件的具体格式如下:

LINK NAME | SOURCENAME

其中的“LINK NAME”是显示在用户当前目录下的外部连接的名称,而“SOURCENAME”则是该外部连接实际指向的磁盘或目录。

例如我们在一个名为“LINK.TXT”的文件中写入如下一条:

CD-ROM | F:\

这样在用户的当前目录中就会出现“CD-ROM”字样,点击之后,就可以直接访问FTP 服务器的光驱。

在配置好外部连接的文本文件之后,选择“FTLE”菜单中的“FTP SERVER”,在弹出的窗口中找到“PRIMARY FIEL CONTAINING LINK”,然后输入上述文本文件的完全路径。在“PRIMARY FIEL CONTAINING LINK”下方有一个“SECONDARY FILE CONTAINING LINK”,该项是用来设定起辅助作用的外部连接文件,可以参照上述方法生成。

设置上传和下载比例

如果用户希望自己FTP 站点的使用者不仅仅使用自己提供的资源,还能够上传一些有价值的东西供大家共享的话,可以通过使用Serv-U提供的“上传和下载比例”这一功能实现。

用户可以在“FILE”菜单中的“FTP-SERVER”,“USERS”和“GROUPS”的弹出窗口中找到名为“U/D RATIOS”的功能按钮,点击之后出现设置窗口。用户可以限制每个FTP 站点的使用者每上传一个文件后可以下载的文件数。例如,如果将某个用户的上传和下载比例设置为1/3,那么该用户每上传一个文件,就可以从F TP 站点下载3个文件。

Serv-U 支持在单个会话过程或全部会话过程的范围内,按照具体传输的文件数目或文件的大小,限制用户的上传和下载比例。

使用磁盘限额

随着用户数量的增加,一个非常实际的问题就是如何既能够确保每个用户都有足够的硬盘空间可用,同时又防止FTP 服务器吞食整个机器的硬盘资源。同样,在这个问题上Serv-U提供了有力的解决方案。

用户可以分别在“FILE”菜单中的“USERS”和“GROUPS”选项的弹出窗口中找到名为“QUATO”的功能按钮。点击之后出现设置窗口,用户可以首先检测某个用户帐号当前所使用的硬盘空间,然后根据具体的情况分别设置不同的用户帐号所能支配的最大硬盘空间,从而有效的解决硬盘空间不足的问题。

基于IP地址授予或拒绝访问权限

选择“FILE”菜单中的“IP ACCESS”选项,在弹出的窗口中进行设置。

用户可以在窗口的左边设置不同的访问规则,而当前所有的访问规则将会显示在右边的列表中。

Serv-U 提供了两种基本的访问规则,分别为“拒绝访问”规则和“允许访问”规则。在“拒绝访问”规则下,所有来自用户输入的IP地址的访问者都将被拒绝访问,而来自其它I P地址的用户都将被授予访问权限。同理,如果用户选择了“允许访问”规则,那么所有来自用户输入的IP地址的访问者都将被授予访问权限,而来自其它I P 地址的用户将无权访问FTP 服务器。

通过以上功能,用户可以针对不同的IP地址,设置不同的权限,从而有效的保障FTP 服务器免受非法访问者的侵害。

三.小节

Serv-U 是一款使用简单,功能强大,易学易用的FTP 服务器端软件。相信广大用户结合以上的介绍,再加上个人的实践,一定会在最短的时间内构建起自己的功能强大的FTP服务器。

热点内容
c与java编译过程 发布:2025-02-12 21:47:47 浏览:373
python的面向对象 发布:2025-02-12 21:46:10 浏览:613
医学影像存储解决方案 发布:2025-02-12 21:45:58 浏览:976
股票走势预测算法 发布:2025-02-12 21:45:06 浏览:769
游戏lua脚本 发布:2025-02-12 21:45:01 浏览:918
怎么下载安卓版的光子助手 发布:2025-02-12 21:43:45 浏览:454
oppor7s怎么取消锁屏密码 发布:2025-02-12 21:43:31 浏览:595
我的世界服务器甜蜜小镇 发布:2025-02-12 21:41:08 浏览:75
ftp影响数据交换 发布:2025-02-12 21:27:18 浏览:387
编译原理与实现pdf 发布:2025-02-12 21:27:14 浏览:42