




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主动模式下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的数据段,来确认客户端的断接请求(见图三十)。这样本次FTP控制连接完全断开。通过查看本次示例(主动FTP)的详细过程,我们可以得到以下几点结果:1. 服务器的控制连接端口为21,数据传输端口为20。端口可以在配置文件中修改。2. 客户端的控制连接端口为N(N1024),数据传输端口在第一次进行数据传输时为N+1,在第二次数据传输时为N+2,依次类推。(这点在本示例中未体现)3. 数据传输连接建立后,服务器主动用20端口去连接客户端的N+x端口。4. 在一次FTP连接的过程中,只有一次控制连接,却可以有多次数据传输连接。(多次数据传输连接在本示例中未体现)5. 不管是控制连接还是数据传输连接,在每次从建立到完成都需要经过3次连接和4次断开的过程。(这符合TCP协议的要求)6. FTP指令分为控制指令(如pwd、mkdir、rm、cd等)和数据请求指令(如ls、dir等)。本文档使用的图例:图二:建立控制连接之TCP第一次握手图三:建立控制连接之TCP第二次握手图四:建立控制连接之TCP第三次握手图五:服务器响应客户端的控制连接请求图六:客户端发送用户名图七:服务器向客户端询问密码图八:客户端发送密码,密码为明文图九:服务器响应客户端登陆成功图十:客户端发送PORT N+1指令图十一:服务器响应PORT N+1指令成功图十二:客户端向服务器发送ls指令图十三:服务器响应客户端的ls指令进行TCP第一次握手图十四:服务器响应客户端的ls指令进行TCP第二次握手图十五:服务器响应客户端的ls指令进行TCP第三次握手图十六:服务器响应客户端的ls指令来显示目录图十七:服务器确认列出目录图十八:服务器请求断开本次数据连接(TCP四次断开之第一次)图十九:客户端确认(TCP四次断开之第二次,服务器到客户端的本次数据连接完成半关闭)图二十:服务器告之客户端ls指令已完成图二十一:客户端请求断开到服务器的本次数据连接(TCP四次断开之第三次)图二十二:服务器确认客户端的请求,完全断开本次数据连接(TCP四次断开之第四次)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高锰酸钾制取氧气的课件
- 电路板干货知识培训课件
- 电解电容基础知识培训课件
- 高血压家庭应急知识培训课件
- 基建输变电工程监理框架合同
- 电脑反应慢微讲堂课件
- 电脑前端知识培训课件
- 电能表基础知识培训总结课件
- proe考试试题及答案
- 电网拆解知识培训课件
- 国民经济行业分类代码(2024年版)
- 残疾人家庭无障碍改造投标方案(技术标)
- 说明书hid500系列变频调速器使用说明书s1.1(1)
- 人教版五年级下册期末测试数学试卷【含答案】
- 铁路路基重力式挡土墙施工方案
- T∕CMES 35004-2021 增材制造 激光粉末床熔融316L不锈钢技术要求
- 架子鼓13级乐理知识
- 附录B:基建业主项目部岗位责任矩阵及主要报审表
- 枣庄市继续医学教育学习与管理平台
- 施工安全教育培训记录
- 摩擦桩桩长的计算(新规范)
评论
0/150
提交评论