FTP协议中的登录 上传 下载 新建目录 删除目录 的wireshark包分析(一文看完TCP包分析,附源文件,ppt,操作视频)

本文详细介绍FTP协议工作原理,通过Wireshark抓包分析登录、下载、上传文件、新建和删除目录的过程,适合理解TCP/IP模型与FTP交互。

​​​​​​​目录

 

一原理

二.FTP登录

三.FTP下载

四.FTP上传

五.FTP新建目录

六.FTP删除目录


一原理

前言:TCP/IP四层模型和OSI模型对照,以及FTP在模型中的位置。

FTP( File Transfer Protocol), 从一个主机向一个主机传输文件的 协议 . 工作 流程中使用控制链接和数据连接两种方式来实现数据 传输
FTP 客户端包含两部分: 用户接口 客户端接口 。用户 接口用来和用户进行人机交互,而客户端接口则负责 FTP 协议相关的处理

FTP 协议的工作模式可以分为 主动模式 被动模式 ,两者的主要区别在于数据连接建立方式不同
主动模式 : 客户端连接成功后,主动告诉服务器数据连接的 端口
被动模式 :客户端连接成功后,在进行数据传输时临时连接服务器的 20 端口,利用此端口进行数据的传输。
FTP 协议是基于 TCP 连接进行通信的,但它不同于 HTTP TELNET 等协议。 他们之间最大的差别在于: FTP 协议是使用两个并行的连接来传输文件的 , 一个为 控制连接 , 另一个为 数据连接
控制连接 :用来在客户端和服务器之间传输控制信息。如:登陆认证时的 用户名和密码 上传 下载文件 切换目录 等,也就是说和 FTP 协议相关的命令都是通过控制连接在实现的
数据连接 :主要用来实现文件的传输。如 上传下载的文件内容 都是通过该 TCP 连接上进行的

二.FTP登录

FTP 的登录涉及的 Response Command 主要值注解:
Command USER—— 登录的用户名
Command PASS—— 密码
Command SYST—— 获取服务器的 操作系统
Command OPTS UTF8 on —— 请求设置为 UTF8 编码
Response 220—— 对新用户服务 准备好
Response 200—— 命令成功
Response 331—— 用户名正确,需要密码
Response 530—— 用户不能登陆
Response 230—— 用户登录成功
Response 215—— 系统类型

主要流程:

1.在浏览器中输入FTP地址,如 FTP://192.168.1.154,然后输入用户名和密码,如下

2.抓到的包如下

3.请求用户名命令:USER

4.请求密码命令:PASS

5.回答230,登录成功


三.FTP下载

FTP的下载ResponseCommand主要值注解:

Command CWD—— 改变服务器上的工作目录
Command RETR—— 从服务器上找回(复制)文件
Command TYPE—— 设置数据交换的类型 {A(SCII),E(BCDIC),I(mage),L( ocal byte size )}
Command SIZE 〈FILENAME 〉—— 文件大小,执行成功返回 213
Command PASV—— 进入被动模式
Command QUIT—— 退出
Response 200—— 命令成功
Response 213—— 文件 状态
Response 257—— 路径名建立
Response 550—— 未执行请求的 操作
Response 227—— 进入被动 模式
Response 125—— 数据连接已打开,准备 传送
Response 226—— 关闭数据连接,请求的文件操作 成功
Response 221—— 服务关闭控制连接,可以退出 登录

主要流程:

     1.抓包

2.主要包有:

3.RETR命令请求下载

4.Response:125——数据连接已打开,准备传送

5.Response:226——关闭数据连接,请求的文件操作成功

6.请求命令QUIT,退出

7.回显221 ,关闭控制连接,参数Goodbye


四.FTP上传

FTP的上传ResponseCommand主要值注解:

Command CWD—— 改变服务器上的工作目录
Command STOR—— 储存(复制)文件到服务器上
Command NOOP—— 等待,无实际 动作 ,使 服务器返回 OK
Response 200—— 命令成功
Response 226—— 关闭数据连接,请求的文件操作 成功
Response 227—— 进入被动 模式

Response530——用户不能登陆

主要流程:

1.上传文件,拖到FTP服务器中

2.抓包

3.STOR命令,请求上传文件

4.Response:125——数据连接已打开,准备传送

5.Response:226——关闭数据连接,请求的文件操作成功


五.FTP新建目录

FTP增加目录

Command MKD—— 在服务器上 创建目录
Command LIST—— 列出当前目录下所有文件和 子目录
Command RNFR—— 指定需要改名的原 文件 .
Command RNFO—— 指定 需要改名的新 文件名
Response 200—— 命令成功
Response 257—— 路径名创建
Response 227—— 进入被动 模式
Response 226—— 关闭数据连接,请求的文件操作 成功
Response 125—— 数据连接已打开,准备 传送
Response 350—— 请求 的文件操作需要进一步 命令
Response 250—— 请求 的文件操作 完成

主要流程:

1.新建文件夹,并命名为123
2.抓包
3.MKD命令,创建文件夹

4.PATHNAME created 创建目录成功

5.RNFR命令:修改目录名

6.RNTO:回送命令,参数为文件名

7.修改目录名成功

六.FTP删除目录

FTP删除目录

Command RMD—— 在服务器上删除指定 目录
Command LIST—— 列出当前目录下所有文件和子目录
Response 250—— 请求的文件操作完成
Response 200—— 命令成功
Response 257—— 路径名创建
Response 227—— 进入被动模式
Response 226—— 关闭数据连接,请求的文件操作成功
Response 125—— 数据连接已打开,准备传送

主要流程:

1.在文件管理器中删除目录123

2.抓包

3.删除目录命令RMD,参数123

4.回答250,删除成功

七.源文件下载

本文wireshark抓到的包文件下载:FTP的wireshark抓包.zip-互联网文档类资源-优快云下载 

wireshark抓到的包文件github下载:GitHub - 869019048/ftp_ip_protocel_wiresharkfile

本文链接:FTP协议中的登录 上传 下载 新建目录 删除目录 的wireshark包分析(一文看完TCP包分析,附源文件,ppt,操作视频)_Alocus_的博客-优快云博客

详细ppt,操作视频连接:计算机网络IPFTP协议分析.ppt(wireshark抓包分析)_ip抓包中区分服务-互联网文档类资源-优快云下载

在C语言里,位左对齐右对齐一般在格式化输出时会用到,主要用于控制数据在输出时的位置。以下是相关介绍: ### 整型数据的左对齐右对齐 通过`printf`函数实现整型数据的左对齐右对齐右对齐是默认方式,在格式说明符`%`和`d`之间添加数字来规定输出宽度,若数字位数小于规定宽度,会在左边补空格;左对齐则需在数字前加`-`号,若数字位数小于规定宽度,会在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐。数字宽度为10,若不足10,在左边补足空格 printf("%10d\n", 1234); // 左对齐。数字宽度为10,若不足10,在右边补足空格 printf("%-10d\n", 1234); return 0; } ``` ### 不同输出长度的情况 当规定的输出宽度和数字实际位数不同时,有不同的处理方式。若规定宽度小于数字实际位数,会完整输出数字;若规定宽度大于数字实际位数,右对齐在左边补空格,左对齐在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // -5是左对齐,输出长度为5。5是右对齐,输出长度为5 printf("%-5d %5d\n", 455, 455); printf("%-5d %5d\n", -123, -123); // 规定宽度小于实际位数,完整输出数字 printf("%-5d %5d\n", 987654, 987654); return 0; } ``` ### 其他数据类型的对齐 除整型外,其他数据类型也能实现左对齐右对齐。例如浮点数(`%f`)、字符串(`%s`)等,方法和整型一致。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐浮点数,宽度为10 printf("%10f\n", 3.14); // 左对齐浮点数,宽度为10 printf("%-10f\n", 3.14); // 右对齐字符串,宽度为10 printf("%10s\n", "hello"); // 左对齐字符串,宽度为10 printf("%-10s\n", "hello"); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alocus_

如果我的内容帮助到你,打赏我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值