FTP原理

news2024/11/17 20:53:58

一、FTP工作原理

FTP是一种文件传输协议,用来上传和下载,实现远程共享文件。
工作原理 : 端口号21号端口,用于互联网上的控制文件的双向传输 是一个应用程序。工作在TCP/IP。
连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。
FTP连接方式包括管理连接和数据连接

  管理连接:客服端使用随机端口(>1024,高段位端口),服务器21号端口。
  数据连接:包括主动模式和被动模式

主动模式:客户端使用随机端口与服务器的21号端口建立控制连接,服务器端主动的使用20号端口向客户端的随机端口建立据连接,(服务器连接客户端,客户端防火墙拦截服务器发起的连接)经过三次握手完成)

  被动模式:客户端使用随机端口向服务器的21号端口建立管理连接,服务器使用建立好的管理通道向客户端发送一个随机的端口号,然后客户端随机的向服务器端发过来的端口经过三次握手后建立好这个数据连接。服务器(随机端口)等待客户端(随机端口)向自己发起连接(客户端连接服务器)服务器处理防火墙关闭或添加策略。

二、实验步骤

101服务器
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
102客户端
[root@localhost ~]# yum -y install ftp
[root@localhost ~]# ftp 192.168.10.101   (102连接101服务器)


(1)匿名用户FTP访问


101服务器
[root@localhost ftp]# sed -i '/^#/d' /etc/vsftpd/vsftpd.conf 
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES
anon_umask=022          (反掩码)
anon_upload_enable=yes    (匿名用户对文件的上传权限)
anon_mkdir_write_enable=yes    (控制匿名用户文件创建的权限)
anon_other_write_enable=yes      (控制匿名用户文件删除和重命名的权限)
[root@localhost ftp]# systemctl restart vsftpd
[root@localhost ftp]# netstat -anpt | grep ftp  (检查该程序是否运行)
[root@localhost ~]# chown ftp /var/ftp/pub    (安全前提下不可以将权限直接给ftp,应传达下一级)
[root@localhost ~]# chmod 755 /var/ftp/pub   (更改读写权限)

(2)授权用户

服务器
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf 
#anon_upload_enable=yes
#anon_mkdir_write_enable=yes
#anon_other_write_enable=yes
chroot_local_user=yes          (禁锢在home目录下)
allow_writeable_chroot=yes      (允许可写的权限)

客户端检测
[root@localhost ~]# ftp 192.168.10.101
Connected to 192.168.10.101 (192.168.10.101).
220 (vsFTPd 3.0.2)
Name (192.168.10.101:root): zhangsan     (zhangsan用户登录)   
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"   (home目录,即zhangsan的home)
ftp> put aaa
local: aaa remote: aaa
227 Entering Passive Mode (192,168,10,101,153,206).
150 Ok to send data.
226 Transfer complete.

(3)开启root访问权限

默认root等内置的账户不许访问FTP服务
[root@localhost ~]# vim /etc/vsftpd/ftpusers   (注释root)
[root@localhost ~]# vim /etc/vsftpd/user_list    (注释root)

(4)修改监听地址和端口

服务器
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
listen=yes
listen_address=192.168.10.101    (监听自己的地址)
listen_port=2121  (监听的端口号)
listen_ipv6=no

pasv_enbale=yes           (添加端口号范围)
pasv_min_port=20000
pasv_max-port=20010


客户端
[root@localhost ~]# ftp 192.168.10.101 2121   (要添加端口号)

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

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

相关文章

CANOE制造dll文件,以及应用dll文件

1、使用canoe自带的capl dll 2、然后使用Visual Studio 2022 打开项目 3、项目打开后修改下项目属性 4、修改capldll.cpp文件 4.1 添加的内容 void CAPLEXPORT far CAPLPASCAL appSum(long i, long j, long* s){*s i j;} {"sum", (CAPL_FARCALL)appSum, "…

只出现一次的数字II ---- 位运算

题目链接 题目: 分析: 对于只出现一次的数字, 他的任意一个bit位, 可能是0或1对于其余出现3次的数字, 假设有3n个数, 那么他们的任意一个bit相加的和可能是3n个0或3n个1那么对于数组中的全部数字的任意一个bit位之和共有三种情况: 3n个1 1 3n13n个0 1 13n个1 0 3n3n个0…

海外媒体发稿:打造个人品牌的2个必备宣发套餐-华媒舍

个人品牌在现代社会中扮演着关键的角色,它可以帮助我们在职场竞争中脱颖而出。但是,要想打造一个成功的个人品牌,并不是一件容易的事情。在这篇文章中,我将为你介绍两个必备的宣发套餐,让你成为行家。 1. 社交媒体宣发…

HR人才测评,如何做营销人员岗位素质测评?

营销人员是企业中的重要角色,他们直接负责企业产品或服务的销售和推广,是企业中最直接影响销售业绩的人才之一。因此,营销人员的基本素质测评非常重要,能够有效评估营销人员的能力和潜力,为企业招聘和培养优秀的营销人…

企业如何进行快递运费对账?

在电子面单寄件取代手写纸质面单之后,加上月结寄件模式的推行,企业快递运费对账,成了行政的一个难题...... 早期的手写纸质面单寄件,企业行政或者财务相关人员,遵循寄前审批,寄后报销的原则进行对账。随着电…

Science Robotics 自然脊髓反射回路应用在假肢手的感觉运动控制

恢复截肢者的感觉反馈对于改善假肢控制是必要的,但实现这一目标的几种非侵入性技术在认知上要求很高。用于假肢控制的感觉反馈通常基于在特定类型的感觉刺激中编码感觉信息,用户通过解析来调整假体的控制。然而,在生理条件下,从周…

深度神经网络——什么是线性回归?

线性回归是一种用于预测或可视化的算法 两个不同特征/变量之间的关系。 在线性回归任务中,要检查两种变量: 因变量和自变量。 自变量是独立的变量,不受其他变量的影响。 随着自变量的调整,因变量的水平将会波动。 因变量是正在研究…

Nginx实战:日志打印自定义请求头

nginx的日志可以打印很多内容,但是有时候自定义的请求头该怎么打印呢?像下面这种场景: 其实很简单,设置日志打印格式log_format的时候,自定义的请求头用 【$http_自定义请求头名】 的格式就可以打印出来 例如你的自定义…

分库分表、读写分离--ShardingJDBC

1. 项目准备 1.1 建立数据库表 建立user_manage数据库,在该库中建立1张表app_user用来做分库前的测试,另外建12张按月份命名的表app_user_2024XX用来做分库。 CREATE DATABASE IF NOT EXISTS user_manage CHARACTER SET utf8 COLLATE utf8_general_ci…

【Python Cookbook】S1E08 在两个字典中寻找相同点

目录 问题解决方案讨论 问题 在两个字典中,如果我们想要找到其中相同的地方,比如相同的键、相同的值等。 解决方案 考虑以下两个字典以及其中内容: a {x: 1,y: 2,z: 3 }b {w: 10,x: 11,y: 2 }要找出这两个字典中的相同之处,…

Linux中部署MinIO

Linux中部署MinIO 下载MinIO可执行程序: wget https://dl.min.io/server/minio/release/linux-amd64/minio 添加执行权限: chmod x minio 创建存储目录,例如/data: mkdir -p /data 运行MinIO服务器,需要设置MIN…

数据结构与算法 :数据结构绪论,时间和空间复杂度 推导大O阶

各位少年 大家好 我是博主那一脸阳光,今天开始给大家分享数据结构,由于我个人当初学的时候是自学,并没有看培训机构的视频 所以接下来我分享的数据结构的内容,源头来自一本书叫做大话数据结构。顺便一提为了方面大家理解&#xff…

PHP框架开发的内容付费问答解惑系统附带seo优化

default默认是百度问答模板 sowenda是高仿360问答的。 soso模板是仿腾讯soso问答界面。 一套wap模板,仿天涯问答的手机版。 pc和wap模板后台设置里自由切换,还可以绑定手机独立二级域名。 强大的搜索功能,支持xunsearch全文检索,s…

springboot基本使用十二(PageHelper分页查询)

引入依赖&#xff1a; <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.3.0</version> </dependency> 通个PageHelper.startPage(page,pageSize)方…

02 在虚拟机中安装Linux

课程目标 1、理解VMware中各个选项的作用 2、理解Linux安装过程中的各种选项和配置作用 课程实验 在VMware中安装centos7.9操作系统并确保网络通常 课堂引入 在看过了Linux桌面的各种炫酷的效果后(其实很多操作&#xff0c;在互动上并不比Windows和MacOS差多少)&#xff…

Compose CompositionLocal

文章目录 Compose CompositionLocal概述使用compositionLocalOfstaticCompositionLocalOf 和 compositionLocalOf 总结 Compose CompositionLocal 概述 Compose 提供了 CompostionLocal 用来完成 composable 树中共享数据方式。CompositionLocals 是具有层级的&#xff0c;可…

文明互鉴促发展——2024“国际山地旅游日”主题活动在法国启幕

5月29日&#xff0c;2024“国际山地旅游日”主题活动在法国尼斯市成功举办。中国驻法国使领馆、法国文化旅游部门、地方政府、国际组织、国际山地旅游联盟会员代表、旅游机构、企业、专家、媒体等围绕“文明互鉴的山地旅游”大会主题和“气候变化与山地旅游应对之策”论坛主题展…

变压器励磁涌流MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 变压器励磁涌流的产生机理 1、变压器是电力系统的关键部分&#xff0c;在实际的 运行中&#xff0c;变压器需要进行相应的充电&#xff0c;而在充电的过 程中&#xff0c;就需要进行开合闸作业。在开合闸作业…

一文读懂存内计算与近存计算的分类与应用

存内计算与近存计算-基础理论及分类 技术基础知识和分类 "近存计算"与"存内计算"易混淆&#xff0c;本章明晰其分类&#xff0c;并比较各内存驱动方法的独特优势。可计算存储器设备可作分立加速器或替代现有存储模块。我们深入剖析每种方法的利弊&#xf…

SOFA-RPC学习记录

文章目录 需求分析模块划分微服务模块交互模块 可拓展架构插件机制 功能分析交互模块 学习微服务模块交互模块 dubbo与nacos集成学习Nacos配置中心实战 dubbo与apollo集成学习配置中心组件与k8s的抉择参考资料 结论 本报告旨在深入学习SOFA-RPC框架&#xff0c;特别是其动态配置…