FTP主动模式与被动模式的区别.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FTP主动模式与被动模式的区别

FTP主动模式和被动模式的区别?? 基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口,?一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。 ?主动模式FTP: 主动模式下,FTP客户端从任意的非特殊的端口(N 1023)连入到FTP服务器的命令端口--21端口。然后客户端在N+1(N+1 = 1024)端口监听,并且通过N+1(N+1 = 1024)端口发送命令给FTP服务器。服务器会反过来连接用户本地指定的数据端口,比如20端口。 以服务器端防火墙为立足点,要支持主动模式FTP需要打开如下交互中使用到的端口: ???FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接) ???FTP服务器命令(21)端口到客户端端口(1023)(服务器响应客户端命令) ???FTP服务器数据(20)端口到客户端端口(1023)(服务器初始化数据连接到客户端数据端口) ???FTP服务器数据(20)端口接受客户端端口(1023)(客户端发送ACK包到服务器的数据端口) 用图表示如下: ? 在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个ACK。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个ACK。 ? 主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接,这是通常会被阻塞的。 ? 主动FTP的例子: 下面是一个主动FTP会话的实际例子。当然服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从? (0),一个运行标准的FTP命令行客户端的Linux工作站,发起到 (0),一个运行ProFTPd 1.2.2RC2的Linux工作站。debugging(-d)选项用???在FTP客户端显示连接的详细过程。红色的文字是?debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。 仔细考虑这个对话过程我们会发现一些有趣的事情。我们可以看到当?PORT?命令被提交时,它指定了客户端(0)上的一个端口而不是服务器的。当我们用被动FTP时我们会看到相反的现象。我们再来关注PORT命令的格式。就象你在下面的例子看到的一样,它是一个由六个被逗号隔开的数字组成的序列。前四个表示IP地址,后两个组成了用于数据连接的端口号。用第五个数乘以256再加上第六个数就得到了实际的端口号。下面例子中端口号就是((14*256) + 178) = 3762。我们可以用netstat来验证这个端口信息。 testbox1: {/home/p-t/slacker/public_html} %?ftp -d testbox2 Connected to . 220 FTP server ready. Name (testbox2:slacker):?slacker --- USER slacker 331 Password required for slacker. Password:?TmpPass --- PASS XXXX 230 User slacker logged in. --- SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. ftp?ls ftp: setsockopt (ignored): Permission denied --- PORT 192,168,150,80,14,178 200 PORT command successful. --- LIST 150 Opening ASCII mode data connection for file list. drwx------? ?3 slacker? ? users? ?? ?? ?104 Jul 27 01:45 public_html 226 Transfer complete. ftp?quit --- QUIT 221 Goodbye. ? 被动模式FTP 为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被

文档评论(0)

ddf55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档