被动模式下FTP的详细工作过程
Posted on被动模式下FTP的详细工作过程 - 大浪淘沙 - 51CTO技术博客
分享到
[
大浪淘沙
](http://yuanbin.blog.51cto.com)
http://yuanbin.blog.51cto.com 【复制】 【订阅】
yuanbin0710 的BLOG
写留言邀请进圈子发消息 加友情链接进家园 加好友 2012年度IT博客大赛 十大杰出IT博客诞生
博客统计信息
51CTO推荐博客 用户名:yuanbin0710 文章数:37 评论数:166 访问量:279930 无忧币:20 博客积分:1338 博客等级:4 注册日期:2008-04-17
热门专题
RHEL6从零基础到熟练使用 阅读量:8542
VMware5.5从零开始学起 阅读量:3326 Hyper-V 3.0功能部署 阅读量:2014
Windows Server入门教程 阅读量:4726
热门文章
- DDNS配置实例(DHCP+DNS=..
- BIND配置文件详解(一)
- SWAT—Samba WEB管..
- BIND配置文件详解(二)
- 两种方式建立Vsftpd虚拟用户
- Samba配置文件常用参数详解
- 子网划分的两个例子
- CentOS5启用Telnet服务详解
搜索BLOG文章
我的技术圈(2)
- 北大青鸟benet网络工程师
-
最近访客
最新评论
- eologo:我没成功,请远程赐教,不胜感谢,..
- 452165649:我是在rh5.4上做的,为什么它不出现..
- zhuyingkang:博主还在么?能否看到我的留言?方..
- [匿名]51cto游客:我最近也在研究VSFTP,在根据楼主这..
- happy2501:您好,我按照您的做法做下来,测试..
51CTO推荐博文
- 用Windows Server 2012 R2 搭建二..
- TMG学习(六),发布内网多个Web站点
- 实用防火墙(Iptables)脚本分析
- Hadoop迈入2.0时代 更适合企业应用
- 服务器(AD,DHCP,DNS,File)迁..
- 对于复杂流程确认的运维自动化方..
- Office 365邮件迁移之直接转换..
- 网络编程释疑之:TCP的TIME_WAIT..
- 浅谈服务器被黑后的检查工作流程
- Backup Exec 2012 备份和还原活..
- AD 重置密码完整脚本
友情链接
- Bnsen
- 千山岛主之微软技..
- seven
- 键盘人生
- 祝孔明
- 李晨光
- 秋日惜枫
- yangming.com
- 王乾De技术Blog
- define_myself
- 社区大管家小废物
- 激情因梦想而存在
- 岳雷的微软网络课堂
- 胡晓秋工作室
- 51CTO博客开发
·【征文】聊IT运维标准化与安全,奖50元京东购物卡·iOS企业级开发初级课程-UIView与控件(共20集 )
被动模式下FTP的详细工作过程 2008-10-25 20:03:53
标签:FTP 休闲 被动模式 职场 工作过程 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yuanbin.blog.51cto.com/363003/108009
文中有不对或者有不清楚的地方,请大家告诉我,谢谢!
被动模式下FTP的详细工作过程
PASV FTP在工作的第一步,与PORT FTP一样,会首先使用21端口建立控制连接;但在第二步,由FTP客户端主动发起建立数据传输连接请求,服务器的数据传输端口为随机端口,因此,每次建立的数据传输连接通道,服务器所使用的端口都不相同。
本示例客户端IP是192.168.120.168,服务器IP是192.168.120.240,因为客户端的MS-DOS不支持PASV模式,所以使用FlashFXP软件来连接服务器。通过抓包工具来查看用户从连接FTP服务器到退出FTP服务器经过的所有过程。 使用FlashFXP所做的操作:1.输入FTP服务器的IP,要登入的用户名和密码。2.进入用户家目录,查看.bashrc和.bash_profile两个文件。3.退出FTP。
PASV FTP**的详细工作过程:**
1. 因为FTP使用的是TCP协议,所以客户端FlashFXP在连接服务器192.168.120.240时,首先会经历TCP的三次握手来建立控制通道。客户端使用任意的端口N(>1024)来连接FTP服务器默认的21端口。这和PORT模式一样。 2. 在TCP三次握手结束后,服务器端正式响应客户端的控制连接请求,控制通道建立。
3. 客户端向服务器发送含有ACK的数据段来确认控制连接建立并发送用户名。 4. 服务器向客户端发送含有ACK的数据段来确认用户名。
5. 服务器向客户端询问密码。 6. 客户端向服务器发送含有ACK的数据段来确认并发送密码,密码为明文。
7. 服务器向客户端发送含有ACK的数据段来确认密码收到。 8. 服务器向客户端发送登陆成功的信息。
9. 客户端向服务器发送含有ACK的数据段来确认并发送查询系统类型的指令(见图一)。 10. 服务器向客户端发送含有ACK的数据段来确认收到指令。
11. 服务器向客户端回应系统的类型为UNIX(见图二)。 12. 客户端向服务器发送列出服务器的所有扩展命令和扩展功能的指令(见图三)。
13. 服务器响应客户端的FEAT请求(见图四)。 14. 服务器响应客户端有EPSV(扩展PASV,支持非IPV4)的扩展功能(见图五)。
15. 客户端向服务器发送含有ACK的数据段来确认收到信息。 16. 服务器响应客户端自己的其他特性(见图六)。MDTM:保留下载文件的日期/时间;REST STREAM:重设文件传输方式为stream形式。
17. 客户端确认收到服务器的信息。 18. 服务器响应客户端进入到用户的家目录(见图七)。
19. 客户端确认收到服务器的信息。 20. 客户端向服务器发送文件传输使用何种模式(Binary、ASCII)的指令(见图八)。
21. 服务器回应客户端使用Binary模式(见图九)。 22. 客户端向服务器询问.bashrc文件的大小(见图十)。
23. 服务器回应客户端.bashrc文件的大小为124字节(见图十一)。 24. 客户端向服务器发出PASV的指令(用来进行数据传输)(见图十二)。
25. 服务器回应客户端使用PASV模式,并且商量数据传输端口用232x256+151=59543(见图十三)。 26. 客户端主动使用N+1端口来连接服务器的59543端口,并且向服务器发送含有SYN的数据段来开始进行数据传输连接的第1次握手(见图十四)。
27. 服务器向客户端发送含有SYN和ACK的数据段来进行第2次握手(见图十五)。 28. 客户端向服务器发送含有ACK的数据段来进行第3次握手(见图十六)。
29. 3次握手过程完成,客户端向服务器发送查看.bashrc文件的指令(见图十七)。 30. 服务器回应客户端使用Binary数据传输模式连接.bashrc文件(见图十八)。
31. 服务器开始进行数据传输。 32. 服务器确定数据传输完毕,然后向客户端发送含有FIN和ACK的数据段来请求断开本次数据连接,第1次断开(见图十九)。
33. 客户端向服务器发送含有ACK的数据段答应服务器的断接请求,第2次断开(见图二十)。 34. 服务器响应客户端文件发送完成的信息(见图二十一)。
35. 客户端向服务器发送含有ACK的数据段来确认收到信息。 36. 客户端向服务器发送含有FIN和ACK的数据段来请求断开客户端到服务器之间的数据连接,第3次断开(见图二十二)。
37. 服务器向客户端发送含有ACK的数据段确认断开连接,第4次断开(见图二十三) 38. 接下来是查看.bash_profile文件的过程。其过程和查看.bashrc文件的过程一样(在此不详述了),只是服务器和客户端的数据传输端口变了。服务器的数据传输端口是随机的;客户端的数据传输端口是N+2。
39. 客户端在查看完.bash_profile文件并彻底完成该次数据连接的4次断开后,向服务器发送退出的指令(见图二十四)。 40. 服务器响应客户端的退出请求(见图二十五)。
41. 服务器向客户端发送含有FIN和ACK的数据段,请求断开控制连接(见图二十六)。这是第一次断开控制连接。 42. 客户端向服务器发送含有ACK的数据段来应答服务器的断接请求(见图二十七)。这是第二次断开控制连接。
43. 客户端向服务器发送含有FIN和ACK的数据段,请求断开到服务器之间的控制连接(见图二十八)。这是第三次断开控制连接。 44. 服务器向客户端发送含有ACK的数据段,来确认客户端的断接请求(见图二十九)。这样本次FTP控制连接完全断开。
通过查看本次示例(被动FTP)的详细过程,我们可以得到以下几点结果:
1. 服务器的控制连接端口为21,数据传输端口随机(>1024)并且每次的数据传输端口都不一样。 2. 客户端的控制连接端口为N(>1024),数据传输端口在第一次进行数据传输时为N+1,在第二次数据传输时为N+2,依次类推。
3. 服务器主动告诉客户端自己的数据传输端口。 4. 客户端主动用数据传输端口N+x去连接服务器的随机数据传输端口。
5. 在一次FTP连接的过程中,只有一次控制连接,却可以有多次数据传输连接。 6. 不管是控制连接还是数据传输连接,在每次从建立到完成都需要经过3次连接和4次断开的过程。(这符合TCP协议的要求)
本文档使用的图例:
图二:服务器响应客户端系统类型为UNIX
图四:服务器响应客户端的FEAT请求
图五:服务器响应客户端有EPSV(扩展PASV,支持非IPV4)的扩展功能
图六:服务器响应客户端自己支持的其他特性
图八:客户端向服务器询问文件传输的模式
图十:客户端向服务器询问.bashrc文件的大小
图十一:服务器回应客户端.bashrc文件的大小为124字节
图十二:客户端向服务器发送PASV指令
图十三:服务器响应客户端使用PASV模式,并且商量数据传输端口用59543
图十四:第一次数据传输连接之第一次握手
图十六:第一次数据传输连接之第三次握手
图十八:服务器响应客户端使用Binary数据传输模式来连接.bashrc文件
图十九:服务器发送FIN和ACK请求断开本次数据连接(第1次断开)
图二十:客户端发送ACK答应服务器的请求(第2次断开)
图二十二:客户端向服务器发送含有FIN和ACK的数据段请求断开数据连接(第3次断开)
图二十三:服务器向客户端发送含有ACK的数据段确认断开连接(第4次断开)
图二十四:客户端向服务器发出退出的指令
图二十六:服务器向客户端发送FIN和ACK请求断开控制连接(第1次断开)
图二十七:客户端向服务器发送ACK答应服务器请求(第2次断开)
图二十八:客户端向服务器发送FIN和ACK请求断开控制连接(第3次断开)
图二十九:服务器向客户端发送ACK答应断开控制连接(第4次断开)
图三十:本次示例全部过程
本文档完整的图例,请见附件。
本文出自 “大浪淘沙” 博客,请务必保留此出处http://yuanbin.blog.51cto.com/363003/108009 ** 更多 0
cccc0912 1人 了这篇文章 附件下载: FTP被动模式详细工作过程(图例)
类别:Linux Server┆技术圈(0)┆阅读(2046)┆评论(2) ┆ 推送到技术圈┆返回首页 上一篇 主动模式下FTP的详细工作过程 下一篇 FTP总结
相关文章
- FTP主动模式及被动模式
- 主动模式下FTP的详细工作过程
- FTP上传文件经常中断或超时的解决方案
- RedHat AS 4 下架设FTP服务器
- ftp命令大全
- 『第9天』从FTP入侵到SQL
- Ubuntu实用简单的FTP架设
- Serv-U FTP之PASV和PORT模式
- 2003server 搭建FTP服务器 不能下载文件问题
- FTP组隔离用户
文章评论
[1楼] [匿名]yangming1052 回复
2010-09-21 08:25:03 很不错噢。
发表评论
周刊:IT行业盲目涨工资比房产泡沫更危险? 昵 称: 登录 快速注册 验证码:
点击图片可刷新验证码请点击后输入验证码博客过2级,无需填写验证码 内 容:
同时赞一个 返回顶部
附件下载close
请输入验证码: 确认