网络协议与攻击模拟_15FTP协议

  • 了解FTP协议

在Windows操作系统上使用serv-U软件搭建FTP服务

分析FTP流量

一、FTP协议

1、FTP概念

  • FTP(文件传输协议)由两部分组成:客户端/服务端(C/S架构)

应用场景:企业内部存放公司文件、开发网站时利用FTP协议将网页或程序传到网站服务器,网络中传输一些大文件使用该协议。

  • FTP:基于传输层TCP的,默认端口号(20号端口一般用于传输数据,21号端口用于传输控制信息),但是,是否使用20号端口作为传输数据端口和FTP的传输模式有关系。
    • 如果采用的主动模式,传输数据使用20号端口
    • 如果采用的被动模式,传输使用的端口需要服务器和客户机协商决定

2、工作方式

  • 主动模式(port方式)
    • 建立连接使用21号端口,客户端通过此通道向服务器发送port命令,服务器从20号端口主动向客户端发起连接(不是很安全)
  • 被动模式(passive方式)
    • 建立连接使用21号端口,客户端像服务器发送pasv命令,服务器收到会随机打开一个高端端口(大于1024),服务器在指定范围内的某个端口被动等待客户端的连接。

3、 传输模式

  • 文本模式:ASCII模式,以文本序列传输
  • 二进制模式:binary模式,以二进制序列“0”和“1”传输(视频、图片、应用程序等)

二、FTP的客户端和服务端

1、服务端程序

  • serv-U
  • filezilla server(开源)
  • vsftpd(Linux平台)
  • Windows server IIS(FTP 发布服务)

2、客户端程序

  • 命令行:ftp 192.168.10.10
  • 资源管理器:地址栏输入ftp://92.168.10.10
  • 浏览器:输入ftp://92.168.10.10
  • 第三方工具
    • flashFXP
    • filezilla client
    • cuteftp
    • xftp

三、部署FTP服务器

1、Serv-U

一台windows serversion2016虚拟机,设置vmnet1网络,自动获取IP技术

在D盘创建技术部文件夹、财务部文件夹,在文件夹中存入一些内容。

安装Serv-U,首次打开会有一个登录界面,关掉重新打开一下就直接进去了

(1)定义新域

  • 域详细信息

定义新域woniu就好了

  • Domain Type

文件传输和文件共享,我们不用文件共享功能,可以把它勾掉

  • Protocols

默认是开启了FTP的21号端口、FTPS的990端口、使用SSH的SFTP的22号端口、HTTP的80端口和HTTPS的443端口

FTP传输的是明文信息,SFTP传输的是密文信息,使用SSH可以将FTP的密码进行加密,使用SSH的SFTP是SSH和SFTP的结合。

  • IP Listeners

监听,ipv4,所以只将ipv4勾上。

  • 加密

Serv-U能够恢复密码 ,密码的加密模式,我们使用服务器设置

(2)创建用户 

针对FTP的用户有匿名用户和普通用户。

a、匿名用户

匿名用户:anonymous 固定名称(某些FTP服务端软件也可以使用ftp用户名作为匿名用户)

密码设为空

这个用户创好了

b、普通用户

用户信息

zhangsan访问的时候直接访问到技术部文件夹且对技术部下的文件夹有完全访问权限

2、工作方式(被动)

针对Serv-U默认使用的是被动模式。

Winshark打开抓Vmnet1网卡流量,本地资源管理器访问一下,然后抓包分析:

客户机和服务器的21号端口建立三次握手

服务器返回给客户端一个消息Response响应状态码是220,服务器信息是Serv-U FTPServerv15.1 redy   220状态码 成功响应

客户机请求服务器,请求用户名是anonymous

服务器向客户机响应

状态码331,user name okey,please send complete E-mail address as password。

匿名用户没有设置密码,客户机像服务器发送响应报文,Request:PASS IEUSER@

服务器向客户机发送响应报文,Response :230 User logged in,proceed

客户机向服务器确认ACK

客户机向服务器请求,opts utf8 on,请求指定utf8字符编码集

服务器向客户机响应,Response:200 OPTS UTF8  is set to ON

客户机向服务器确认ACK

接着

客户机向服务器发送请求Request :syst

服务器向客户机响应:Response:215 UNIXType:L8(可以看出Serv-U软件的底层是UNIX)

客户机向服务器确认ACK

接着

客户机向服务器请求Request:site help

服务器响应客户机 Response:214,返回了一些Help Message

pasv 227状态码

端口是49684这个端口我们没有设置过

接着是客户机和服务器重新建立三次握手

3、传输模式(binary)

从ftp://192.168.254.133下载到本地一个文件,抓包可以看到文件传输是binary模式.

四、FTP状态码

状态码说明
1XX肯定的初步答复
110重新启动标记答复
120服务已就绪,在nnn分钟后开始
125数据连接已打开,正在开始传输
150文件状态正常,准备打开数据连接
2xx肯定的完成答复
200命令确定
202未执行命令,站点上的命令过多
211系统状态,或系统帮助答复
212目录状态
213文件状态
214帮助消息
215NAME系统类型,其中,NAME是Assigned Numbers文档中所列的正式系统名称
220服务就绪,可以执行新用户的请求
221服务关闭控制连接,如果适当请注销
225数据连接打开,没有进行中的传输
226关闭数据连接,请求的文件操作已成功(例如:传输文件或放弃文件)
227

进入被动模式(h1,h2,h3,h4,p1,p2)

230用户已登录,继续进行
250请求的文件操作正确,已完成
257已创建“PATHNAME”
3xx可定的中间答复
331用户名正确,需要密码
332需要登录账户
350请求的文件操作正在等待进一步的信息

4xx

状态否定的完成答复
421服务不可用,正在关闭控制连接,如果服务确定它必须关闭,将向任何命令发送这一应答
425无法打开数据连接
426Connection closed;transfer aborted
450

未执行请求的文件操作,文件不可用(例如:文件繁忙)

451请求的操作异常终止们正在处理本地错误
452未执行 请求的操作,系统存储空间不够
5xx永久性否定的完成答复
500语法错误,命令无法识别。这可能包括诸如命令行太长之类的情景
501在参数中有语法错误
502未执行命令
503错误的命令序列
504未执行改参数的命令
530未登录
532存储文件需要账户
550未执行请求的操作,文件不可用(例如:未找到文件,没有访问权限)
551请求的操作异常终止,未知的页面类型
552请求的文件操作异常终止,超出存储分配(对于当前目录或数据集)
553未执行请求的操作,不允许的文件名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zkaisen

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值