用来传输文件的协议-FTP

用来传输文件的协议-FTP1 FTP 协议采用的是 TCP 作为传输协议 21 号端口用来传输 FTP 控制命令的 20 号端口用来传输文件数据的 2 了解 FTP 的传输模式 主动模式和被动模式 3 知道黑白名单的设置 黑名单 是名单上的

大家好,欢迎来到IT知识分享网。

一.FTP协议–文件传输协议

1.了解FTP协议

(1)FTP服务是用来传输文件的协议

FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议组中的协议之一,用于互联网上的控制文件的双向传输。是传输文件到Linux服务器的工具。

常用的传输文件到Linux服务器的工具有以下几种:

vsftp(FTP)、sftp(SSH)、samba(CIFS)、winscp、lrzsz(sz传出、rz传入)

(2)FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令

(3)FTP数据连接分为主动模式和被动模式

主动模式:FTP服务端接收下载控制命令后,会主动从tcp/20号端口发送数据传输给客户端

主动模式:客户端给服务端的21控制端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会连接客户端已打开的那个数据端口把东西传给客户端,这就是主动模式,可理解为服务端主动给客户端传输文件。

 被动模式:FTP服务端接收下载控制命令后,会开启一个空闲端口被动等待客户端数据传输连接

被动模式:客户端给服务器端的21端口发命令说,我要下载什么什么,服务端知道后,就打开一个空闲的端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧。于是客户端就从那个端口进去拿文件了,这就是被动模式,可理解为服务端被客户端拿走了东西。

 2.FTP工具的安装

(1)vsftp 的安装

[root@192 ~]# mount /dev/sr0 /mnt mount: /dev/sr0 写保护,将以只读方式挂载 [root@192 ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 devtmpfs  0  0% /dev tmpfs  0  0% /dev/shm tmpfs  12820  1% /run tmpfs  0  0% /sys/fs/cgroup /dev/mapper/centos-root    13% / /dev/sda1    36% /boot tmpfs  64  1% /run/user/0 /dev/sr0   0 100% /mnt [root@192 ~]# cd /mnt/Packages/ [root@192 Packages]# ls | grep vsftp vsftpd-3.0.2-29.el7_9.x86_64.rpm [root@192 Packages]# rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm 警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... [100%] 正在升级/安装... 1:vsftpd-3.0.2-29.el7_9 [100%] 

(2)vsftp 文件存放的位置

[root@192 Packages]# rpm -qpc vsftpd-3.0.2-29.el7_9.x86_64.rpm 警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf [root@192 Packages]# cd /etc/vsftpd/ [root@192 vsftpd]# ls ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

(3)vsftp 服务的配置文件

 #vsftpd.conf文件中基本配置的含义 anonymous_enable=YES #默认允许匿名用户登录 local_enable=YES #允许本地用户登录 write_enable=YES #是否开放ftp写的权限 local_umask=022 #本地用户上传的文件的默认权限值 anon_upload_enable=YES #允许匿名用户上传文件 anon_mkdir_write_enable=YES #允许用户上传和创建目录 anon_other_write_enable=YES #允许用户其他的写入操作:删除、重命名和覆盖 

(4)修改配置文件的操作

用来传输文件的协议-FTP

之后重启 vsftp 服务即可

[root@192 vsftpd]# systemctl start vsftpd [root@192 vsftpd]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service. [root@192 vsftpd]# netstat -lntp | grep vsftpd #查看软件使用的端口号 tcp6 0 0 :::21 :::* LISTEN 12473/vsftpd 

(5)验证 vsftpd 的使用-win10为例

【1】要先将win10的网络设置为服务端一样的NAT模式

用来传输文件的协议-FTP

【2】尝试是否连接和连接操作

C:\Users\liu>ping 192.168.10.10 #查看是否能接收到主机的IP 正在 Ping 192.168.10.10 具有 32 字节的数据: 来自 192.168.10.10 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.10.10 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.10.10 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.10.10 的回复: 字节=32 时间=1ms TTL=64 192.168.10.10 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 1ms,平均 = 0ms C:\Users\liu>ftp 192.168.10.10 #连接到主机 连接到 192.168.10.10。 220 (vsFTPd 3.0.2) 200 Always in UTF8 mode. 用户(192.168.10.10:(none)): ftp #设置用户类型 331 Please specify the password. 密码: #创建密码 230 Login successful. ftp> pwd #查看当前位置 257 "/" #‘/’目录即为在vsftpd.conf文件内设置的目录/var/ftp/ ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. pub test1 226 Directory send OK. ftp: 收到 15 字节,用时 0.00秒 15000.00千字节/秒。

(6)FTP的一些常用命令

 #ftp 的一些常用指令 ftp> pwd #查看当前的位置 ftp> ls #查看当前目录的信息 ftp> cd pub #切换到pub 目录 ftp> get 文件名 #下载文件到本地目录 ftp> put 文件名 #上传文件到主机ftp目录 ftp> quit #退出 

【1】get 命令 下载主机文件到目录

ftp> get lxp.txt 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for lxp.txt (15 bytes). 226 Transfer complete. ftp: 收到 15 字节,用时 0.00秒 15000.00千字节/秒。 ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. lxp.txt pub test1 226 Directory send OK. ftp: 收到 24 字节,用时 0.02秒 1.50千字节/秒。 ftp>

【3】cd 命令  切换目录

用来传输文件的协议-FTP

(7)关闭匿名用户登录

用来传输文件的协议-FTP

C:\Users\liu\Desktop>ftp 192.168.10.10 连接到 192.168.10.10。 220 (vsFTPd 3.0.2) 200 Always in UTF8 mode. 用户(192.168.10.10:(none)): ftp #匿名用户登录失败 331 Please specify the password. 密码: 530 Login incorrect. 登录失败。 ftp> quit 221 Goodbye. C:\Users\liu\Desktop>ftp 192.168.10.10 连接到 192.168.10.10。 220 (vsFTPd 3.0.2) 200 Always in UTF8 mode. 用户(192.168.10.10:(none)): zhangsan #非匿名用户登录成功 331 Please specify the password. 密码: 230 Login successful. ftp>

3.图形化界面登录FTP

用来传输文件的协议-FTP

用来传输文件的协议-FTP

4.设置黑名单和白名单

userlist_enable=YES #启用用户列表 

 进入到文件 vsftpd.conf 中,到最底部加入下图的配置,黑名单和白名单的用户列表在 user_list 文件中,

若是想要 user_list 文件成为黑名单,进入到文件 vsftpd.conf 中添加userlist_enable=YES

若是想要 user_list 文件成为白名单,进入到文件 vsftpd.conf 中添加userlist_enable=NO

用来传输文件的协议-FTP

拓展:其他配置文件含义

五 .总结:

1.FTP协议采用的是TCP作为传输协议,21号端口用来传输FTP控制命令的,20号端口用来传输文件数据的

2.了解FTP的传输模式:主动模式和被动模式

3.知道黑白名单的设置,黑名单,是名单上的用户被拒绝访问。白名单是只有名单上的用户才可以进行访问

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/136728.html

(0)
上一篇 2025-06-25 16:00
下一篇 2025-06-25 16:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信