1.quit退出服务器
客户端输入退出命令:ui
退出的抓包数据交换过程:spa
2.用户登陆,输入正确用户名和错误用户名都是返回331请求输入密码,这里再也不将错误用户名的抓包数据交换过程截图。3d
数据交换过程:blog
服务器端准备好的数据格式(状态码 消息):ip
客户端发送用户名格式(USER 用户名):文件上传
服务器端返回请求输入密码格式(状态码 消息):it
客户端发送密码格式(PASS 密码):登录
服务器端返回正确登陆消息(状态码 消息):服务器端
若是登陆失败后在ftp> 下输入open dstip,user xxx的数据交换格式同上。
open dstip就至关于发起一个新的链接。
user xxx就至关于发送USER xxx,而后会要求输入密码。
三、目录检索,真实的ftp传输是有控制通道和数据通道的:
输入命令:
客户端发送命令请求:
服务器端相应命令请求状态:
服务器端相应结果:
服务端响应数据发送完毕:
若是用户未登陆,服务器端会请求客户端输入用户密码:
四、目录切换
若是客户端未登陆,则服务器端会请求客户端输入用户密码:
用户已经登陆的状态:
目录切换成功:
目录切换失败:
五、打印当前目录:
6.文件下载
基本数据交换过程都同样:
1)客户端请求端口
2)服务器回应端口可用
3)客户端请求命令
4)服务器回应文件状态和文件大小
5)服务器开始发送文件内容
6)服务器发送文件发送完毕状态
若服务器读取文件失败时,服务器会响应错误消息:
7.文件上传:
若服务器没法写文件,服务器会响应失败消息:
正常的文件上传过程:
1)客户端请求端口
2)服务器回应端口可用
3)客户端请求命令
4)服务器回应能够发送了
5)客户端发送文件内容
6)服务器发送文件发送完毕状态