windows搭建ftp及原理(小白向)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 环境
  • 一、实验步骤
    • 1.1安装ftp
  • 二、ftp实验引发的思考
    • 1.简单阐述ftp的原理
    • 2.ftp建立的流程
  • 总结


环境

windwos任意环境不需要server
windows10
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、实验步骤

1.1安装ftp

控制面板
在这里插入图片描述控制面板\程序\程序和功能
在这里插入图片描述启动或关闭windows功能
安装iis
值得注意的是,这里ftp是集成于iis的,iis是windows自己研发的一个中间件,之所以两个集成到一起,我想大概是因为ftp和web服务的本质都是共享文件,只不过一个是共享html页面,而另外一个是共享一些二进制或者文本文件。
在这里插入图片描述我们按照上面的图片勾上我们需要的功能后点击确定
在这里插入图片描述我们在计算机管理里面可以看到iis管理模块
在这里插入图片描述在这里插入图片描述我们点击ftp身份验证
在这里插入图片描述这里的两个选项默认都是禁用的,这里注意就算开启基本身份验证也不要开启匿名身份验证,因为guest登录不需要密码,经常会被利用提权进行一些攻击,所以我们要注意这一点
在这里插入图片描述我们在桌面随便新建一个文件共享出去
在这里插入图片描述这里可以看到只有这个用户的所有者才可以利用网络发现去获取这个文件,我们没有给其他用户权限
我们给everyone读取权限
在这里插入图片描述在这里插入图片描述注意这里要启动网络发现不然没法用ip访问
在这里插入图片描述我们本地看下
在这里插入图片描述我们访问本地发现可以看到桌面的所有文件,这是为什么呢?
这里是因为ftp访问文件需要 基于用户和用户权限这里只简单讨论一下,我们本地文件发现登录的是目前使用的用户,我目前使用的是administrator这个管理员的用户,所以我们可以看到所有文件,因为我们的权限足够。

我们需要换一台机器访问
我们先看下本机的ip
在这里插入图片描述我们访问这个ip
弹出了一个认证
在这里插入图片描述我们用管理员身份登录
\192.168.43.226\Users\o\Desktop
发现是一样可以看到所有桌面
这也印证了我们上面的说法
在这里插入图片描述
那我们换一个其他用户登录

首先我们需要在ftp站点上创建一个用户

可以看到ftp站点默认有很多基础用户

分别是管理员和guest(游客)还有一些其他用户
在这里插入图片描述我们右击创建一个新用户
在这里插入图片描述在这里插入图片描述在这里插入图片描述
我们给文件配置用户共享权限
在这里插入图片描述在这里插入图片描述我们用其他设备访问这个ftp站点,并登录这个用户user1
在这里插入图片描述在这里插入图片描述
注意我们可以看到虽然我们只能看到这个文件夹,但是我们却可以看到这个文件夹所在的用户以及路径
这个有什么用呢,我们后面做探讨
\192.168.43.226\Users\o\Desktop

我们前面给了这个用户读取权限,那么我们这里测试删除一下

看是否有权限

在这里插入图片描述
可以看到是没有的,所以我们这里实验基本就完成了,可是如果只有实验,那么是没有什么意义的,我们需要深入了解ftp这个协议


二、ftp实验引发的思考

1.简单阐述ftp的原理

提起ftp我们都知道他是基于tcp/ip协议簇中的tcp协议的,而且他是有基于两个端口的一个是21一个是20,如果你能回答出这些其实只能算入门。

那么究竟应该怎样理解这协议呢?

我们先从ftp为什么用tcp协议开始刨析

我们都知道连接协议除了tcp还有udp协议,那为什么ftp用tcp而不是udp呢?

这里是因为我们经常传输的文件不是ascii码文件(文本文件),就是二进制类型的数据流文件。

那么这些文件在冗长的网络链路中传输,一旦受到网络延迟或环境干扰是很可能会丢掉一些数据的,那么如果一旦数据丢失严重很可能会导致接收方得到的是一堆乱码,所以我们需要一个协议去保证链路的可靠性,但是ftp本身并没有他可能会有校验机制,但是需要保证链路可靠还需要借助其他协议。

而如果大家对tcp协议足够了解就会知道tcp和udp的区别就在于tcp协议有优秀的差错重传机制,这些都是基于三次握手和四次挥手,显然这点tcp比udp更适合。

那么第二个问题ftp为什么有两个端口?

如果我们百度那么答案是这个
21端口用于建立控制连接,并传输FTP指令。
20端口用于建立数据连接,传输数据流。

我们能通过这两句话大概知道21端口是用来控制连接的,传输ftp指令,这究竟是在讲什么呢?

我们前面提到了大多数传输的文件分为
ascii码类型的文件(文本文件)。
二进制类型的文件。

这个控制连接其实就是在交换这些,也就是我们后面要传的文件类型和一次能接受多少个数据流(文件在链路中被分批传输)等。

这些基本的信息协商完毕后,才会建立20端口的链接。

上面只是简单的解释一下,如果要更深一步理解需要看报文和流程图。


2.ftp建立的流程

ftp是一个基于c/s架构的协议

他有主动模式和被动模式的连接方法

主动模式:服务端从20端口主动向客户端发起连接,工作过程如下图所示:
在这里插入图片描述
第一步中,FTP客户端提交PORT命令并允许服务器来回连它的数据端口(1027端口)。

第二步中,服务器返回确认。

在第三步中,FTP服务器向客户端发送TCP连接请求,目标端口为1027,源端口为20。建立起传输数据的连接。

这里我们不讨论防火墙的问题,这样会让问题更加复杂,有兴趣大家可以自行思考。

被动模式:服务端在指定范围内的某各端口被动等待客户,被动发起连接。

在这里插入图片描述在第一步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令"PASV"。

在第二步中,服务器返回命令"PORT 2024"告诉客户端:服务器用哪各端口监听数据连接。

在第三步中 ,客户端初始化一个从自己的数据端口到到服务器指定的数据端口的数据连接。

在第四步中,服务器给客户端的数据端口返回一个"ACK"响应。

这里我们不讨论防火墙的问题,这样会让问题更加复杂,有兴趣大家可以自行思考。

我们不探讨防火墙的问题,但是我们补充一个题外话,windows其实用的文件共享并不是ftp协议,而是“自行研发”的SMB协议。
起因是微软不愿意交License费,在windows系统中对该协议重新进行了实现。既然samba和windows中的网络邻居都使用SMB协议。

而微软却又因为samba协议屡次爆出危害全世界的高危安全漏洞。

我们安全圈津津乐道的“永恒之蓝”和“永恒之黑”都是基于SMB远程代码执行漏洞。


总结

上面就是ftp的基本流程和一些探讨,前面我们留下了一个问题

我们在访问ftp站点的时候,我们可以看到这个文件夹所在的用户以及路径,这里我说是一个问题,大家可能在实验的时候会忽略。

但是我们需要知道,在渗透攻击的流程中第一步就是信息收集,而信息收集其实在后渗透中也是常见的操作,用户的信息泄露也是我们所关注的焦点,我们可以通过已知的一些业务得到我们想要的用户信息,从而得到我们需要的登录账户甚至是密码。

所以我们在共享文件的时候需要特别留意是否有不安全的行为。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】System V IPC-命名管道共享内存消息队列

System V IPC-命名管道&共享内存&消息队列 命名管道共享内存创建共享内存附加和分离共享内存 消息队列消息队列的接口 命名管道 使用mkfifo命令,创建一个命名管道,通过ll可以查看当前命名管道的类型 p类型,也就是pipe管道类型。 之…

Vector - CAPL - Panel面板_01

前面有过简单的介绍panel面板的功能,不过终究感觉有点简陋,最近也在搞PyQT5,发现如果对于这块了解不多的情况下,想要做一些东西的话,简直无从下手,因此专门翻阅了之前的文章,查看了下确实缺少了…

json for modern c++

目录 json for modern c概述编译问题问题描述问题解决 读取JSON文件demo json for modern c GitHub - nlohmann/json: JSON for Modern C 概述 json for modern c是一个德国大牛nlohmann写的,该版本的json有以下特点: 1.直观的语法。 2.整个代码由一个…

机器学习——L1范数充当正则项,让模型获得稀疏解,解决过拟合问题

问:使用L2范数正则项比L1范数正则项得到的是更为稀疏的解。 答:错误,L1范数正则项得到的是更稀疏的解。因为在L1正则项中,惩罚项是每个参数绝对值之和;而在L2正则项中,惩罚项是每个参数平方的和。L1正则项…

( “树” 之 DFS) 111. 二叉树的最小深度 ——【Leetcode每日一题】

111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:2…

Nginx 正向代理、方向代理、端口转发

正向代理就是客户端代理,代理客户端,服务端不知道实际发起请求的客户端 正向代理中,proxy和client一般同一个lan或者网络可达,server与client一般不可达(缓存场景除外) 正向代理类似一个跳板机&#xff0c…

java异常

下面是算术异常。 抛出的异常其实是个类。 下面是空指针异常。 用异常时,下面语句不会执行。 上面这些是运行时异常 下面这是编译时异常。 在程序编译期间发生的异常,称为编译时异常,也称为受检查异常 在程序执行期间发生的异常,…

企业信息化建设该怎么做?方向和手段都在这了

企业信息化建设该怎么做? 如果现在是十年前,我一定会说,做信息化需要寻找熟悉不同编程语言、有经验的程序员。 但是现在,如果不是特别复杂的信息化系统,其实公司完全可以使用零代码平台自主开发,不需要再…

TryHackMe-Year of the Jellyfish(linux渗透测试)

Year of the Jellyfish 请注意 - 此框使用公共 IP 进行部署。想想这对你应该如何应对这一挑战意味着什么。如果您高速枚举公共 IP 地址,ISP 通常会不满意… 端口扫描 循例nmap 扫描结果中还有域名,加进hosts FTP 枚举 尝试anonymous Web枚举 有三个端…

Open Inventor 2023.1 Crack

发行说明 Open Inventor 2023.1(次要版本) 文档于 2023 年 4 月发布。 此版本中包含的增强功能和新功能: Open Inventor 10 版本编号更改体积可视化 单一分辨率的体绘制着色器中与裁剪和 ROI 相关的新功能MeshVizXLM 在 C 中扩展的剪辑线提…

[网络安全]第三次作业

目录 1. 什么是IDS? 2. IDS和防火墙有什么不同? 3. IDS工作原理? 4. IDS的主要检测方法有哪些详细说明? 5. IDS的部署方式有哪些? 6. IDS的签名是什么意思?签名过滤器有什么作用?例外签名…

SpringBootApplication最详细注解

SpringBootApplication最详细注解 SpringBootApplication的注解分类1.Target 2.Retention3.Document 4.Inherited5.SpringBootConfiguration 6.EnableAutoConfiguration6.1AutoConfigurationPackage这个注解6.1.1 Import6.1.2 AutoConfigurationpackages.Registrar.class 6.2 A…

经营软件公司五年,从外包到SaaS的踩坑笔记

文章目录 摘要开公司的两个误区关于管理关于合作关于SaaS其他经验大和强是两码事。大不是目的,强才是。小步试错、慢慢迭代不要掉入流量陷阱 摘要 经营公司已有五年,经历了三年的疫情停滞,现在正在转型为一家SaaS公司。虽然曾经迷茫过&#…

【虹科案例】固态量子发射器——虹科数字化仪用于控制钻石色心中的脉冲序列

前言 钻石的色心是晶格中的缺陷,其中碳原子被不同种类的原子取代,相邻的晶格位置是空的。由于其明亮的单光子发射和光学可访问的自旋,色心可以成为未来量子信息处理和量子网络的有前途的固态量子发射器。 实现自旋量子比特和相干光子纠缠的两…

Linux DHCP服务

DHCP 作用 DHCP动态主机配置协议作为服务端负责集中给客户端分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址) 传输协议端口 服务端 UDP 67端口 客户端 UDP 68端口 工作原理 1) 客户端广播发送DISCOVER报文寻找服务端 2) 服务端广播发…

5G物理层信道pdcch说明(留档)

网络七层协议OSI是一个开放性的通信系统互连参考模型。 它是国际标准组织制定的一个指导信息互联、互通和写作的网络规范。 开放:是指只要遵循OSI标准,位于世界的任何地方的任何系统之间都可以进行通讯;开放系统:是指遵循互联网协…

MBD—模型的回调函数

目录 前面 如何设置? 应用 简单的提示 数据的初始化 前面 常用的回调函数有三类:模型的回调函数、模块的回调函数、信号的回调函数。这里分享一下模型的回调函数。 回调函数就是CallBack. 如何设置? 打开一个模型,在空白…

论文阅读【17】Dynamic ensemble learning for multi-label classification

论文十问十答: Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提到的解决方…

简述API(电商数据API)网关的概念和功能

API 网关 ( API gateway ) 前言 在 IOT ( 物联网 )中,当我们的一些设备。例如( 监控、传感器等 )需要将收集到的数据和信息进行汇总时,我们就需要一个 API。(如果你需要Taobao/JD/pinduoduo平台…

Replicator简介

Replicator 文章目录 ReplicatorReplicator简介合成数据训练背后的理论Replicator核心组件已知的问题 Replicator简介 Omniverse Replicator 是一个高度可扩展的框架,构建在可扩展的 Omniverse 平台上,可生成物理上准确的 3D 合成数据,以加速…