- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ftp中主动模式(port)与被动模式(PASV)目录
????
开场白
基础
主动FTP
主动FTP的例子
被动FTP
被动FTP的例子
总结
参考资料
附录 1: 配置常见FTP服务器
开场白处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。 本 文也许不像题目声称的那样是一个权威解释,但我已经听到了很多好的反馈意见,也看到了本文在许多地方被引用,知道了很多人都认为它很有用。虽然我一直在找 寻改进的方法,但如果你发现某个地方讲的不够清楚,需要更多的解释,请告诉我!最近的修改是增加了主动FTP和被动FTP会话中命令的例子。这些会话的例 子应该对更好地理解问题有所帮助。例子中还提供了非常棒的图例来解释FTP会话过程的步骤。现在,正题开始了... 基础FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21-命令端口和20-数据端口。但当我们发现根据(FTP工作)方式的不同数据端口并不总是20时,混乱产生了。 主动FTP主 动方式的FTP是这样的:客户端从一个任意的非特权端口N(N;1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端 口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。 针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
任何端口到FTP服务器的21端口 (客户端初始化的连接 S-C)
FTP服务器的21端口到大于1023的端口(服务器响应客户端的控制端口 S-C)
FTP服务器的20端口到大于1023的端口(服务器端初始化数据连接到客户端的数据端口 S-C)
大于1023端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口 S-C) 画出来的话,连接过程大概是下图的样子: ? 在第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 testbox2Connected to . 220 FTP server ready. Name (testbox2:slacker): slacker--- USER slacker331 Password required for slacker. Password: TmpPass--- PASS XXXX230 User slacker logged in. --- SYST 215 UNIX Type: L8Remote system
您可能关注的文档
最近下载
- 公司员工奖惩管理办法.docx VIP
- 清华阎石《数字电子技术基础》教学课件第四章.ppt VIP
- 部编人教版5年级上册语文全册教学课件(2022年12月修订).pptx
- 2025年秋学期冀教版初中数学九年级上册教学进度表.docx VIP
- 联想笔记本电脑V14 G1 Ideapad 14sIML系列产品3C认证证书.pdf VIP
- 易班优课华理新生入学教育《华东理工大学2020级学生手册》考试试题及答案.pdf VIP
- 公司奖惩管理规定4篇.docx VIP
- 健康管理学概论.pptx VIP
- 厚朴药材简介.ppt VIP
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔).docx VIP
文档评论(0)