当前位置: 首页 > news >正文

网络协议与攻击模拟_15FTP协议

  • 了解FTP协议

在Windows操作系统上使用serv-U软件搭建FTP服务

分析FTP流量

一、FTP协议

1、FTP概念

  • FTP(文件传输协议)由两部分组成:客户端/服务端(C/S架构)

应用场景:企业内部存放公司文件、开发网站时利用FTP协议将网页或程序传到网站服务器,网络中传输一些大文件使用该协议。

  • FTP:基于传输层TCP的,默认端口号(20号端口一般用于传输数据,21号端口用于传输控制信息),但是,是否使用20号端口作为传输数据端口和FTP的传输模式有关系。
    • 如果采用的主动模式,传输数据使用20号端口
    • 如果采用的被动模式,传输使用的端口需要服务器和客户机协商决定

2、工作方式

  • 主动模式(port方式)
    • 建立连接使用21号端口,客户端通过此通道向服务器发送port命令,服务器从20号端口主动向客户端发起连接(不是很安全)
  • 被动模式(passive方式)
    • 建立连接使用21号端口,客户端像服务器发送pasv命令,服务器收到会随机打开一个高端端口(大于1024),服务器在指定范围内的某个端口被动等待客户端的连接。

3、 传输模式

  • 文本模式:ASCII模式,以文本序列传输
  • 二进制模式:binary模式,以二进制序列“0”和“1”传输(视频、图片、应用程序等)

二、FTP的客户端和服务端

1、服务端程序

  • serv-U
  • filezilla server(开源)
  • vsftpd(Linux平台)
  • Windows server IIS(FTP 发布服务)

2、客户端程序

  • 命令行:ftp 192.168.10.10
  • 资源管理器:地址栏输入ftp://92.168.10.10
  • 浏览器:输入ftp://92.168.10.10
  • 第三方工具
    • flashFXP
    • filezilla client
    • cuteftp
    • xftp

三、部署FTP服务器

1、Serv-U

一台windows serversion2016虚拟机,设置vmnet1网络,自动获取IP技术

在D盘创建技术部文件夹、财务部文件夹,在文件夹中存入一些内容。

安装Serv-U,首次打开会有一个登录界面,关掉重新打开一下就直接进去了

(1)定义新域

  • 域详细信息

定义新域woniu就好了

  • Domain Type

文件传输和文件共享,我们不用文件共享功能,可以把它勾掉

  • Protocols

默认是开启了FTP的21号端口、FTPS的990端口、使用SSH的SFTP的22号端口、HTTP的80端口和HTTPS的443端口

FTP传输的是明文信息,SFTP传输的是密文信息,使用SSH可以将FTP的密码进行加密,使用SSH的SFTP是SSH和SFTP的结合。

  • IP Listeners

监听,ipv4,所以只将ipv4勾上。

  • 加密

Serv-U能够恢复密码 ,密码的加密模式,我们使用服务器设置

(2)创建用户 

针对FTP的用户有匿名用户和普通用户。

a、匿名用户

匿名用户:anonymous 固定名称(某些FTP服务端软件也可以使用ftp用户名作为匿名用户)

密码设为空

这个用户创好了

b、普通用户

用户信息

zhangsan访问的时候直接访问到技术部文件夹且对技术部下的文件夹有完全访问权限

2、工作方式(被动)

针对Serv-U默认使用的是被动模式。

Winshark打开抓Vmnet1网卡流量,本地资源管理器访问一下,然后抓包分析:

客户机和服务器的21号端口建立三次握手

服务器返回给客户端一个消息Response响应状态码是220,服务器信息是Serv-U FTPServerv15.1 redy   220状态码 成功响应

客户机请求服务器,请求用户名是anonymous

服务器向客户机响应

状态码331,user name okey,please send complete E-mail address as password。

匿名用户没有设置密码,客户机像服务器发送响应报文,Request:PASS IEUSER@

服务器向客户机发送响应报文,Response :230 User logged in,proceed

客户机向服务器确认ACK

客户机向服务器请求,opts utf8 on,请求指定utf8字符编码集

服务器向客户机响应,Response:200 OPTS UTF8  is set to ON

客户机向服务器确认ACK

接着

客户机向服务器发送请求Request :syst

服务器向客户机响应:Response:215 UNIXType:L8(可以看出Serv-U软件的底层是UNIX)

客户机向服务器确认ACK

接着

客户机向服务器请求Request:site help

服务器响应客户机 Response:214,返回了一些Help Message

pasv 227状态码

端口是49684这个端口我们没有设置过

接着是客户机和服务器重新建立三次握手

3、传输模式(binary)

从ftp://192.168.254.133下载到本地一个文件,抓包可以看到文件传输是binary模式.

四、FTP状态码

状态码说明
1XX肯定的初步答复
110重新启动标记答复
120服务已就绪,在nnn分钟后开始
125数据连接已打开,正在开始传输
150文件状态正常,准备打开数据连接
2xx肯定的完成答复
200命令确定
202未执行命令,站点上的命令过多
211系统状态,或系统帮助答复
212目录状态
213文件状态
214帮助消息
215NAME系统类型,其中,NAME是Assigned Numbers文档中所列的正式系统名称
220服务就绪,可以执行新用户的请求
221服务关闭控制连接,如果适当请注销
225数据连接打开,没有进行中的传输
226关闭数据连接,请求的文件操作已成功(例如:传输文件或放弃文件)
227

进入被动模式(h1,h2,h3,h4,p1,p2)

230用户已登录,继续进行
250请求的文件操作正确,已完成
257已创建“PATHNAME”
3xx可定的中间答复
331用户名正确,需要密码
332需要登录账户
350请求的文件操作正在等待进一步的信息

4xx

状态否定的完成答复
421服务不可用,正在关闭控制连接,如果服务确定它必须关闭,将向任何命令发送这一应答
425无法打开数据连接
426Connection closed;transfer aborted
450

未执行请求的文件操作,文件不可用(例如:文件繁忙)

451请求的操作异常终止们正在处理本地错误
452未执行 请求的操作,系统存储空间不够
5xx永久性否定的完成答复
500语法错误,命令无法识别。这可能包括诸如命令行太长之类的情景
501在参数中有语法错误
502未执行命令
503错误的命令序列
504未执行改参数的命令
530未登录
532存储文件需要账户
550未执行请求的操作,文件不可用(例如:未找到文件,没有访问权限)
551请求的操作异常终止,未知的页面类型
552请求的文件操作异常终止,超出存储分配(对于当前目录或数据集)
553未执行请求的操作,不允许的文件名

相关文章:

网络协议与攻击模拟_15FTP协议

了解FTP协议 在Windows操作系统上使用serv-U软件搭建FTP服务 分析FTP流量 一、FTP协议 1、FTP概念 FTP(文件传输协议)由两部分组成:客户端/服务端(C/S架构) 应用场景:企业内部存放公司文件、开发网站时利…...

「效果图渲染」效果图与3D影视动画渲染平台

效果图渲染和3D影视动画渲染都是视觉图像渲染的领域应用。效果图渲染主要服务于建筑、室内设计和产品设计等行业,这些领域通常对视觉呈现的精度和细节有较高要求。与之相比,3D影视动画渲染则普遍应用于电影、电视、视频游戏和广告等媒体领域,…...

Blender_查看版本

Blender_查看版本 烦人的烦恼,没找见哪儿可以查看版本? 算是个隐蔽的角落!...

node.js 读目录.txt文件,用 xml2js 转换为json数据,生成jstree所需的文件

请参阅:java : pdfbox 读取 PDF文件内书签 请注意:书的目录.txt 编码:UTF-8,推荐用 Notepad 转换编码。 npm install elementtree ; npm install xml2js ; node.js 用 elementtree读目录.txt文件,用 xml2js 转换为…...

【Docker】02 镜像管理

文章目录 一、Images镜像二、管理操作2.1 搜索镜像2.1.1 命令行搜索2.1.2 页面搜索2.1.3 搜索条件 2.2 下载镜像2.3 查看本地镜像2.3.1 docker images2.3.2 --help2.3.3 repository name2.3.4 --filter2.3.5 -q2.3.6 --format 2.4 给镜像打标签2.5 推送镜像2.6 删除镜像2.7 导出…...

了解海外云手机的多种功能

随着社会的高度发展,海外云手机成为商家不可或缺的工具,为企业出海提供了便利的解决方案。然而,谈及海外云手机,很多人仍不了解其强大功能。究竟海外云手机有哪些功能,可以为我们做些什么呢? 由于国内电商竞…...

白酒:自动化生产线的优势与实践

随着科技的进步,自动化生产线在各行各业的应用越来越广泛。云仓酒庄的豪迈白酒在生产过程中,也积极引入自动化生产线,以提升生产效率、品质和安全性。 首先,自动化生产线能够显著提高生产效率。传统的手工生产线在生产过程中容易受…...

用HTML5实现灯笼效果

本文介绍了两种实现效果:一种使用画布(canvas)标签/元素,另一种不用画布(canvas)标签/元素主要使用CSS实现。 使用画布(canvas)标签/元素实现,下面,在画布上…...

Postgresql源码(120)事务XID分配与主备XID同步

参考 《Postgresql源码(25)子事务可见性判断和性能问题》 XID获取顶层入口 函数:AssignTransactionId static void AssignTransactionId(TransactionState s) {...优先给没有事务ID的父事务分配 确保父事务有 XID,以便子事务总是…...

B2077 角谷猜想(洛谷)

题目描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 33 加 11,如果是偶数,则除以 22,得到的结果再按照上述规则重复处理,最终总能够得到 11。如,假定初始整数为 55&…...

排序算法---归并排序

原创不易,转载请注明出处。欢迎点赞收藏~ 归并排序是一种常见的排序算法,它采用了分治的思想。它将一个待排序的数组递归地分成两个子数组,分别对两个子数组进行排序,然后将排好序的子数组合并成一个有序数组。 具体的归并排序过…...

[WUSTCTF2020]朴实无华(特详解)

一开始说header出问题了 就先dirsaerch扫一遍 发现robot.txt 访问一下 去看看&#xff0c;好好好&#xff0c;肯定不是得 他一开始说header有问题&#xff0c;不妨抓包看看&#xff0c;果然有东西 访问看看&#xff0c;乱码修复一下&#xff0c;在之前的博客到过 <img src…...

下载已编译的 OpenCV 包在 Visual Studio 下实现快速配置

自己编译 OpenCV 挺麻烦的&#xff0c;配置需要耗费很长时间&#xff0c;编译也需要很长时间&#xff0c;而且无法保证能全部编译通过。利用 OpenCV 官网提供的已编译的 OpenCV 库可以节省很多时间。下面介绍安装配置方法。 1. OpenCV 官网 地址是&#xff1a;https://opencv…...

【Linux系统学习】3.Linux用户和权限

Linux用户和权限 1.认知root用户 1.1 root用户&#xff08;超级管理员&#xff09; 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中&#xff0c;拥有最大权限的账户名为&#xff1a;root&#xff08;超级管理员&#xff09; 而在前期&#…...

视频美颜SDK开发指南:从入门到精通的技术实践

美颜SDK是一种强大的工具&#xff0c;它不仅仅可以让用户在实时视频中获得光滑的肌肤和自然的妆容&#xff0c;从简单的滤镜到复杂的人脸识别&#xff0c;美颜SDK涵盖了广泛的技术领域。 一、美颜SDK的基本原理 美颜SDK包括图像处理、人脸检测和识别、滤镜应用等方面。掌握这些…...

Electron基本介绍

Electron基本介绍 Electron 官方网站&#xff1a;https://www.electronjs.org/zh/ Electron安装方法&#xff1a;npm install electron -g 全局安装 Electron简介&#xff1a;Electron提供了丰富的本地&#xff08;操作系统&#xff09;API&#xff0c;使你能够使用纯JavaScr…...

使用网关过滤器,根据业务规则实现微服务动态路由

文章目录 业务场景拦截器实现Spring Cloud Gateway介绍 业务场景 我们服务使用Spring Cloud微服务架构&#xff0c;使用Spring Cloud Gateway 作为网关&#xff0c;使用 Spring Cloud OpenFeign 作为服务间通信方式作为网关&#xff0c;主要作用是鉴权与路由转发。大多数应用场…...

PKI - 03 密钥管理(如何进行安全的公钥交换)

文章目录 Pre密钥管理面临的挑战安全密钥管理的几种方式手动密钥交换与确认受信任的介绍 Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点&#xff1a; 安全的公钥交换&#xff1a;在使用基于非对称密钥算法的服务之前&#xff0c…...

Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)

Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee 小巧玲珑&#xff01;仅 860K, 还不到 1M, 但却是功能强大&#xff01; V2.2 (2024春节・LTS 版) 1.Javabean 实体支持继承 (配置 bee.osql.openEntityCanExtendtrue) 2. 增强批…...

HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用

原生智能是HarmonyOS NEXT的核心亮点之一&#xff0c;依托HarmonyOS SDK丰富全面的开放能力&#xff0c;开发者只需通过几行代码&#xff0c;即可快速实现AI功能。新浪新闻作为鸿蒙原生应用开发的先行者之一&#xff0c;从有声资讯入手&#xff0c;基于Speech Kit朗读控件上线听…...

深入OpenBMC散热控制:从IPMI命令到D-Bus,揭秘手动与自动模式切换

深入OpenBMC散热控制&#xff1a;从IPMI命令到D-Bus&#xff0c;揭秘手动与自动模式切换 在数据中心和服务器运维领域&#xff0c;散热控制一直是系统稳定性的关键因素。OpenBMC作为开源基板管理控制器&#xff0c;其散热管理机制直接影响到服务器的可靠性和能效比。本文将带您…...

实战指南:用快马为django项目生成定制化vmware开发环境,开箱即用

实战指南&#xff1a;用快马为Django项目生成定制化VMware开发环境&#xff0c;开箱即用 在实际开发场景中&#xff0c;虚拟机环境需要与具体项目需求紧密结合。最近我在做一个Django项目时&#xff0c;发现每次换电脑或重装系统都要重新配置开发环境&#xff0c;特别浪费时间…...

3步解决HEIC预览难题:面向Windows用户的高效缩略图工具

3步解决HEIC预览难题&#xff1a;面向Windows用户的高效缩略图工具 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 在数字影像管理中&…...

别光知道Levenshtein!Python实战:用Jaro-Winkler算法搞定人名地址模糊匹配

别光知道Levenshtein&#xff01;Python实战&#xff1a;用Jaro-Winkler算法搞定人名地址模糊匹配 在数据清洗和用户输入处理的场景中&#xff0c;字符串相似度计算是个绕不开的话题。当我们需要匹配"张三丰"和"张三風"时&#xff0c;传统的Levenshtein距离…...

玩转AI!用FastAPI+RAG轻松构建智能文档问答系统,代码、文档全公开!

在企业数字化转型的浪潮中&#xff0c;我们常遇到这样一个痛点&#xff1a;海量的业务文档、研究报告、技术手册堆积如山&#xff0c;当需要从中寻找某个特定答案时&#xff0c;员工往往要花费数小时甚至数天进行翻阅。这不仅是效率的浪费&#xff0c;更是知识资产沉睡的体现**…...

Git提交时Personal Access Token权限不足:如何正确配置workflow scope

1. 为什么Git提交会提示Personal Access Token权限不足&#xff1f; 最近在团队协作中遇到一个典型问题&#xff1a;当开发者尝试推送包含.github/workflows目录的代码到GitHub仓库时&#xff0c;系统突然报错refusing to allow a Personal Access Token to create or update w…...

告别依赖地狱:用Buildroot一键搞定OpenCV 4.x在ARM板上的交叉编译环境

告别依赖地狱&#xff1a;用Buildroot一键搞定OpenCV 4.x在ARM板上的交叉编译环境 在嵌入式视觉应用开发中&#xff0c;OpenCV几乎是不可或缺的计算机视觉库。但当开发者尝试将OpenCV部署到ARM架构的嵌入式设备时&#xff0c;往往会陷入依赖库编译的泥潭——FFmpeg、libjpeg、l…...

前端性能优化终极指南:使用Javalin实现静态资源压缩与智能缓存

前端性能优化终极指南&#xff1a;使用Javalin实现静态资源压缩与智能缓存 【免费下载链接】javalin 项目地址: https://gitcode.com/gh_mirrors/jav/javalin 在现代Web应用开发中&#xff0c;前端资源的加载速度直接影响用户体验和搜索引擎排名。Javalin作为一款轻量级…...

HunyuanVideo-Foley音效生成:支持SMPTE时间码对齐视频关键帧

HunyuanVideo-Foley音效生成&#xff1a;支持SMPTE时间码对齐视频关键帧 1. 产品概述 HunyuanVideo-Foley是一款专为影视后期制作设计的AI音效生成工具&#xff0c;其核心创新在于支持SMPTE时间码精确对齐视频关键帧。这意味着音效师可以基于视频时间轴上的特定帧&#xff0c…...

后端架构师转型AI智能体架构师:3个月实战路径,收藏这份落地指南

如果你本身就是后端/全栈/架构师出身&#xff0c;这意味着你已经有了一套非常扎实的“确定性系统”的构建能力——分布式、高并发、数据库事务、系统稳定性&#xff0c;这些都是你的底牌。 而AI智能体恰恰是“不确定性系统”&#xff08;大模型&#xff09;与“确定性系统”&am…...