【网络知识】FTP主被动模式介绍及抓包分析
2023/6/16 1:23:03
本文主要是介绍【网络知识】FTP主被动模式介绍及抓包分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一.FTP是什么
FTP,即文件传输协议(File Transfer Protocol,FTP),基于该协议客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成两个连接,一个用来控制连接,传输FTP命令,标准端口为21;另一个用于上传、下载数据,标准端口为20。FTP有两种工作模式,分别是主动模式和被动模式,下面将对其进行详细介绍。
##
本次测试环境的客户端和服务端均为linux系统,服务端为Vsftp 服务器
客户端ip:192.168.13.104
服务端ip:192.168.13.111
##
二.被动模式(较为常用)
具体流程
1.客户端连接到服务器的21端口(默认命令端口)
2.客户端发送pasv
命令,请求服务器进入被动模式(linux客户端默认为passive模式)
3.服务器打开一个监听端口,并告知客户端
4.客户端收到响应后,主动连接到服务器的监听端口
下图为被动模式抓包截图,供参考学习
ACK包就不做分析了
1-3 三次握手,建立tcp连接,由此也能看出来ftp协议是基于tcp协议的
4 服务端响应ftp连接
6 客户端输入用户名
8 服务端提示请输入密码
10 客户端输入密码
11 服务端响应登录成功
13 客户端查询服务器系统类型
14 服务端返回系统类型
16 客户端请求被动模式
17 服务端响应进入被动模式,并将监听的端口13365发给客户端 (52x256+53=13365)
19-21三次握手,建立tcp连接
22 客户端查询目录(dir)
23 服务端响应
24 服务器传递目录详细信息
25,27-29 四次挥手
30 服务端提示传送完毕
32 设定传输模式为二进制模式
33 服务端返回设定的结果
40 服务端请求下载文件(get 13111.txt)
41 服务端显示当前为binary传输模式
42 开始数据传输
43-46 四次挥手
47 服务端提示传输完成
49 客户端请求退出
50 服务端响应退出请求
三.主动模式
具体流程
1.客户端连接到服务器的21端口(默认命令端口)
2.客户端打开一个监听端口,并通过port
命令告知服务器
3.服务器收到port命令后,通过服务器的20端口主动连接到客户端的监听端口
下图为主动模式抓包,供参考学习
上面的被动模式已经说的较为详细,这里只介绍主动模式与其不同的地方
19 客户端给服务端发送监听的ip和端口,等待服务端来主动连接(linux默认为被动模式,输入pass切换到主动模式)
20 服务端响应已经收到port命令
不管是主动还是被动,这个都是相对于服务器而言的。所以被动模式,可以简单的理解为服务器被动的等着客户端来连接它。(人话版本)
四.FTP常用的命令
dir:显示服务器目录和文件列表
ls:显示服务器简易的文件列表
cd:进入服务器指定的目录
pwd:查看当前工作目录
rename filename newfilename:重命名FTP服务器上的文件
delete filename:删除FTP服务器上的文件
help[cmd]:显示FTP命令的帮助信息,cmd是命令名,如果不带参数,则显示所有FTP命令
close:结束与服务器的FTP会话
quit:结束与服务器的FTP会话并退出FTP环境
bye: 退出ftp会话过程
get:下载指定文件 get filename [newname](filename为下载的FTP服务器上的文件名,newname为保存在本地计算机上时使用的名字,如果不指定newname,文件将以原名保存。
mget aa cc:批量下载
put aa.txt:上传文件
mput aa cc:批量上传文件
所有内容只为了记录学习过程,后续会继续补全完善,部分内容来源于网络,侵删。
这篇关于【网络知识】FTP主被动模式介绍及抓包分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?