FTP协议的Wireshark抓包分析

环境配置:
Ubuntu虚拟机(服务器):192.168.153.132
win7实体机(客户端):192.168.153.1

1.理论介绍

FTP是FileTransfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输
FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。
Port模式
FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
在这里插入图片描述

Passive模式
建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

2.ftp安装

linux默认是没有ftp服务端的,需要我们自行安装。

apt install vsftpd 
配置文件etc/vsftpd.conf 中的write_enable =YES打开。

安装后便可以通过windows实体机进行连接了。

3.windows上连接ftp服务器

常用的连接ftp服务器的方法:

3.1.通过浏览器访问

1.连接界面
在这里插入图片描述
2.文件列表
在这里插入图片描述

3.2.通过资源管理器访问

1.连接界面
在这里插入图片描述
2.文件列表
在这里插入图片描述

3.3.通过命令行进行访问(本次采用方式,使用主动模式连接)

在这里插入图片描述

4.Wireshark抓包ftp分析

4.1Wireshark抓包

在此是使用客服端的网卡进行抓包,因为还有ssh的连接,我们可以通过筛选端口来进行过滤:过滤tcp.port为20、21。
在这里插入图片描述
在这里插入图片描述

4.2抓包分析

1.ftp建立控制链路
客户端使用随机port56961连接至服务端的port21。
2.ftp的登录
user、passwd的登录验证,可以看到可以抓取到明文账号密码。
3.文件列表查询
建立数据链路
服务端port20至客户端随机端口port56965
查询远端文件列表
关闭数据链路
服务端服务端至客户端随机端口port56965
服务端端
4.文件上传
服务端port20至客户端随机端port56987
上传文件
关闭数据链路
服务端port20至客户端随机端口port56987
5.close请求
6.ftp关闭控制链路

可以看见ftp数据链路是建立完就关闭的,其开销还是较大的,其中有文件查询、文件上传共两次链路的建立。
可以看见ftp的传输过程是采用明文传输,可以抓取到用户名、密码,以及文件内容,因此在安全要求较高的场景已经逐渐被sftp所替代。

  • 26
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值