为什么说 FTP 早该淘汰?Wireshark 抓包演示:你的信息正被 “明牌” 传输
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
TP协议详解 流程与抓包全解析 本文将带你深入了解FTP协议的基本原理、关键流程以及如何通过Wireshark进行实际抓包分析,帮助你全面掌握文件传输协议的核心知识与实战技能。 知识点 FTP(文件传输协议)是基于客户端 - 服务器模型的 TCP 协议,用于跨网络传输文件。它依赖两个独立 TCP 连接:控制连接(服务器 21 端口,传命令 / 响应,全程保持)、数据连接(临时端口,传文件 / 目录列表,用完关闭),分主动(服务器发数据连接)、被动(客户端发,更常用)模式,核心功能是文件上传、下载及目录列表查看。 关键流程 FTP 完整流程拆解(含主动 / 被动模式)FTP 流程分为 5 个核心阶段,其中数据连接的建立方式是关键差异点(主动模式 PORT vs 被动模式 PASV),需分别说明。 阶段 1:建立控制连接(所有模式通用)服务端与客户端进行tcp连接。 阶段 2:用户认证(所有模式通用)客户端通过控制连接发送认证信息,服务器验证后返回结果,用于用户登录认证。 阶段 3:建立数据连接(核心差异:主动 vs 被动模式)认证成功后,若客户端需要执行文件传输或查看目录列表(如LIST命令),需先建立数据连接。根据 “谁主动发起数据连接”,分为两种模式: 阶段 4:执行文件操作(下载 / 上传 / 列目录)数据连接建立后,客户端通过控制连接发送具体操作命令,服务器通过数据连接传输数据,代表命令如下: Wireshark抓包分析 这里我使用xftp工具,连接到一台以前淘宝上买的不使用的虚拟空间。 ![]() 链接成功后,进行了上传文件,已经断开链接,使用Wireshark抓包如下: ![]() 从中可以发现,抓到的包是tcp的包,Wireshark并没有识别成功为ftp。 ![]() 可见服务端往客户端推送了一个tcp包,通过data字段回的16进制转换为文本可知为ftp server ready,准备好了,并且查看下下一个包 ![]() 客户端回给服务端的数据为USER it1995。 ![]() 选中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 服务器向客户端返回的传输完成响应,核心信息分析如下: END 阅读原文:原文链接 该文章在 2026/1/4 15:59:47 编辑过 |
关键字查询
相关文章
正在查询... |