FTP原理和探究

发布于:2022-10-26 ⋅ 阅读:(322) ⋅ 点赞:(0)

目录

 FTP基本原理

FTP的两种工作方式

主动模式

 被动模式

 两种工作方式差异

FTP的传输模式

ascii模式和二进制模式

FTP命令

参考文献


文章起源于:web课程需要利用FTP协议将所编写代码提交到云服务器,并利用nginx部署服务器

 FTP基本原理

        FTP(File Transfer Protocol) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。用户可以同时使用FTP协议访问/上传FTP服务器的资源。FTP的传输效率很高,但相对的其安全性,其更高的安全协议有FTPS、SFTP。

        FTP在传输时默认使用TCP中的两个端口——20和21端口,其中20用于传输数据,21端口用于传输控制信息。

FTP的两种工作方式

        FTP有两种工作方式,一种为Standard (也就是 PORT方式,主动方式),另一种是 Passive(也就是PASV,被动方式)。

判断是否主动,观察服务端是否向客户端请求数据通路连接

主动模式

        客户端打开两个端口(>1024  称为X),另一个为Y端口。客户端端口X连接FTP服务器端口21,并监听端口 Y,同时向服务端发送PORT命令【我要用Y端口接收数据】。服务端20端口向客户端Y端口请求并建立数据连接。

Wireshark 捕获客户端FTP 主动模式数据

 被动模式

        客户端打开端口(>1024  称为X)。客户端端口X连接FTP服务器端口21,通过验证后,发送PASV 命令,服务端收到PASV命令后,开发端口Y(>1024),并通知客户端,使用Y端口传输数据。客户端通过端口 Z 三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。

Wireshark 捕获客户端FTP 被动模式数据

 两种工作方式差异

        主动模式:客户端开放2个端口,X,Y。X连接服务端21端口传输控制信息(PORT命令传输Y信息给服务端),服务端20端口主动连接客户端Y端口

        被动模式:客户端开放先1个端口,X。X连接服务端21端口传输控制信息(PASV服务端请求服务端开放端口),服务端开放端口Y,并通过21端口返回信息,客户端Z端口主动连接服务端Y端口。

缺点:

        很多防火墙在设置的时候都是不允许接受外部发起的连接的。

  • 客户端在内网,主动模式可能连接不上服务器(内网防火墙可能未开放数据传输端口,如客户端PORT了6789端口,但是防火墙未开放6789端口)
  •   服务端在内网时,被动模式可能连接不上服务器。(内网防火墙可能未开放数据端口)      

所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。(来源百度百科)

FTP的传输模式

ascii模式和二进制模式

ASCll模式用于传输文本,发送端的字符在发送前被转换成ASCll码格式之后进行传输,接收端收到之后再将其转换成字符

用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝。在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。

FTP命令

引用:(149条消息) 玩转wireshark系列第四篇-抓取ftp包_彪悍的男人的博客-CSDN博客_wireshark抓ftp

 

 

 

 

参考文献

【1】FTP协议_百度百科 (baidu.com)

【2】FTP原理简述及对FTP服务进行攻击实验 - 简书 (jianshu.com)

【3】17-FTP原理与配置 - 龙门、三少 - 博客园 (cnblogs.com)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到