FTP协议解析之Wireshark报文分析

您所在的位置:网站首页 如何查看ftp的端口地址信息 FTP协议解析之Wireshark报文分析

FTP协议解析之Wireshark报文分析

2023-08-30 16:58| 来源: 网络整理| 查看: 265

FTP是客户端-服务器协议,客户端将请求文件,而本地或远程服务器将提供该文件。我们熟知的FTP客户端:WinSCP、WS FTP、FileZilla等都是使用文件传输协议,它是一种标准的Internet 协议。用于通过TCP / IP 连接在Internet上的计算机之间传输文件 。

文件传输协议如何工作?

FTP是客户端-服务器协议,它依赖于客户端和服务器之间的两个通信通道。一个用于控制对话的命令通道和一个用于传输文件内容的数据通道。客户端通过请求下载文件来启动与服务器的对话。

客户端可以使用FTP上传、下载、删除、重命名、移动和复制服务器上的文件。用户通常需要登录FTP服务器,而某些服务器无需输入ID或密码即可使部分或全部内容可用。我们称为匿名FTP。

在这里插入图片描述FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流。并且是命令通向ftp服务器的进口。

控制连接(TCP 21端口)主要用于实现FTP协议控制信令传送,服务器端打开TCP 21端口被动等待客户端发起连接命令。一旦建立连接,数据就会通过这些客户端和服务器端口进行传输。数据连接(TCP 20端口)主要用于实现应用数据传送,服务器的数据连接端使用端口20。一旦建立连接,数据就会通过这些客户端和服务器端口进行传输。

FTP是否安全?

FTP不是一项安全的协议,并且具有许多安全漏洞,这跟历史定义有关,FTP最初是在1971年定义的,之前没有定义TCP和IP。而且,FTP不会对流量进行加密,个人可以通过(Wireshark)捕获数据包以读取用户名,密码和其他数据。

还有可能容易受到暴力攻击,数据包捕获,欺骗,FTP反弹和其他攻击。

常见的FTP命令和应答

SYST命令

在这里插入图片描述 Response:服务器返回系统类型。

LIST命令

在这里插入图片描述 .客户端开始发送LIST命令查询文件列表信息,服务器回复了相应文件信息,并开始准备从数据连接发送文件。

RETR命令

在这里插入图片描述

RETR请求要求服务器通过客户端已经建立的数据连接发送文件的内容。

TYPE命令

在这里插入图片描述

TYPE说明文件类型:A表示ASCLL,I表示图像。

FTP支持两种方式的传输:文本(ASCII)方式和二进制(Binary)方式。通常文本文件的传输采用ASCII方式,而图象、声音文件、加密和压缩文件等非文本文件采用二进制方式传输。

USER和PASS命令

TCP三次握手建立成功后,服务器也知道了客户端需要请求FTP服务,于是要求客户端提供相应的用户名。 在这里插入图片描述 客户端收到服务器的验证需求后,立即发送用户名 user = ftp_test

在这里插入图片描述

服务器收到后,确认用户名OK,此时需要客户端提供password=12345

QUIT命令

在这里插入图片描述

由客户端发起端开请求命令 QUIT,服务器收到请求后同意断开 向客户端发送goodbye。表示从服务器上注销。

PORT命令

在这里插入图片描述

PORT请求要求服务器使用不同的机制来创建数据连接:服务器与客户端建立TCP连接。

在这里插入图片描述

PORT请求具有以下形式的参数:

h1,h2,h3,h4,p1,p2

这意味着客户端正 在侦听IP地址h1上TCP端口p1 * 256 + p2上的 连接 。h2。h3。h4。(RFC 959形式语法不允许这些数字中的任何一个都为0。形式语法是错误的。)

服务器通常接受代码为200的PORT。如果服务器正在侦听连接,它将停止并丢弃所有已建立的连接。

服务器不会立即连接到客户端的端口。客户端发送RETR并在服务器发送其初始标记后,服务器将尝试连接。如果连接尝试失败,它将拒绝代码为425的RETR请求。否则,它将正常进行。

出于安全原因,客户端永远不要使用PORT。但是,某些客户端仍然依赖PORT,如果拒绝PORT,则将放弃文件传输。我当前的建议是服务器继续支持PORT。

FTP协议解析

int main(int argc, char* argv[]) { char errbuf[1024]; pcap_t *desc = 0; char *filename = argv[1]; if (argc != 2) { printf("usage: ./dissect_ftp [pcap file]\n"); return -1; } return 0; }

编译运行:

在这里插入图片描述

在这里插入图片描述

总结

使用FTP有以下优点:

它允许您传输多个文件和文件夹。当连接断开时,它具有恢复传输的能力。对要传输的文件大小没有限制。浏览器大概允许最大2 GB的传输。许多FTP客户端(例如FileZilla)都可以进行传输。数据传输比HTTP快。

使用FTP有以下缺点:

FTP不会对流量进行加密容易受到数据包捕获和其他攻击的攻击

参考:

《TCP/IP协议详解》http://cr.yp.to/ftp/retr.html

欢迎关注微信公众号【程序猿编码】,需要完整FTP源码和报文的添加本人微信号(17865354792)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3