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.hqwc.cn/news/313227.html

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

相关文章

7.12全排列②(LC47-M)

算法: 这道题目和46.全排列 (opens new window)的区别在与给定一个可包含重复数字的序列,要返回所有不重复的全排列。 所以就是多了个去重操作。 还是一样的套路: 先排序: Arrays.sort(nums); 再去重: // used[…

RainBond 构建组件 rbd-chaos 故障解决 【真实案例】

文章目录 背景分析官方排查说明尝试进一步分析解决参考背景 在 RainBond 中把所有组件都部署了至少 2 个实例后,开始出现构建/滚动更新直接报错,且没有日志(查看日志按钮点击后,里面啥也没有)。 然后再平台管理主界面,可以看到提示 rbd-chaos 组件故障: 分析 官方排…

中小微医院机构云服务(云HIS)平台源码

云HIS(Cloud-Based Healthcare Information System)重新定义了HIS,目标是为中小型医疗卫生机构提供优质经济的医疗卫生信息化产品及服务;是以健康档案为主线、以电子病历为核心、以云计算技术为基础的医疗卫生系统。云HIS作为基于…

【已解决】若依系统前端打包后,部署在nginx上,点击菜单错误:@/views/system/role/index

​ 上面错误,是因为/views/system/role/index动态路由按需加载时候,错误导致。 解决办法: 如果您的前端项目访问时候,需要带有项目名称的话,参考凯哥上一篇文章:【已解决】若依前后端分离版本&#xff0…

Django 学习教程- Hello world入门案例

系列 Django学习教程-介绍与安装 欢迎来到第Djagno学习教程第二章Hello World 入门案例。 在本教程中,我将引导您完成django的Hello World入门案例。 让我们开始吧! 版本 Django 5.0Python 3.10 创建项目 安装 Django 之后,您现在应该…

C++数据结构-栈

目录 栈顺序栈链栈 栈 栈是允许在表的一端进行插入和删除的线性表。表中允许插入删除的一端是栈顶,栈顶的当前位置是动态变化的;不允许插入和删除的一端是栈底,栈底的位置是不变的。当表中没有元素时称为空栈,插入数据的运算称为…

【STM32F103】SysTick系统定时器延时函数

SysTick SysTick是Cortex-M3内核中的一个外设,内嵌在NVIC中,叫系统定时器。 当处理器在调试期间被喊停时,SysTick也将暂停运作。 一共有四个寄存器,不过我们通常用前三个,不需要校准。下图出自《STM32F10xxx Cortex…

35--JDK新特性

1、新语法结构 新的语法结构,为我们勾勒出了 Java 语法进化的一个趋势,将开发者从复杂、繁琐的低层次抽象中逐渐解放出来,以更高层次、更优雅的抽象,既降低代码量,又避免意外编程错误的出现,进而提高代码质…

Linux软件包管理器——yum命令

如何使用yum 一、快速认识yum(简单介绍)二、快速使用yum2.1 rzsz2.2 linux命令行小游戏和彩蛋 三、yum的整个生态问题 一、快速认识yum(简单介绍) Linux中我们也要进行工具/指令/程序,安装,检查卸载等,需要yum的软件 安装软件的方式&#xf…

<Icon-ResizER>support

If you get any questions in using app, email me caohechunhotmail.com.

Unity坦克大战开发全流程——开始场景——排行榜数据逻辑

开始场景——排行榜数据逻辑 排行榜单条数据 排行榜列表 然后在数据管理类中声明一个对应的字段 初始化数据 然后再在上一节课所编写的UpdatePanelInfo函数中处理数据更新的逻辑 时间换算算法 然后再在数据管理类中编写一个在排行榜中添加数据的方法以提供给外部 直到当前RankI…

Python压缩图片大小

今天遇到一个问题,制作的网站因为图片尺寸比较大导致加载很慢,所以想通过压缩图片的方式来加快页面的加载速度(当然也可以选择cdn和oss的方式来加快页面加载速度) 话不多说,Python肯定是首选项嘛,那么PIL&…