网络协议与攻击模拟_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号端口主动向客户端发起连接(不是很安全)

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

- 建立连接使用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 | 帮助消息 |
| 215 | NAME系统类型,其中,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 | 无法打开数据连接 |
| 426 | Connection 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 访问一下 去看看,好好好,肯定不是得 他一开始说header有问题,不妨抓包看看,果然有东西 访问看看,乱码修复一下,在之前的博客到过 <img src…...
下载已编译的 OpenCV 包在 Visual Studio 下实现快速配置
自己编译 OpenCV 挺麻烦的,配置需要耗费很长时间,编译也需要很长时间,而且无法保证能全部编译通过。利用 OpenCV 官网提供的已编译的 OpenCV 库可以节省很多时间。下面介绍安装配置方法。 1. OpenCV 官网 地址是:https://opencv…...
【Linux系统学习】3.Linux用户和权限
Linux用户和权限 1.认知root用户 1.1 root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root(超级管理员) 而在前期&#…...
视频美颜SDK开发指南:从入门到精通的技术实践
美颜SDK是一种强大的工具,它不仅仅可以让用户在实时视频中获得光滑的肌肤和自然的妆容,从简单的滤镜到复杂的人脸识别,美颜SDK涵盖了广泛的技术领域。 一、美颜SDK的基本原理 美颜SDK包括图像处理、人脸检测和识别、滤镜应用等方面。掌握这些…...
Electron基本介绍
Electron基本介绍 Electron 官方网站:https://www.electronjs.org/zh/ Electron安装方法:npm install electron -g 全局安装 Electron简介:Electron提供了丰富的本地(操作系统)API,使你能够使用纯JavaScr…...
使用网关过滤器,根据业务规则实现微服务动态路由
文章目录 业务场景拦截器实现Spring Cloud Gateway介绍 业务场景 我们服务使用Spring Cloud微服务架构,使用Spring Cloud Gateway 作为网关,使用 Spring Cloud OpenFeign 作为服务间通信方式作为网关,主要作用是鉴权与路由转发。大多数应用场…...
PKI - 03 密钥管理(如何进行安全的公钥交换)
文章目录 Pre密钥管理面临的挑战安全密钥管理的几种方式手动密钥交换与确认受信任的介绍 Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点: 安全的公钥交换:在使用基于非对称密钥算法的服务之前,…...
Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)
Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee 小巧玲珑!仅 860K, 还不到 1M, 但却是功能强大! V2.2 (2024春节・LTS 版) 1.Javabean 实体支持继承 (配置 bee.osql.openEntityCanExtendtrue) 2. 增强批…...
HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用
原生智能是HarmonyOS NEXT的核心亮点之一,依托HarmonyOS SDK丰富全面的开放能力,开发者只需通过几行代码,即可快速实现AI功能。新浪新闻作为鸿蒙原生应用开发的先行者之一,从有声资讯入手,基于Speech Kit朗读控件上线听…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
Ray框架:分布式AI训练与调参实践
Ray框架:分布式AI训练与调参实践 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 Ray框架:分布式AI训练与调参实践摘要引言框架架构解析1. 核心组件设计2. 关键技术实现2.1 动态资源调度2.2 …...
如何在Spring Boot中使用注解动态切换实现
还在用冗长的if-else或switch语句管理多个服务实现? 相信不少Spring Boot开发者都遇到过这样的场景:需要根据不同条件动态选择不同的服务实现。 如果告诉你可以完全摆脱条件判断,让Spring自动选择合适的实现——只需要一个注解,你是否感兴趣? 本文将详细介绍这种优雅的…...
