您的位置:首页 > 编程语言 > PHP开发

抓包来看ftp状态码

2016-05-29 12:07 204 查看
[b]1.quit退出[/b]

客户端输入退出命令:



退出的抓包数据交换过程:







[b]2.用户登录,[/b]输入正确用户名和错误用户名都是返回331请求输入密码,这里不再将错误用户名的抓包数据交换过程截图。



数据交换过程:



服务器端准备好的数据格式(状态码 消息):



客户端发送用户名格式(USER 用户名):



服务器端返回请求输入密码格式(状态码 消息):



客户端发送密码格式(PASS 密码):



服务器端返回正确登录消息(状态码 消息):





如果登录失败后在ftp> 下输入open dstip,user xxx的数据交换格式同上。

open dstip就相当于发起一个新的连接。

user xxx就相当于发送USER xxx,然后会要求输入密码。





[b]3、目录检索,真实的ftp传输是有控制通道和数据通道的:[/b]

输入命令:





客户端发送命令请求:



服务器端相应命令请求状态:



服务器端相应结果:



服务端响应数据发送完毕:



如果用户未登录,服务器端会请求客户端输入用户密码:





[b]4、目录切换[/b]

如果客户端未登录,则服务器端会请求客户端输入用户密码:





用户已经登录的状态:

目录切换成功:





目录切换失败:





[b]5、打印当前目录:[/b]





[b]6.文件下载[/b]

基本数据交换过程都一样:

1)客户端请求端口

2)服务器回应端口可用

3)客户端请求命令

4)服务器回应文件状态和文件大小

5)服务器开始发送文件内容

6)服务器发送文件发送完毕状态







若服务器读取文件失败时,服务器会响应错误消息:





[b]7.文件上传:[/b]

若服务器无法写文件,服务器会响应失败消息:





正常的文件上传过程:

1)客户端请求端口

2)服务器回应端口可用

3)客户端请求命令

4)服务器回应可以发送了

5)客户端发送文件内容

6)服务器发送文件发送完毕状态



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: