ftp中主动模式(port)与被动模式(pasv)

ftp中主动模式(port)与被动模式(pasv)

ID:35994536

大小:43.00 KB

页数:6页

时间:2019-04-29

ftp中主动模式(port)与被动模式(pasv)_第1页
ftp中主动模式(port)与被动模式(pasv)_第2页
ftp中主动模式(port)与被动模式(pasv)_第3页
ftp中主动模式(port)与被动模式(pasv)_第4页
ftp中主动模式(port)与被动模式(pasv)_第5页
资源描述:

《ftp中主动模式(port)与被动模式(pasv)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、ftp中主动模式(port)与被动模式(PASV)目录    ·开场白·基础·主动FTP·主动FTP的例子·被动FTP·被动FTP的例子·总结·参考资料·附录1:配置常见FTP服务器开场白处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。本文也许不像题目声称的那样是一个权威解释,但我已经听到了很多好的反馈意见,也看到了本文在许多地方被引用,知道了很多人都认为它很有用。虽然我一直在找寻改进的方法,但如果你发现某个地方讲的不够清楚,需要更多的解释,请告诉我!最近的修改

2、是增加了主动FTP和被动FTP会话中命令的例子。这些会话的例子应该对更好地理解问题有所帮助。例子中还提供了非常棒的图例来解释FTP会话过程的步骤。现在,正题开始了...基础FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21-命令端口和20-数据端口。但当我们发现根据(FTP工作)方式的不同数据端口并不总是20时,混乱产生了。主动FTP主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>;1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命

3、令“portN+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:1.任何端口到FTP服务器的21端口(客户端初始化的连接S<-C)2.FTP服务器的21端口到大于1023的端口(服务器响应客户端的控制端口S->C)3.FTP服务器的20端口到大于1023的端口(服务器端初始化数据连接到客户端的数据端口S->C)4.大于1023端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口S<-C)画出来的话,连接过程大概是下图的样子: 在第1步中,客户端的命令端口

4、与FTP服务器的命令端口建立连接,并发送命令“PORT1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接,这是通常会被阻塞的。主动FTP的例子下面是一个主动FTP会话的实际例子。

5、当然服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从testbox1.slacksite.com(192.168.150.80),一个运行标准的FTP命令行客户端的Linux工作站,发起到testbox2.slacksite.com(192.168.150.90),一个运行ProFTPd1.2.2RC2的Linux工作站。debugging(-d)选项用来在FTP客户端显示连接的详细过程。红色的文字是debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。仔细考虑这个对话过程我们会发现一些有趣

6、的事情。我们可以看到当PORT命令被提交时,它指定了客户端(192.168.150.80)上的一个端口而不是服务器的。当我们用被动FTP时我们会看到相反的现象。我们再来关注PORT命令的格式。就象你在下面的例子看到的一样,它是一个由六个被逗号隔开的数字组成的序列。前四个表示IP地址,后两个组成了用于数据连接的端口号。用第五个数乘以256再加上第六个数就得到了实际的端口号。下面例子中端口号就是((14*256)+178)=3762。我们可以用netstat来验证这个端口信息。testbox1:{/home/p-t/slacker/public_html}%ftp-dtestbox2Conne

7、ctedtotestbox2.slacksite.com.220testbox2.slacksite.comFTPserverready.Name(testbox2:slacker):slacker--->USERslacker331Passwordrequiredforslacker.Password:TmpPass--->PASSXXXX230Userslackerloggedin.--->SYST215UNIXTy

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。