FTP协议
1、了解FTP协议
2、使用在Windows操作系统上使用serv-U软件搭建FTP服务器
3、分析FTP流量
一、FTP协议
1、概念
- FTP(文件传输协议),由客户端和服务器两部分组成,C/S架构
- 应用场景:企业内部存放公共文件,开发网站时,利用FTP协议将网页或程序传到网站服务器中,网络中传输一些大文件时,也使用该协议
- 基于传输层TCP,默认端口号20和21
- 20号端口一般用于传输数据,21号端口用于传输控制信息
- 是否使用20号端口作为传输数据的端口和FTP的传输模式有关系
- 如果采用的是主动模式,传输数据端口是20号
- 如果采用的是被动模式,传输数据端口需要服务器和客户机协商决定
- 主动模式(port方式)
- 建立连接使用21号端口,客户端通过此通道向服务器发送port命令,服务器从20号端口主动向客户端发起连接
- 被动模式(pasv(passive)方式)
- 建立连接使用21号端口,客户端向服务器发送pasv命令,服务器收到后会随机打开一个高端端口(端口号比较大,大于1024),服务器在指定范围内的某个端口被动等待客户机连接
- 传输文件时的传输模式
- 文本模式:ASCII模式,以文本序列传输
- 二进制模式:binary模式,传输非文本内容(视频、图片、应用程序等)
二、FTP的客户端和服务端
1、服务端程序
- serv-U
- filezilla server
- vsftpd(Linux下的)
- Windows server IIS(FTP发布服务)
2、客户端程序
- 命令行:ftp IP地址
- 资源管理器:地址栏中输入ftp://IP地址
- 浏览器:ftp://IP地址
- 第三方工具
- flashFXP
- filezilla client
- cuteftp
- xftp
三、部署FTP服务器
1、安装serv-U
2、定义一个域
3、定义用户
针对于FTP的用户
-
匿名用户
-
anonymous固定名称(某些FTP的服务端软件也可以使用ftp用户名作为匿名用户)
-
密码为空,权限选择只读
-
-
普通用户
四、抓包
1、被动模式
2、主动模式
禁用被动模式
再次连接,抓包
发现此时数据通过20号端口传输