用来传输文件的协议-FTP

news2024/11/26 23:57:19

一.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.知道黑白名单的设置,黑名单,是名单上的用户被拒绝访问。白名单是只有名单上的用户才可以进行访问

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像置乱加密-Arnold加密算法

置乱加密是另一种较常用的加密方法&#xff0c;现也被许多文献选用&#xff0c;置乱加密可以是以像素为单位进行全局置乱&#xff0c;该方式打乱了图像像素值的位置&#xff0c;使其图像内容失去相关性&#xff0c;达到保护的目的。也可以是以块为单位进行置乱&#xff0c;该方…

软件开发技巧---TODO特殊事项标注

软件开发技巧—TODO特殊事项标注 文章目录 软件开发技巧---TODO特殊事项标注1、前言2、环境3、TODO注释规范4、Qt中使用TODO5、VS中使用TODO6、总结 更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;开发工具 &#x1f448; 1、前言 &#x1f9d8;&…

头歌:Spark的安装与使用

第1关&#xff1a;Scala语言开发环境的部署 相关知识 Scala是一种函数式面向对象语言&#xff0c;它融汇了许多前所未有的特性&#xff0c;而同时又运行于JVM之上。随着开发者对Scala的兴趣日增&#xff0c;以及越来越多的工具支持&#xff0c;无疑Scala语言将成为你手上一件…

电脑已经有了一个Windows10,再多装一个Windows10组成双系统

前言 前段时间已经讲过一次双Windows系统的安装教程&#xff0c;但是小白重新去看了一下&#xff0c;发现写的内容太多&#xff0c;怕小伙伴看了之后一脸萌。 所以今天咱们就重新再来讲讲&#xff1a;在同一台机器上安装Windows10双系统的教程。 注意哦&#xff01;这里的Wi…

paddlehub的简单应用

1、下载安装 pip install paddlehub -i https://pypi.tuna.tsinghua.edu.cn/simple 报错&#xff1a; Collecting onnx<1.9.0 (from paddle2onnx>0.5.1->paddlehub)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/73/e9/5b953497c0e36df589fc60cc6c6b35…

语音识别的基本概念

语音识别的基本概念​​​​​​​ ​​​​​​​ 言语是一种复杂的现象。人们很少了解它是如何产生和感知的。天真的想法常常是语音是由单词构成的&#xff0c;而每个单词又由音素组成。不幸的是&#xff0c;现实却大不相同。语音是一个动态过程&#xff0c;没有明确区分的…

【Unity动画系统】详解Root Motion动画在Unity中的应用(二)

Root Motion遇到Blend Tree 如果Root Motion动画片段的速度是1.8&#xff0c;那么阈值就要设置为1.8&#xff0c;那么在代码中的参数就可以直接反映出Root Motion的最终移动速度。 Compute Thresholds&#xff1a;根据Root Motion中某些数值自动计算这里的阈值。 Velocity X/…

公共代理IP与独享代理IP的区别是什么?

IP地址&#xff0c;是网络世界中设备互相识别的重要线索&#xff0c;当我们谈论相关话题的时候&#xff0c;总会听说“公共IP”和“独享IP”这两个词。作为用户&#xff0c;我们该如何选择更适合自己的IP资源呢&#xff0c;两者又有何区别&#xff1f; 承载用户量&#xff1a;公…

ArcGIS小技巧—基于DEM的河网提取

1、使用DEM数据提取河流水系网络 原始DEM数据中存在误差&#xff0c;或喀斯特地貌等真实地形情况&#xff0c;将引起DEM数据中存在凹陷区域。 在进行水流方向的计算上&#xff0c;如果有洼地会造成错误&#xff0c;因此我们需要进行填洼处理&#xff0c;获得相对准确的DEM数据…

ULTIMATE VOCAL REMOVER V5 for Mac:专业人声消除软件

ULTIMATE VOCAL REMOVER V5 for Mac是一款专为Mac用户设计的人声消除软件&#xff0c;它凭借强大的功能和卓越的性能&#xff0c;在音乐制作和后期处理领域崭露头角。 ULTIMATE VOCAL REMOVER V5 for Mac v5.6激活版下载 这款软件基于深度神经网络&#xff0c;通过先进的训练模…

在美国站群服务器部署时如何保障从253个IP到1000个IP的无缝扩展?

在美国站群服务器部署时如何保障从253个IP到1000个IP的无缝扩展? 在当今企业的数字化转型中&#xff0c;服务器的部署和管理成为了保证业务连续性和拓展性的关键。尤其对于站群服务器来说&#xff0c;随着企业业务的增长和市场的扩展&#xff0c;需要从较小规模的253个IP地址…

Python列表:全面指南

一、引言 1.1 Python列表简介 在Python编程中&#xff0c;列表&#xff08;List&#xff09;是最常用的数据结构之一&#xff0c;它是一个有序的集合&#xff0c;可以容纳任意类型的对象&#xff0c;如数字、字符串甚至其他列表。列表的特点是可变性&#xff0c;这意味着你可…

CAPS Wizard for Mac:打字输入辅助应用

CAPS Wizard for Mac是一款专为Mac用户设计的打字输入辅助应用&#xff0c;以其简洁、高效的功能&#xff0c;为用户带来了全新的打字体验。 CAPS Wizard for Mac v5.3激活版下载 该软件能够智能预测用户的输入内容&#xff0c;实现快速切换和自动大写锁定&#xff0c;从而大大…

看来我对PYTHON的感觉没错,谷歌也已经受不了了

看来不是我一个人感觉PYHTON不完美了&#xff0c;老东家谷歌已经受不了&#xff0c;直接让走人&#xff01; 你们用Python真的感觉那么好用吗? 你们用Python真的感觉那么好用吗&#xff08;二&#xff09;

实习面试算法准备之图论

这里写目录标题 1 基础内容1.1 图的表示1.2图的遍历 2 例题2.1 所有可能的路径 1 基础内容 图没啥高深的&#xff0c;本质上就是个高级点的多叉树而已&#xff0c;适用于树的 DFS/BFS 遍历算法&#xff0c;全部适用于图。 1.1 图的表示 图的存储在算法题中常用邻接表和邻接矩…

基于Albedo-NDVI特征空间遥感荒漠化信息提取

1. 背景 土地荒漠化是指包括气候变异和人类活动在内的种种因素造成的干旱半干旱和亚湿润干地区的土地退化。及时准确地掌握土地荒漠化发生发展情况是有效防止和治理土地荒漠化的基本前提。目前遥感技术在土地荒漠化监测中起到了不可替代的作用。使用遥感影像数据可以提取土地荒…

Ubuntu20.04 [Ros Noetic]版本——在catkin_make编译时出现报错的解决方案

今天在新的笔记本电脑上进行catkin_make的编译过程中遇到了报错&#xff0c;这个报错在之前也遇到过&#xff0c;但是&#xff0c;我却忘了怎么解决。很是头痛&#xff01; 经过多篇博客的查询&#xff0c;特此解决了这个编译报错的问题&#xff0c;于此特地记录&#xff01;&…

Java数组深度剖析:掌握数据结构的基石

引言 在编程世界中&#xff0c;数仅仅是一种数据类型&#xff0c;它是理解内存分配、多维数据处理以及性能优组像是构建复杂数据结构的基本积木。它们简洁、高效&#xff0c;是管理元素集的首选方式。在Java中&#xff0c;数组不化的关键。 这篇文章致力于深入探讨Java数组的各…

PhotosCollage for Mac:优雅且实用的照片拼贴软件

PhotosCollage for Mac是一款优雅且实用的照片拼贴软件&#xff0c;为Mac用户提供了一个便捷、高效的平台&#xff0c;以创建精美、个性化的照片拼贴作品。 PhotosCollage for Mac v1.4.1激活版下载 该软件界面简洁直观&#xff0c;操作便捷。用户只需将想要拼贴的照片拖入“照…