FTP简介FTP服务器的搭建【虚拟机版】以及计算机端口的介绍

news2024/12/23 14:38:17

目录

一. FTP简介

二. FTP服务器的搭建【虚拟机Windows2012版】

1. 启用防火墙

2. 打开服务器管理器➡工具➡计算机管理

3. 选择本地用户与组➡新建组

4. 给组命名,输入描述,点击创建

5. 新建用户,设置用户名称,添加描述,输入密码,点击创建

6. 将新建的用户与组绑定

7. 安装FTP服务器

8. 配置FTP服务器

9. 配置FTP文件夹的权限

10. 连接测试

三. 计算机端口介绍

1. 介绍

2. 端口相关


一. FTP简介

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

三次握手是TCP协议用于建立可靠连接的过程,其步骤如下:

第一次握手(SYN):客户端向服务器发送SYN包,请求建立连接。该包中包含一个随机生成的初始序列号ISN(Initial Sequence Number)。

第二次握手(SYN+ACK):服务器收到SYN包后,向客户端发送SYN+ACK包,表示同意建立连接。该包中也包含一个随机生成的序列号ISN,同时将确认序列号ACK设置为客户端的ISN+1。

第三次握手(ACK):客户端收到服务器的SYN+ACK包后,向服务器发送ACK包,表示客户端也同意建立连接。该包的序列号设置为服务器的ISN+1,确认序列号设置为服务器的ISN+1。

在三次握手完成后,TCP连接建立成功,双方可以开始进行数据传输。这个过程可以确保连接的可靠性和完整性,防止数据包的丢失或重复传输。

FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

FTP服务器一般都支持主动和被动两种工作模式,具体采用哪一种由客户端决定.

  • 主动模式: FTP客户端首先连接服务器的21端口,客户端需要接收数据的时候在这个通道上发送PORT命令,告诉服务端,客户端将在哪个端口上接受数据。发送数据时服务端将通过自己的20端口,将数据发送端指定端口。FTP server必须和客户端建立一个新的连接用来传送数据。

  • 被动模式: FTP客户端首先连接服务器的21端口,发送用户名密码登录; 登录成功后在需要List列表或读取数据时,客户端发送PASV命令到FTP服务器,服务器在本地开放一个随机端口(1024以上),并将该端口告诉客户端,客户端连接到这个随机端口,然后FTP服务器将通过这个端口传送数据。

20端口: 用来传输数据的端口(主动模式)

21端口: 用来传输控制信息

二. FTP服务器的搭建【虚拟机Windows2012版】

1. 启用防火墙

2. 打开服务器管理器➡工具➡计算机管理

3. 选择本地用户与组➡新建组

4. 给组命名,输入描述,点击创建

  • 创建完成后,新建窗口不会消失,但是组已经创建成功

5. 新建用户,设置用户名称,添加描述,输入密码,点击创建

6. 将新建的用户与组绑定

  • 将新建的用户右键选择属性➡隶属于,将原有的user删除

  • 点击添加,对象类型选择组,点击高级

  • 选择对象类型为组,点击立即查找,选中建好的组,点击确定

  • 点击应用,再点击确定

7. 安装FTP服务器

  • 服务器管理器➡管理➡添加角色和功能

  • 这里直接点击下一步

  • 选择基于角色安装,点击下一步

  • 勾选从服务池中选择服务器,点击下一步

  • 勾选Web服务器(IIS)➡添加功能,点击下一步

  • 这里不用做任何的选择,直接下一步

  • 这里也是直接下一步

  • 勾选FTP服务器,点击下一步

  • 开始安装

8. 配置FTP服务器

  • 服务器管理器➡工具➡IIS管理器

  • WIN-F5KUD4I8RTH➡网站➡右键➡添加ftp站点

  • 设置站点名称,存放路径,点击下一步

  • 根据自己需求选择SSL,点击下一步

  • 身份认证勾选基本,指定角色或用户组,填入创建的组,勾选权限,点击完成

  • 服务就搭建完成了

9. 配置FTP文件夹的权限

  • 在ftp目录处,右键点击属性➡安全➡编辑

  • 点击添加➡高级

  • 对象类型选择组,点击立即查找,选中创建的组,点击确定

  • 将权限勾选上,点击确定即可

10. 连接测试

  • 在文件夹资源管理器中输入ftp://localhost,回车

  • 出现一个窗口,输入ftp的用户名和密码

  • 然后就登录进来了(这是在本机上可以访问,要想其他电脑也能访问这个ftp服务器,还需要以下配置)

  • 在防火墙高级设置中,找到入站规则,找到FTP服务器

  • 双击,选择程序与服务,将程序的路径c下来

  • 再新建规则,这里的规则类型选择程序,点击下一步

  • 输入刚刚c的程序路径,点击下一步

  • 勾选允许连接,点击下一步

  • 下一步

  • 输入名称和描述,点击完成

  • 在其他电脑上输入ftp://+服务器ip,即可访问ftp服务器

三. 计算机端口介绍

1. 介绍

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

1、公认端口(Well Known Ports):从0到1023

2、注册端口(Registered Ports):从1024到49151

3、动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535

4、常见端口:

  • 8080为http服务的备用端口
  • 21 FTP服务器所开放的端口,用于上传、下载
  • 22 SSH端口
  • 23 Telnet
  • 25 SMTP服务器所开放的端口,用于发送邮件
  • 80 用于网页浏览

2. 端口相关

1、命令 netstat -na ,会显示本机连接情况及打开的端口

2telnet ip port 命令测试端口是否开放

3、安装telnet

单击“开始”,右键单击“计算机”,然后单击“管理”。

在“功能摘要”部分,单击“添加功能”。

在“选择功能”页上,选择“Telnet 服务器”。还可以根据需要选择“Telnet 客户端”。

单击“下一步”,然后在“确认安装选项”页上,单击“安装”。

在“安装结果”页上,单击“关闭”。

此处注意服务是禁止的,需要在服务里改成自动或者手动

4、启动 Telnet 服务器,请键入 net start telnet

5、停止 Telnet 服务器,请键入 net stop telnet

netstat-tulnp

  • Proto:  协议
  • Recv-Q 网络接收队列
  • Send-Q 网络发送队列
  • Local Address 服务器监听的IP地址和端口号,如果为0.0.0.0表示监听本地所有的IP(有时服务器有不止一个网卡)
  • Foreign Address 与本地端口通讯的外部socket
  • State:链路状态 

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

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

相关文章

看懂 Git Graph

目录 文章目录 目录Git Graph看懂 GraphVSCode Git Graph 插件1. 选择展示的 Branches2. Checkout 到一个 Branch3. 找到指定 Branch 最新的 Commit4. 找到 Branch 分叉口5. 查看 2 个 Commits 之前的区别 Git Graph Git Graph 是服务于 Git 分支管理的一种可视化工具&#xf…

java企业人事信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web企业人事信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发,数据库为M…

网络安全—认证技术

文章目录 加密认证对称密钥体制公钥密码体制公钥的加密公钥身份认证和加密 鉴别码认证MAC鉴别码 报文摘要认证认证 加密只认证数字签名 通过了解以前前辈们使用的消息认证慢慢渐进到现代的完整的认证体系。所以在学习的时候也很蒙圈,因为前期的很多技术都是有很严重…

42.动态代理

动态代理 文章目录 动态代理JDK动态代理cglib动态代理jdk动态代理和cglib动态代理的区别区别:CGlib动态代理示例: JDK动态代理 1.我们需要定义一个接口,作为代理和目标对象共同实现的约束: package com.kang.spring.service;/**…

c语言:用指针输入两个数组|练习题

一、题目 利用指针&#xff0c;输入两个数组 如图&#xff1a; 二、代码截图【带注释】 三、源代码【带注释】 #include <stdio.h> int main() { int a[50]; int b[50]; int *paa,*pbb; //输入第一组数组 printf("请输入第一组5个数字&#xff1a;…

创建VLAN及VLAN间通信

任务1、任务2、任务3实验背景&#xff1a; 在一家微型企业中&#xff0c;企业的办公区域分为两个房间&#xff0c;一个小房间为老板办公室&#xff0c;一个大房间为开放办公室&#xff0c;财务部和销售部的员工共同使用这个办公空间。我们需要通过VLAN的划分&#xff0c;使老板…

世微 DW01 4.2V锂电池保护电路芯片 专业电源管理芯片

一、 描述 DW01A 是一个锂电池保护电路&#xff0c;为避免锂电池因过充电、过放电、电流过大导致电池寿命缩短或电池被损坏而设计的。它具有高精确度的电压检测与时间延迟电路。 二、 主要特点 工作电流低&#xff1b; 过充检测 4.3V&#xff0c;过充释放 4.05V&#xff1b; 过…

Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜,Kotlin(1)

Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜&#xff0c;Kotlin&#xff08;1&#xff09; 实现查看图片的放大镜&#xff0c;放大镜随着手指在屏幕上的移动&#xff0c;放大镜里面展示手指触点为中心、半径长度的圆形放大后的图片。 剪切出一块圆形Path…

BIOS:计算机中的特洛伊木马

内容概述&#xff1a; 由于主板制造商在计算机启动时用来显示品牌徽标的图像分析组件相关的问题&#xff0c;多个安全漏洞&#xff08;统称为 LogoFAIL&#xff09;允许攻击者干扰计算机设备的启动过程并安装 bootkit。x86 和 ARM 设备都面临风险。主板固件供应链安全公司 Bin…

记一次Oracle Cloud计算实例ssh恢复过程

#ssh秘钥丢失# &#xff0c; #Oracle Cloud# 。 电脑上的ssh秘钥文件不知道什么时候丢失了&#xff0c;直到用的时候才发现没有了&#xff0c;这下可好&#xff0c;Oracle Cloud的计算实例连不上了&#xff0c;这个实例只能通过ssh连接上去&#xff1a; 以下是解决步骤&#x…

时隔五天,重温Redis基础总结

目录 字符串操作命令 Redis 字符串类型常用命令SET key value 设置指定key的值 ​编辑GET key 获取指定key的值 ​编辑SETEX key seconds value 设置指定key的值&#xff0c;并将 key 的过期时间设为 seconds 秒 SETNX key value 只有在key不存在时设置key的值 哈希操作命…

【话题】ChatGPT等大语言模型为什么没有智能2

我们接着上一次的讨论&#xff0c;继续探索大模型的存在的问题。正巧CSDN最近在搞文章活动&#xff0c;我们来看看大模型“幻觉”。当然&#xff0c;本文可能有很多我自己的“幻觉”&#xff0c;欢迎批评指正。如果这么说的话&#xff0c;其实很容易得出一个小结论——大模型如…

kubeadm搭建k8s单节点集群——适合中小企业的业务集群

实验条件&#xff1a; master 20.0.0.17 2核4G docker、kubelet、kubeadm、kubectl、fannel node1 20.0.0.37 2核4G docker、kubelet、kubeadm、kubectl、fannel node2 20.0.0.47 2核4G docker、kubelet、kubeadm、kubectl、fannel slave:harbor 仓库节点 20.0.0.…

mysql基础-表操作

环境&#xff1a; 管理工具&#xff1a;Navicat 数据库版本&#xff1a;5.7.37 mysql的版本&#xff0c;我们可以通过函数&#xff0c;version()进行查看&#xff0c;本次使用的版本如下&#xff1a; 目录 1.管理工具 1.1创建表 1.2.修改表名 1.3.复制表 1.4.删除表 2…

计算机毕业论文内容参考|基于Apriori算法的门诊药物推荐系统的设计与实现

文章目录 摘要:前言相关技术与方法介绍系统分析系统设计系统实现系统测试与优化总结与展望摘要: 本文详细介绍了一种基于Apriori算法的门诊药物推荐系统的设计与实现。该系统利用Apriori算法挖掘患者就诊记录中的药物关联规则,为医生提供药物推荐,从而优化治疗方案。文章首…

mysql基础-字段类型及几点讨论事项

目录 1.主要字段类型 1.1整数 1.2.浮点数类型 1.3.文本类型 1.4.日期与时间类型 2.讨论几点有关字段类型的事 2.1 时间类型字段用字符还是datetime&#xff1f; 2.2 时间类型字段如何设置随时间更新&#xff1f; 2.3 字段长度够用即可 2.4 小数的字段类型选择&#xf…

月薪过万,突破“创业失败+外卖小哥”标签,他这样从什么都不懂晋升为测试团队骨干~

何人年少不轻狂,一身疲惫一人扛。 只有走出学校的大门独自在社会上闯荡一番后才能够切身体会这句话的含义。 哪个少年没有志比天高的崇高的理想&#xff0c;然而现实却是命比纸薄的真实写照。任何一个未正式踏入社会的青年面对未来都是充满激情的&#xff01;真正走向社会才发…

十大排序的个人总结之——冒泡排序、插入排序

同样&#xff0c;这两几乎也是被淘汰了的算法&#xff0c;尽管它们是稳定的&#xff0c;但是时间复杂度没人喜欢&#xff0c;了解一下就好&#xff0c;没啥好说的&#xff0c;注意最后一句话就行了 一&#xff0c;冒泡排序 1. 算法步骤 共n-1趟&#xff0c;谁两敢冒泡就换了…

vue保姆级教程----深入了解 Vue Router的工作原理

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

2024年最新版 Ubuntu 20+ 上安装 Docker

2024年最新版 Ubuntu 20 上安装 Docker 一、前言 在网上搜了一些安装docker的方法&#xff0c;怎么说感觉良莠不齐&#xff0c;参考GPT整理一下来自GPT4这边的安装docker的解决方法&#xff0c;实测能用》2024.1.2&#xff0c;大概耗时7分钟左右&#xff08;在没报错的情况下…