FTP的主动模式.doc

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

主动模式下FTP的详细工作过程 ? PORT FTP是常用的FTP工作方式,当客户端的连接请求到来时,FTP服务器会利用默认的21端口与客户端建立连接,该连接属于命令通道,利用该通道来下达控制指令;接下来服务器便会在20端口接受客户端的数据传输连接请求,并建立数据传输通道,开始传输数据,数据传输完毕后,便会关闭该次的数据连接,接着又会在20端口等待接受新的数据连接。由此可见,基于端口的工作方式,服务器的数据端口始终使用20,建立FTP控制连接则使用标准的21端口。根据需要,可以在配置文件中重新设置所使用的端口。 ? 本示例客户端IP是68,服务器IP是40,在客户端上通过命令行连接FTP服务器,并输入ls、pwd命令,然后退出(见图一)。通过抓包工具来查看用户从连接FTP服务器到退出FTP服务器经过的所有过程。 ? 图一:示例 ? PORT FTP的详细工作过程: 1. 因为FTP使用的是TCP协议,所以客户端在通过ftp 40连接服务器时,首先会经历TCP的三次握手(见图二、图三、图四)来建立控制通道。客户端使用任意的端口N(N1024)来连接FTP服务器默认的21端口。 2. 在TCP三次握手结束后,服务器端正式响应客户端的控制连接请求,控制通道建立(见图五)。 3. 客户端向服务器发送含有ACK的数据段来确认控制连接建立。 4. 客户端向服务器发送用户名(见图六)。 5. 服务器向客户端发送含有ACK的数据段来确认用户名。 6. 服务器向客户端询问密码(见图七)。 7. 客户端向服务器发送含有ACK的数据段来确认会发送密码。 8. 客户端向服务器发送密码,密码为明文(见图八)。 9. 服务器向客户端发送含有ACK的数据段来确认密码收到。 10. 服务器向客户端发送登陆成功的信息(见图九)。 11. 客户端向服务器发送含有ACK的数据段来确认收到登陆成功的信息。 12. 客户端向服务器发送PORT N+1指令,N+1是客户端想要的数据传输端口号(见图十)。port 192,168,120,168,200,100;192,168,120,168是客户端自己的IP地址;200,100部分的第一个阿拉伯数字乘以256,然后加上第2个阿拉伯数字就得到数据传输端口号,所以客户端指定的数据传输端口号为200*256+100=51300。 13. 服务器向客户端发送含有ACK的数据段来确认收到PORT N+1指令。 14. 服务器响应PORT指令成功,同意客户端使用PORT N+1为数据传输端口(见图十一)。 15. 客户端向服务器发送ls指令(见图十二)。 16. 服务器响应客户端的数据连接。服务器使用标准的数据端口20主动向客户端的N+1端口发起连接。因为FTP是TCP协议,并且FTP的控制连接和数据连接是分开的,所以FTP的每次数据连接都要经过TCP的三次握手来完成(见图十三、图十四、图十五)。 17. 因为ls命令可以显示文件,也可以显示目录,所以在三次握手完成后,服务器有一个响应列出目录的过程(见图十六、图十七)。 18. 服务器确定完成客户端ls指令后,服务器向客户端发送含有FIN和ACK的数据段请求断开本次数据连接(见图十八)。这是第一次断开本次数据连接。 19. 客户端向服务器发送含有ACK的数据段来应答服务器的断接请求(见图十九)。这是第二次断开本次数据连接。这样就完成了服务器到客户端的数据连接的半关闭。 20. 服务器告之客户端ls指令已完成(见图二十)。 21. 客户端向服务器发送含有ACK的数据段来确认收到服务器的信息。 22. 客户端向服务器发送含有FIN和ACK的数据段,请求断开到服务器之间的本次数据连接(见图二十一)。这是第三次断开本次数据连接。 23. 服务器向客户端发送含有ACK的数据段来确认客户端的断接请求(见图二十二)。这样本次数据连接完全断开,即第四次断开本次数据连接。 24. 客户端向服务器发送pwd指令(见图二十三)。 25. 服务器向客户端回应pwd指令的结果(见图二十四)。 26. 客户端向服务器发送含有ACK的数据段来确认收到服务器发送的结果。 27. 客户端向服务器发送quit指令(见图二十五)。 28. 服务器向客户端回应quit指令的结果(见图二十六)。 29. 服务器向客户端发送含有FIN和ACK的数据段,请求断开控制连接(见图二十七)。这是第一次断开控制连接。 30. 客户端向服务器发送含有ACK的数据段来应答服务器的断接请求(见图二十八)。这是第二次断开控制连接。 31. 客户端向服务器发送含有FIN和ACK的数据段,请求断开到服务器之间的控制连接(见图二十九)。这是第三次断开控制连接。 32. 服务器向客户端发送含有ACK的数据段,来确认客户端的断接请求(见图三十)。这样本

文档评论(0)

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

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

1亿VIP精品文档

相关文档