文章目录
ftp数据连接模式
ftp有2种数据连接模式:命令连接和数据连接
命令连接:是指文件管理类命令,始终在线的持久性连接,直到用户退出登录为止
数据连接:是指数据传输,按需创建及关闭的连接
其中数据连接需要关注的有2点,一是数据传输格式,二是数据传输模式
数据传输格式有以下两种:
- 文件传输
- 二进制传输
数据传输模式也有2种:
- 主动模式:由服务器端创建数据连接
- 被动模式:由客户端创建数据连接
两种数据传输模式的建立过程:
传输模式 建立过程
- 主动模式 命令连接:
Client(1025)–> Server(21)
客户端以一个随机端口(大于1023)来连服务器端的21号端口
数据连接:
Server(20/tcp) --> Client(1025+1)
服务器端以自己的20号端口去连客户端创建命令连接时使用的随机端口+1的端口号 - 被动模式 命令连接:
Client(1110) --> Server(21)
客户端以一个随机端口来连成服务器端的21号端口
数据连接:
Client(1110+1) --> Server(随机端口)
客户端以创建命令连接的端口+1的端口号去连服务器端通过命令连接告知自己的一个随机端口号来创建数据连接
ftp服务安装
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 32 :::21 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
系统用户
[root@localhost ~]# useradd jerry
[root@localhost ~]# echo '123456' |passwd --stdin tom
更改用户 tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。
登陆成功
[root@localhost ~]# ftp 192.168.220.10
Connected to 192.168.220.10 (192.168.220.10).
220 (vsFTPd 3.0.2)
Name (192.168.220.10:root): jerry
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
在服务端jerry家目录创建目录123
ftp> ls
227 Entering Passive Mode (192,168,220,10,245,93).
150 Here comes the directory listing.
drwxr-xr-x 2 1002 1002 6 Nov 05 03:45 abc
226 Directory send OK.
ftp> mkdir 123
257 "/home/jerry/123" created
验证
[root@localhost ~]# cd /home/jerry/
[root@localhost jerry]# ls
123 abc