FTP简介及搭建计算机端口的介绍

目录

一. FTP的简介

二. FTP的主要作用

三. 搭建FTP服务器

        3.1 开启防火墙

        3.2 创建组

        3.3 创建用户

        3.4 用户绑定组

        3.5 安装FTP服务器

        3.6 配置FTP服务器

        3.7 配置FTP文件夹的权限

        3.8 连接测试

        3.8.1 服务器本机测试

        3.8.2 外部服务器测试

        3.8.3 借助工具MobalXterm 

四. 计算机端口

        4.1 简介

        4.2 分类

        4.3 常见端口

        4.4 Proto协议

五. 思维导图


一. FTP的简介

        FTP就是文件传输协议。用于互联网双向传输,控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间。

        FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。它能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。

二. FTP的主要作用

        1. 文件上传和下载:FTP允许用户将文件从本地计算机上传到远程服务器,或从远程服务器下载到本地计算机。这对于在不同计算机之间共享文件非常有用。

        2. 远程文件管理:通过FTP,用户可以远程管理服务器上的文件。可以创建、删除、重命名、移动和复制文件和文件夹,以及设置文件权限和属性。

        3. 网站维护:FTP常用于网站维护,允许网站管理员通过FTP客户端上传、更新和删除网站的文件。这包括网页文件、图像、脚本和其他相关文件。

        4. 数据备份和恢复:FTP可以用作数据备份和恢复的工具。通过将重要数据上传到远程服务器,可以确保数据的安全性和可靠性。 

        5. 文件共享:FTP还可以用于文件共享。用户可以创建FTP服务器,并授权其他用户访问特定的文件或目录。这对于团队合作、文件共享和远程访问非常有用。

        6. 远程备份:FTP可以用于将重要文件备份到远程服务器。通过将文件上传到远程服务器,可以确保文件的安全性和可靠性,以防止本地计算机出现故障或数据丢失。

三. 搭建FTP服务器

博主是在虚拟机(Windows server 2012)中进行搭建的,大家也可以在虚拟机中进行实验。

环境要求:安装有windows server 2012或者其他服务器版本window操作系统的机器。

        3.1 开启防火墙

确保你的电脑防火墙是开启的

        3.2 创建组

server 2012对用户组和用户的管理比较严格,而且我们作为一个ftp服务器,肯定涉及到非常多的用户,单独使用用户来管理工作量非常大而且不显示,所以这里我们首先创建一个用户组(名称可自定义)

第一步:找到服务器---->点击上面的工具----->选择计算机管理

 

第二步:找到本地用户和组----->组----->右键新建组 

第三步:填写组名和描述------>点击创建

点击新建组,页面是不会关闭的,而且也没有之前的数据,需要手动关(组已经创建成功)

创建成功

        3.3 创建用户

第一步:点击用户--->右键---->新建用户

第二步:填写用户名、描述,设置密码,权限默认是第一个,根据自己的需求进行选择

创建成功

        3.4 用户绑定组

第一步:选择你想要绑定用户--->右键属性

第二步:选择隶属于---->选中原来的Users----->点击删除----->再点击添加

第三步:点击高级

 第四步:选择对象类型(我们选组)--->点击立即查找 --->选择刚创建的组 --->选中组后点击确定

第五步:点击确定

第六步:选中刚刚绑定的组---->点击应用---->再点击确定,就完成了

        3.5 安装FTP服务器

第一步:找到管理--->选择添加角色和功能

第二步:点击下一步

第三步:服务器角色:勾选Web服务器(IIS)-----> 弹框---->点击添加功能

随后点击下一步

第四步:角色服务:勾选FTP服务器三个框,然后点击下一步 

确认:点击安装 ---> 等待安装 ----> 安装成功后关闭界面

注:在点击安装前请确保电脑有网络。

第五步:安装完成以后会发现旁边会出现IIS

        3.6 配置FTP服务器

第一步:点击IIS管理器(只有成功安装了FTP服务器才有它)

第二步:点击网络---->右键添加FTP站点

第三步:命名和添加存放路径----->点击下一步

第四步:端口号是默认的21----->看自身需求决定是否开SSL----->点击下一步

第五步:选择基本(匿名:不需要账号登录)-----> 选中指定角色或用户组---->输入刚刚创建的组名----->勾选读取(只能下载)和写入(可以上传,删除,修改)-----> 点击完成

第六步:配置成功

        3.7 配置FTP文件夹的权限

第一步:找到文件夹---->点击属性

 第二步:选择安全--->点击编辑

第三步: 点击添加

第四步: 点击高级---->点击对象类型---->勾选组---->点击立即查询---->选择我们需要的组

设置完之后的界面 

 

第五步:赋予组权限

        3.8 连接测试

        3.8.1 服务器本机测试

第一步:在地址栏输入ftp://localhost--->再回车

第二步:输入用户名和密码---->回车或者点击登录

登录成功 

 

        3.8.2 外部服务器测试

第一步:点击入站规则----->找到FTP服务器--->双击--->选择程序和服务---->复制路径

第二步:点击入站规则---->右键新建规则--->选中程序---->点击下一步

第三步: 选择此程序路径---->输入我们刚刚复制的路径---->点击下一步

第四步:前面有个防火墙的弹出提示,选择是---->选择允许连接---->点击下一步

第五步: 给规则添加名字和描述----->点击完成

第六步:成功界面

第七步:在外部服务器中测试:ftp://+要访问的ip地址,输入自己的用户名和密码就能登录了

        3.8.3 借助工具MobalXterm 

第一步:右键新建文件夹--->在新建的文件夹右键-----新建会话

第二步: 点击FTP----->输入IP和用户名----点击Ok--->会弹框要求输入登录的密码

第三步:测试成功

四. 计算机端口

        4.1 简介

计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。

        4.2 分类

1、公认端口(Well Known Ports):从01023

2、注册端口(Registered Ports):从102449151

3、动态和/或私有端口(Dynamic and/or Private Ports):从4915265535SUNRPC端口从32768开始)

        4.3 常见端口

  • 21: FTP (文件传输协议-----服务器所开放的端口,用于上传、下载)
  • 22: SSH (安全外壳协议)
  • 23: Telnet (远程登录服务
  • 25: SMTP (简单邮件传输协议)
  • 80: HTTP (超文本传输协议)
  • 110: POP3 (邮局协议版本3)
  • 143: IMAP (互联网消息访问协议)
  • 443: HTTPS (安全超文本传输协议)
  • 3306: MySQL数据库系统
  • 3389: 远程桌面协议 (RDP)
  • 8080: 代理服务器常用端口(为http服务的备用端口)tomcat
  • 80用于网页浏览,默认没有显示的端口号

4.4 Proto协议

查看电脑端口使用情况 

先输入netstat -tulnp,再去判断自己电脑后面接什么

1. 关于Proto,Recv-Q,Send-Q等列的具体含义

Proto:协议名

 协议名(tcp协议还是udp协议)

recv-Q:网络接收队列

表示收到的数据已在本地接收缓冲,但是还有多少没有被进程取走,recv()。如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。

send-Q:网路发送队列

对方没有收到的数据或者说没有Ack的,还是本地缓冲区.
如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。

recv-Q、send-Q这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。

2. Local Address:本地地址

1) 0.0.0.0:2000:表示监听服务器上所有ip地址的2000端口(0.0.0.0表示本地所有ip)
2) :::2000:也表示监听本地所有ip的2000端口。和 0.0.0.0:2000 的 区别是这里表示的是 IPv6地址,0.0.0.0表示的是本地所有 IPv4地址。
3) ":::" 这三个 : 的前两个 "::" ,是 "0:0:0:0:0:0:0:0" 的缩写,相当于IPv6的 "0.0.0.0" 。表示本机的所有IPv6地址,第三个 : 是IP和端口的分隔符
4) 127.0.0.1:8080:表示监听本机的loopback地址的8080端口。如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问
5) ::1:9000:表示监听IPv6的回环地址的9000端口,::1这个表示IPv6的loopback地址

3. Foreign Address:外部地址

与本机端口通信的外部socket。显示规则与 Local Address 相同

4. State:状态

链路状态,共有11种。state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。

状态参数主要有:

  1. LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN。来自远方TCP端口的连接请求
  2. SYN_SENT:客户端通过应用程序调用connect进行active open。于是客户端tcp发送一个SYN以请求建立一个连接,状态置为SYN_SENT。在发送连接请求后等待匹配的连接请求
  3. SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN,状态置为SYN_RECV。在收到和发送一个连接请求后等待对连接请求的确认
  4. ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互了。代表一个打开的连接,数据可以传送给用户
  5. FIN-WAIT-1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态。等待远程TCP连接中断请求,或先前的连接中断请求的确认
  6. CLOSE-WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT。等待从本地用户发来的连接中断请求
  7. FIN-WAIT-2:主动关闭端接到ACK后,就进入了 FIN-WAIT-2。从远程TCP等待连接中断请求
  8. LAST-ACK:被动关闭端一段时间后,接收到文件结束符的应用程序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK,这就进入了LAST-ACK。等待原来发向远程TCP的连接中断请求的确认
  9. TIME-WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。等待足够的时间以确保远程TCP接收到连接中断请求的确认
  10. CLOSING:比较少见。等待远程TCP对连接中断的确认
  11. CLOSED:被动关闭端在接受到ACK包后,就进入了closed的状态。链接结束,没有任何连接状态
  12. UNKNOWN:未知的Socket状态

五. 思维导图

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

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

相关文章

让电脑变得更聪明——用python实现五子棋游戏

作为经典的棋类游戏,五子棋深受大众喜爱,但如果仅实现人与人的博弈,那程序很简单,如果要实现人机对战,教会计算机如何战胜人类,那就不是十分容易的事了。本文我们先从简单入手,完成五子棋游戏的…

DNS域名查询过程

目录 DNS(Domain Names System) 域名转IP IP转域名 域名 域名查询流程 浏览器DNS缓存 操作系统缓存 本地host文件 完整流程 递归查询 迭代查询 DNS(Domain Names System) 域名系统,将域名和 IP 地址进行转…

【Spring】AOP的AspectJ开发

AOP基础不了解可以阅读:【Spring】AOP原来如此-CSDN博客 AspectJ是一个居于JAVA开发的AOP框架 基于XML的声明式AspectJ 基于XML的声明式AspectJ是通过XML文件来定义切面,切入点及通知,所有的切面、切入点和通知必须定义在内, 元…

【SpringBoot】常用注解

RequestBody:自动将请求体中的 json 数据转换为实体类对象。 这个例子凑巧传入的json属性键名和User键名一致,可以直接使用User实体类对象,如果键名不一致则需要用一个Map 类接收参数: PutMapping("/update")public R…

给多行文本的每行添加指定的前缀textwrap.indent()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 给多行文本的每行添加指定的前缀 textwrap.indent() [太阳]选择题 请问以下代码输出的第一行结果是? import textwrap text welcome to China! print("【显示】text\n&quo…

Head First Design Patterns - 观察者模式

观察者模式 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式是一种对象行为型模式。 场景 很多用户都订阅了某一公众号,当该公众号更新时,所以用户都会收到消息…

C++17中的内联变量

在C11中: (1).声明为constexpr的函数隐式地是内联函数; (2).deleted函数隐式地是一个内联函数。 在内联函数中: 1.所有函数定义中的函数局部静态对象(function-local static object)在所有翻译单元之间共享(它们都引用一个翻译单…

【c++————————构造函数和析构函数】

【c————————构造函数和析构函数】 欢迎阅读新一期的c模块————构造函数和析构函数 ✒️个人主页:-Joker- 🏷️专栏:C 📜代码仓库:c_code 🌹🌹欢迎大佬们的阅读和三连关注&#xff0c…

Dependency Track:智能组件分析平台。

Dependency Track:智能组件分析平台。 ############################# 免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪活动,对于恶意使用该工具造成的损失,和本人及开发者无关。 ################…

Linux | 解决问题Ubuntu重启无法进入系统以及网络无法连接【图文详解】

Ubuntu18.04重启无法进入系统,重开后如图 一直在加载系统内核4.15.0-213-generic,无法加载 错误原因 原本的系统是Ubuntu16.04,使用命令升级到Ubuntu18.04版本,升级重启后,远程无法连接! 错误解决 第一步:进入GRUB…

AIGC入门系列1:感性的认识扩散模型

1、序言 大家好,欢迎来到AI手工星的频道,我是专注AI领域的手工星。AIGC已经成为AI又一个非常爆火的领域,并且与之前的AI模型不同,AIGC更适合普通人使用,我们不仅可以与chatgpt对话,也能通过绘画模型生成想…

使用ASP.NET MiniAPI 调试未匹配请求路径

本文将介绍如何在使用ASP.NET MiniAPI时调试未匹配到的请求路径。我们将详细讨论使用MapFallback方法、中间件等工具来解决此类问题。 1. 引言 ASP.NET MiniAPI是一个轻量级的Web API框架,它可以让我们快速地构建和部署RESTful服务。然而,在开发过程中如…

PACC:数据中心网络的主动 CNP 生成方案

PACC:数据中心网络的主动 CNP 生成方案 文章目录 PACC:数据中心网络的主动 CNP 生成方案PACC算法CNP数据结构PACC参数仿真结果参考文献 PACC算法 CNP数据结构 PACC参数 仿真结果 PACC Hadoop Load0.2 的情况: PACC Hadoop Load0.4 的情况&a…

go slice源码探索(切片、copy、扩容)和go编译源码分析

文章目录 概要一、数据结构二、初始化2.1、字面量2.2、下标截取2.2.1、截取原理 2.3、make关键字2.3.1、编译时 三、复制3.1、copy源码 四、扩容4.1、append源码 五:切片使用注意事项六:参考 概要 Go语言的切片(slice)是对数组的…

axios的使用及说明

目录 1.说明 2.直接使用 3.封装使用 4.注意 1.说明 官网:Axios 实例 | Axios中文文档 | Axios中文网 Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使…

Java超高精度无线定位技术--UWB (超宽带)人员定位系统源码

UWB室内定位技术是一种全新的、与传统通信技术有极大差异的通信新技术。它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,从而具有GHz量级的带宽。 UWB(超宽带)高精度定位系统是一…

java零拷贝zero copy MappedByteBuffer

目录 调用操作系统的 mmap 未使用 mmap 的文件通过网络传输的过程 使用 mmap 的文件通过网络传输的过程 使用例子 调用操作系统的 sendfile() 在 java 中的具体实现 mmap的优劣 mmap 的不足 mmap 的优点 mmap 的使用场景 对于零拷贝(zero copy&#xff09…

C语言实验4:指针

目录 一、实验要求 二、实验原理 1. 指针的基本概念 1.1 指针的定义 1.2 取地址运算符(&) 1.3 间接引用运算符(*) 2. 指针的基本操作 2.1 指针的赋值 2.2 空指针 3. 指针和数组 3.1 数组和指针的关系 3.2 指针和数…

【Linux】内核编译 镜像制作

文章目录 一、Ubuntu内核编译1.1 为什么自己编译内核1.2 Ubuntu 内核源码下载1.21 内核的作用1.22 Linux内核与ubuntu内核1.23 Ubuntu内核源码获取 1.3 在Windows系统下编译ubuntu内核1.4 在Linux系统下编译ubuntu内核 二、镜像制作 一、Ubuntu内核编译 1.1 为什么自己编译内核…

用LCD循环右移显示“Welcome to China“

#include<reg51.h> //包含单片机寄存器的头文件 #include<intrins.h> //包含_nop_()函数定义的头文件 sbit RSP2^0; //寄存器选择位&#xff0c;将RS位定义为P2.0引脚 sbit RWP2^1; //读写选择位&#xff0c;将RW位定义为P2.1引脚 sbit EP2^2; //使能…