LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

为什么说 FTP 早该淘汰?Wireshark 抓包演示:你的信息正被 “明牌” 传输

admin
2025年12月31日 22:48 本文热度 321

TP协议详解

​流程与抓包全解析



本文将带你深入了解FTP协议的基本原理、关键流程以及如何通过Wireshark进行实际抓包分析,帮助你全面掌握文件传输协议的核心知识与实战技能。

知识点

FTP(文件传输协议)是基于客户端 - 服务器模型的 TCP 协议,用于跨网络传输文件。它依赖两个独立 TCP 连接:控制连接(服务器 21 端口,传命令 / 响应,全程保持)、数据连接(临时端口,传文件 / 目录列表,用完关闭),分主动(服务器发数据连接)、被动(客户端发,更常用)模式,核心功能是文件上传、下载及目录列表查看。

关键流程

FTP 完整流程拆解(含主动 / 被动模式)FTP 流程分为 5 个核心阶段,其中数据连接的建立方式是关键差异点(主动模式 PORT vs 被动模式 PASV),需分别说明。

阶段 1:建立控制连接(所有模式通用)服务端与客户端进行tcp连接。

阶段 2:用户认证(所有模式通用)客户端通过控制连接发送认证信息,服务器验证后返回结果,用于用户登录认证。

阶段 3:建立数据连接(核心差异:主动 vs 被动模式)认证成功后,若客户端需要执行文件传输或查看目录列表(如LIST命令),需先建立数据连接。根据 “谁主动发起数据连接”,分为两种模式:  
• 模式 A:主动模式(PORT Mode,传统模式)    
• 主动模式下,服务器主动向客户端发起数据连接,客户端在本地随机选择一个空闲的高端口(如 5000) ,并通过控制连接向服务器发送 “PORT 命令”,告知服务器自己的 IP 和该端口。  
• 模式 B:被动模式(PASV Mode,主流模式)    
• 被动模式下,客户端主动向服务器发起数据连接(解决主动模式下客户端防火墙拦截服务器连接的问题),客户端通过控制连接向服务器发送 “PASV 命令”(PASV),表示 “请进入被动模式,告知我你的数据连接端口”。

阶段 4:执行文件操作(下载 / 上传 / 列目录)数据连接建立后,客户端通过控制连接发送具体操作命令,服务器通过数据连接传输数据,代表命令如下:
a. 查看目录列表(LIST 命令)
b. 下载文件(RETR 命令)
c. 上传文件(STOR 命令)

Wireshark抓包分析

这里我使用xftp工具,连接到一台以前淘宝上买的不使用的虚拟空间。

链接成功后,进行了上传文件,已经断开链接,使用Wireshark抓包如下:

从中可以发现,抓到的包是tcp的包,Wireshark并没有识别成功为ftp。
想点击第一个非TCP三次握手的包查看下。

可见服务端往客户端推送了一个tcp包,通过data字段回的16进制转换为文本可知为ftp server ready,准备好了,并且查看下下一个包

客户端回给服务端的数据为USER it1995。
此时我们就能确定,这个流程就是FTP,并且不安全,因为什么都是明文传输。
任意点击一个右击,选中Decode As如下图所示。

选中ftp。

从中可以看到Wireshark识别为FTP了,原因是只有默认为21端口时,ftp才会主动识别,其他端口,需要分析者自行操作。

从上面的图中也能知道,ftp并不安全,data中的二进制数据,能直接翻译成文本串,这也是目前稍微大一点的厂家都不会使用这个协议的原因。USER和Password都是明文传输。
这里我们挑几个重要的包来看下:

FTP 被动模式(PASV)建立过程的关键数据包交互:帧 39(客户端→服务器):客户端(192.168.82.101)向 FTP 服务器(222.223.152.221)发送 PASV命令,请求服务器进入被动模式(由客户端主动发起数据连接,适配防火墙等场景)。

FTP 服务器对客户端 “PASV(被动模式请求)” 命令的响应包,核心信息为:FTP 响应类型:服务器返回227响应码,意为 “进入被动模式”,并提供用于数据连接的 IP 和端;
这两步为后续文件 / 目录列表的传输,建立了 “数据连接” 的前置条件。

FTP 服务器向客户端返回的传输完成响应,核心信息分析如下:
1. FTP 层关键信息
• 响应码与描述:226 Transfer complete. —— 这是 FTP 的成功响应码,表明一次数据传输(如文件上传 / 下载、目录列表获取)已完成。
• 当前工作目录:[Current working directory: /wwwroot] —— 当前在 FTP 服务器的 /wwwroot 目录下执行操作。
2. 网络层与传输层辅助信息
• 通信双方:服务器(222.223.152.221,源端口 1056)→ 客户端(192.168.82.101,目的端口 51081)。
• TCP 交互:包中 TCP 的序号(Seq)、确认号(Ack)等字段,是 TCP 可靠传输机制的体现,确保 FTP 响应能被客户端正确接收。
该包是 FTP 流程中 “数据传输完成的收尾通知”,告知客户端:本次数据(文件或目录列表)已成功传完,且当前操作目录为服务器的 /wwwroot。


​END

阅读原文:原文链接


该文章在 2026/1/4 15:59:47 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved