FTP协议详解
作者:互联网
今天给大家介绍一下FTP协议的相关内容。本文从FTP的概述、两种模式讲起,详细介绍了FTP协议的相关理论内容。
一、FTP概述
FTP(File Transefer Protocl),文件传输协议,是目前网上常用的文件传输协议之一。FTP采用TCP链接,是典型的C/S架构,分为FTP服务端和FTP客户端。FTP采用的端口号一般情况下为21和20,其中20用于传输数据,21用于控制信息。FTP分为两种模式,这两种模式的FTP实现原理不完全相同。在被动模式下,FTP的传输数据端口不一定是20。FTP具体采用哪种模式实现数据传输由FTP客户端决定。
不论采取哪种模式,FTP的文件传输过程都可以分成控制信息传输和数据传输,其中控制信息传输总是先建立,建立后再协商好数据传输模式和端口等信息。
二、FTP主动模式
主动模式又称为Active Mode、Port模式,是指在数据链接建立时,FTP Server主动向FTP Client发起TCP三次握手链接的模式。
主动模式过程如下所示:
在FTP主动模式中,在完成控制链接三次握手和认证过程后,FTP Client向FTP Server发送Port Command数据包,在该数据包中携带有FTP Client为建立FTP数据传输链接而开启的端口号,然后等待FTP Server主动向FTP CLient发起TCP链接请求。在主动模式下,FTP Server总是以20端口向FTP Client建立TCP链接。
主动模式建立过程如下所示:
三、FTP被动模式
被动模式又被成为PASV模式,是指在数据链接建立时,FTP Server被动的等待FTP Client建立TCP链接的模式。
FTP被动模式示意图如下所示:
在FTP被动模式中,在完成控制链接三次握手和认证过程后,FTP Client向FTP Server发送PASV Command数据包,然后FTP Server回复PSCV Command OK数据包,在该数据包中携带有Server端为建立FTP数据传输链接而开启的端口号,然后等待FTP Client主动向FTP Server发起TCP链接请求。在被动模式下,FTP Server不确定使用哪个端口与FTP Client建立数据链接。
被动模式建立过程抓包如下所示:
四、FTP端口选择
最后,再给介绍一下FTP协议中端口的选择问题,抓取FTP建立过程中协商端口的报文如下所示:
可以看出,报文中并没有明确的指名端口号,但是存在两个数字,在本例中,这两个数字是8和11。不论是主动模式,还是被动模式,端口号就是通过这两个数字计算出来的。计算方式为:
256*第一个数字+第二个数字
在本例中,计算出的结果是2059,及开放2059端口。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/119190054
标签:FTP,被动模式,协议,模式,Server,详解,Client,链接 来源: https://blog.csdn.net/weixin_40228200/article/details/119190054