查看: 14514|回复: 6

FTP建立控制连接和数据传输的整个过程的数据包

[复制链接]
发表于 2009-3-19 11:04:25 | 显示全部楼层 |阅读模式
FTP建立控制连接和数据传输的整个过程的数据包,发现控制连接使用21端口;但是传输数据使用的别的端口,本例是35537和5898。具体见附件数据包

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2009-3-19 11:21:37 | 显示全部楼层
注意57号数据包,响应: 227 Entering Passive Mode (30,30,30,30,138,209)<CR><LF>  [54/49]
138×256+209=35537,这是服务器的侦听端口
5898是客户端的随机端口
在论坛搜索“ftp”,按标题,所有的板块,参考:
http://www.csna.cn/forum.php?mod ... 9&highlight=ftp
http://www.csna.cn/forum.php?mod ... 3&highlight=ftp
回复

使用道具 举报

发表于 2009-3-23 11:22:09 | 显示全部楼层
138×256+209=35537 ,不错
回复

使用道具 举报

发表于 2009-3-24 15:09:28 | 显示全部楼层
描述了Passive模式的FTP连接传输的步骤:
1、客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口A(这里是80);
2、服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口A(80);
3、客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答;
4、当用户请求一个列表(List)或者发送或接收文件时候,客户端软件发送PASV命令给服务器端表明客户端希望进入Passive模式;
5、服务器端进行应答响应,应答包括服务器的IP地址和一个暂时的端口B,这个暂时的端口B是客户端在打开数据传输连接时应该使用的端口;
(第57个数据包
这里 响应: 227 Entering Passive Mode (30,30,30,30,138,209)<CR><LF>  [54/49]
服务器IP=30.30.30.30
服务器暂时的被动端口B=138×256+209=35537

6、客户端发送一个SYN包,源端口为客户端自己选择的一个暂时端口C(这里是5898),目的端口为服务器在PASV应答命令中指定的暂时端口号B;
(C=5898是客户端的随机端口,B=35537,第58个数据包里)
7、服务器端发送SYN ACK包给客户端,目的端口为客户端自己选择的暂时端口,源端口为PASV应答中指定的暂时端口号;(#59)
8、客户端发送一个ACK包;(#60)
9、发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认;
10、当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认;
11、客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2010-3-7 23:10:01 | 显示全部楼层
不错,正用得着~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

发表于 2010-3-9 16:21:51 | 显示全部楼层
来学习、学习.......................
回复

使用道具 举报

发表于 2011-11-21 23:15:43 | 显示全部楼层
解释的很详细。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表