用来传输文件的协议-FTP

一.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                 1913552       0  1913552    0% /dev
tmpfs                    1930628       0  1930628    0% /dev/shm
tmpfs                    1930628   12820  1917808    1% /run
tmpfs                    1930628       0  1930628    0% /sys/fs/cgroup
/dev/mapper/centos-root 37202180 4526604 32675576   13% /
/dev/sda1                 520868  184528   336340   36% /boot
tmpfs                     386128      64   386064    1% /run/user/0
/dev/sr0                 4635056 4635056        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)修改配置文件的操作

之后重启 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模式

【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 命令  切换目录

(7)关闭匿名用户登录

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

4.设置黑名单和白名单

userlist_enable=YES     #启用用户列表

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

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

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

拓展:其他配置文件含义

listen_port=2121      #设置监控端口
max_clients=100       #最大连接数
max_per_ip=5          #每个IP的最大连接数

五 .总结:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/581902.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++:string 类

在C中定义一个 std::string 字符串可以采用以下几种方式&#xff1a; 1.使用字符串字面量初始化&#xff1a; std::string str "Hello, world!"; 2.使用构造函数初始化&#xff1a; std::string szStringB("Hello wolven"); 3.使用重复字符初始化&am…

51单片机入门(一)

1. 51单片机的基础介绍 2. RAM和ROM的区别 总体而言&#xff0c;RAM和ROM在计算机系统中起着不同的角色&#xff0c;RAM用于临时存储运行时数据&#xff0c;而ROM用于存储永久性的固件和系统程序。 3. 为什么叫51单片机 因为51系列单片机都是使用Intel 8031指令系统的单片机…

【链表——数据结构】

文章目录 1.单链表1.定义2.基本操作2.1.不带头结点2.2后插2.3前插2.4删除2.5按位查找2.6按值查找2.7求单链表长度2.8 建表 2.双链表1.初始化2.插入(后插)3.删除(后删)4.遍历 3.循环链表1.循环单链表2.循环双链表3.代码问题 4.静态链表1.简述基本操作的实现1.初始化3.删除某个结…

前端---Bootstrap---的下载和使用

目录 Bootstrap的下载 网页链接: 下载步骤: Bootstrap的使用 引用步骤: Bootstrap常用: Bootstrap-栅格系统 Bootstrap-组件 Bootstrap 是由 Twiter 公司开发维护的前端 U框架&#xff0c;它提供了大量编写好的 CSS 样式&#xff0c;允许开发者结合一定 HTML结构及JavaS…

二维码门楼牌管理应用平台建设:档案管理的新篇章

文章目录 前言一、二维码门楼牌管理应用平台的构建背景二、九小场所档案管理的重要性三、二维码门楼牌管理应用平台在九小场所档案管理中的应用四、二维码门楼牌管理应用平台的优势与挑战五、结语 前言 随着信息技术的飞速发展&#xff0c;二维码门楼牌管理应用平台的建设已成…

《Fundamentals of Power Electronics》——三端电池的旋转、负载差分连接

以下是关于三端电池的旋转的相关知识点&#xff1a; Buck电路、Boost电路和Buck-Boost电路均包含一个与单刀单掷开关相连的电感。如下图所示。 将上图中的电感和开关网络视为一个标有a,b,c三端的基础电池。该电池在电源和负载之间有三种不同的连接方式。a-A b-B c-C连接方式组…

BERT一个蛋白质-季军-英特尔创新大师杯冷冻电镜蛋白质结构建模大赛-paipai

关联比赛: “创新大师杯”冷冻电镜蛋白质结构建模大赛 解决方案 团队介绍 paipai队、取自 PAIN AI&#xff0c;核心成员如我本人IvanaXu(IvanaXu GitHub)&#xff0c;从事于金融科技业&#xff0c;面向银行信用贷款的风控、运营场景。但我们团队先后打过很多比赛&#xf…

文件Tools工具 支持WORD/PDF/EXCEL/PDF等格式的转换软件

文件Tools工具 支持WORD/PDF/Excel/PDF等格式的转换软件 支持功能 Word转PDFWORD转EXCELWORD转EPUBPDF转WORDPDF转EXCELPDF转PPTPDF版本转换EXCEL转PDFEXCEL转WORDPDF转EXCELEPUB转WORDEPUB转PDFHTML转PDF&#xff08;需配置chromium&#xff09;点击查看配置教程简易二维码生…

TablePlus for Mac/Win:开启高效数据开发新纪元

在当今数字化时代&#xff0c;数据的重要性日益凸显。无论是企业还是个人&#xff0c;都需要一款强大而实用的本地原生数据开发软件来提升工作效率。而 TablePlus for Mac/Win 正是这样一款卓越的工具&#xff0c;它为用户带来了全新的体验&#xff0c;让数据开发变得更加轻松、…

Matlab实现CNN-BiLSTM模型,对一维时序信号进行分类

1、利用Matlab2021b训练CNN-BiLSTM模型&#xff0c;对采集的一维时序信号进行分类二分类或多分类 2、CNN-BiLSTM时序信号多分类执行结果截图 训练进度&#xff1a; 网络分析&#xff1a; 指标变化趋势&#xff1a; 代码下载方式&#xff08;代码含数据集与模型构建&#xff0…

go引入自建包名报错 package XXX is not in std和goland设置GO111MODULE提示冲突

首先在引入自建包的时候报错 查找网上的解决方法&#xff1a; 1、goland取消勾选Enable Go modules integration 2、set GO111MODULEoff 但是都没解决&#xff0c;而且更奇怪的是&#xff0c;我在cmd里面查看go env就显示set GO111MODULEoff 但是在goland里面的终端输入 go…

面试大厂,面试官问:为什么要使用盒模型?

1. 基础知识 什么是 CSS 盒模型 CSS 盒模型描述了页面中元素的布局和空间分配方式。每个元素都被看作是一个盒子&#xff0c;这个“盒子”由 4 个部分组成&#xff1a; 内容&#xff08;Content&#xff09;、内边距&#xff08;Padding&#xff09;、边框&#xff08;Borde…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5, 汇编 led.s,第一次点亮LED灯

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

Llama 3 安装使用方法

Llama3简介&#xff1a; llama3是一种自回归语言模型&#xff0c;采用了transformer架构&#xff0c;目前开源了8b和70b参数的预训练和指令微调模型&#xff0c;400b正在训练中&#xff0c;性能非常强悍&#xff0c;并且在15万亿个标记的公开数据进行了预训练&#xff0c;比ll…

读天才与算法:人脑与AI的数学思维笔记13_Coq证明助手

1. 计算机 1.1. 对于计算机来说&#xff0c;它就很擅长处理这种重复而机械且计算量庞大的任务 1.1.1. 在速度与准确性等方面&#xff0c;计算机是远超过手工计算的 1.2. 计算机只能执行指令&#xff0c;并无自主创造力 1.2.1. 想…

JavaScript 的基本术语大全

文章目录 1、概述2、基本术语2.1、有效负载 (Payload)2.2、ReadableStream2.3、模块系统2.4、DOM (Document Object Model)2.5、事件 (Events)2.6、活动委托 (Event Delegation)2.7、内容安全策略 (CSP)2.8、渐进增强和优雅降级2.9、JSON (JavaScript Object Notation)2.10、AJ…

绝地求生:竞技比赛RP占比改动详解

大好&#xff0c;我闲游盒&#xff01; 在上周29.1版本更新后&#xff0c;官方也发布了关于竞技比赛&#xff1a;RP的改动公告&#xff0c;这里就为大家简单讲解一下具体改动的地方~ 官方希望能够通过优化让RP、段位和竞技比赛更能准确的反馈出大家自身的实力。 第一项改动是在…

02.Kafka部署安装

1 Linux 安装 Kafka 1.1 安装前的环境准备 由于 Kafka 是用 Scala 语言开发的&#xff0c;运行在 JVM 上&#xff0c;因此在安装Kafka之前需要先安装JDK。 yum install java-1.8.0-openjdk* -y kafka 依赖 zookeeper&#xff0c;所以需要先安装 zookeeper。 wget https://ar…

5G图标显示分析

1、问题现象 MTK平台项目中出现一个5G图标显示问题&#xff0c;注册5G时&#xff0c;拨打电话&#xff0c;对比机图标显示回落到4G&#xff0c;测试机一直显示5G。 2、原因分析 2.1、NSA显示规则 根据GSMA协议&#xff0c;NSA架构下5G图标显示有如下4种. 2.2、Android中显示5G…

基于Springboot的甘肃旅游服务平台(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的甘肃旅游服务平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…