FTP协议描述

什么是 FTP

FTP(File Transfer Protocal),是文件传输协议的简称。FTP是工作在应用层的网络协议.应用的具体事例为FTP服务器和FTP客户端。通过两者可以在网络中建立连接,进行文件的传输。其整个文件传输过程大致分为两个阶段:首先,使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输
  

FTP工作模式

FTP分为两种工作模式,主动模式和被动模式。这两种模式是按照FTP服务器的“角度”来说的,更通俗一点说就是:在传输数据时,如果是服务器主动连接客户端,那就是主动模式;如果是客户端主动连接服务器,那就是被动模式。

主动模式

FTP客户端向服务端的命令端口(一般都是21号端口)发起连接请求,服务器端接收到命令建立连接。主动方式FTP客户端会发送PORT命令告诉服务器,服务器下一步进行数据连接请求的IP和端口号,说明此IP客户端主动开放此端口。随后服务端建立数据连接请求,连接建立后进行数据传输。

被动模式

FTP客户端向服务端的命令端口(一般都是21号端口)发起连接请求,服务器端接收到命令建立连接。被动方式FTP客户端会发送PASV命令告诉服务器,监听的方式为被动方式,服务器返回用于数据传输的服务端IP和随机端口,位于(1025—65535)之间,说明此IP服务器端主动开放此端口,客户端将与此服务器建立起数据链路,进行文件的上传下载。

网络拓扑图

以下为进行FTP主动模式和被动模式测试网络拓扑图,包括:ftp客户端,具有代理任务的路由器,ftp服务器。通过客户端首先访问代理路由器的192.168.100.100的21端口,将其代理到FTP服务器上进行通信,即192.168.200.200向192.168.200.201的21端口建立连接。

主动模块传输包

以下为在主动模式下用wirshark获得到的数据包:

被动模块传输包

以下为在被动模式下用wirshark获得到的数据包:


转载请注明:HunterYuan的博客 » FTP协议描述

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦