网络协议与攻击模拟_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未执行请求的操作,不允许的文件名

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

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

相关文章

[ChatGPT们】ChatGPT 如何辅助编程初探

主页:元存储的博客 全文 9000 字, 原创请勿转载。 我没有写过诗,但有人说我的代码像诗一样优雅 -- 雷军 图片来源:https://www.bilibili.com/video/BV1zL411X7oS/ 1. 引言 作为一个程序员,我们不仅要熟悉各种编程语…

C语言实现memcpy、memmove库函数

目录 引言一、库函数介绍二、库函数详解三、源码实现1.memcpy源码实现2.memmove源码实现 四、测试1.memcpy函数2.memmove函数 五、源码1.memcpy源码2.memmove源码 六、参考文献 引言 关于memcpy和memmove这两个函数,不论是算法竞赛还是找工作面试笔试,对…

百卓Smart管理平台 uploadfile.php 文件上传漏洞【CVE-2024-0939】

百卓Smart管理平台 uploadfile.php 文件上传漏洞【CVE-2024-0939】 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现手动复现小龙验证Goby验证 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工…

vue3集成bpmn

文章目录 前言一、依赖二、汉化配置1.引入文件2.样式文件 总结 前言 vue3 集成bpmn 配置工作流 一、依赖 "bpmn-js": "^7.3.1", "bpmn-js-properties-panel": "^0.37.2", "bpmn-moddle": "^6.0.0", "camu…

【学网攻】 第(23)节 -- PPP协议

系列文章目录 目录 系列文章目录 文章目录 前言 一、PPP协议是什么? 二、实验 1.引入 实验目的 实验背景你是某公司的网络管理员,现在需要与另一个公司进行通信,需要你配置PPP协议保证双方发送的人是真正的而非黑客 技术原理 实验步骤新建Pack…

专业排版设计软件:QuarkXPress 2024 for mac中文激活版

QuarkXPress 2024 for Mac是一款功能强大、易于使用、高质量输出的专业排版软件。无论您是出版业的专家还是初学者,都可以通过QuarkXPress 2024轻松创建出令人惊叹的出版物。 软件下载:QuarkXPress 2024 for mac中文激活版下载 QuarkXPress 2023 for Mac…

牛客网SQL264:查询每个日期新用户的次日留存率

官网链接: 牛客每个人最近的登录日期(五)_牛客题霸_牛客网牛客每天有很多人登录,请你统计一下牛客每个日期新用户的次日留存率。 有一个登录(login。题目来自【牛客题霸】https://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8?tpId82 …

前后端数据校验

前端校验内容 前端开发中的必要校验,可以保证用户输入的数据的准确性、合法性和安全性。同时,这些校验也有助于提供良好的用户体验和防止不必要的错误提交到后端。 1、必填字段校验: 对于必填的字段,需确保用户输入了有效的数据…

双非本科准备秋招(19.2)—— 设计模式之保护式暂停

一、wait & notify wait能让线程进入waiting状态,这时候就需要比较一下和sleep的区别了。 sleep vs wait 1) sleep 是 Thread 方法,而 wait 是 Object 的方法 2) sleep 不需要强制和 synchronized 配合使用,但 wait 强制和 s…

Javaweb之SpringBootWeb案例之登录校验功能的详细解析

2. 登录校验 2.1 问题分析 我们已经完成了基础登录功能的开发与测试,在我们登录成功后就可以进入到后台管理系统中进行数据的操作。 但是当我们在浏览器中新的页面上输入地址:http://localhost:9528/#/system/dept,发现没有登录仍然可以进…

【PowerShell】修改Windows网络配置的常用命令

PowerShell(PS)是一种强大的任务自动化和管理框架,具有丰富的命令和语法,可以用于编写脚本来管理Windows操作系统和其他应用程序。它的开放式架构和跨平台支持使得它成为一个灵活和可扩展的工具。 在网络配置方面,Powe…

Python3 交叉编译 numpy pandas scipy scikit-learn

1. 概述 由于需要将Python3.7 和一些软件包交叉编译到 armv7 平台硬件,如果是arm64位的系统,很多包都有预编译好的版本,可直接下载。本文主要在基于 crossenv(https://github.com/benfogle/crossenv)环境下交叉编译。 2. 编译环境搭建 创建…

时光峰峦文物璀璨,预防性保护筑安全

在璀璨的历史长河中,珍贵文物如同时间的印记,承载着过往的辉煌。《人文山水时光峰峦——多彩贵州历史文化展》便是这样一场文化的盛宴,汇聚了众多首次露面的宝藏。然而,文物的保存对环境要求极为苛刻,温湿度波动都可能…

nodeJS 的 npm 设置国内高速镜像之淘宝镜像的方法

1、我们知道 nodeJS 是老外搞出来的,服务器放在了国外,国内的小朋友访问起来会比较慢,阿里巴巴的淘宝给出了有力支持,现在我们就将 nodeJS 的镜像地址切换为国内的淘宝镜像。 2、查看当前的镜像地址: npm get registr…

尚硅谷Ajax笔记

一天拿下 介绍二级目录三级目录 b站链接 介绍 ajax优缺点 http node.js下载配置好环境 express框架 切换到项目文件夹&#xff0c;执行下面两条命令 有报错,退出用管理员身份打开 或者再命令提示符用管理员身份打开 npm init --yes npm i express请求 <script>//引…

单片机无线发射的原理剖析

目录 一、EV1527编码格式 二、OOK&ASK的简单了解 三、433MHZ 四、单片机的地址ID 五、基于STC15W104单片机实现无线通信 无线发射主要运用到了三个知识点&#xff1a;EV1527格式&#xff1b;OOk&#xff1b;433MHZ。下面我们来分别阐述&#xff1a; EV1527是数据的编…

前端开发中不同语言【react-i18next】

目录 查看并设置语言 单页面&#xff1a;html lang ​编辑 浏览器 自定义翻译 原理/实现 react-i18next【hook只能在函数组件中】 设置 模块&#xff1a;staticData.ts 散(重复利用)&#xff1a;命名空间.json 应用 准备 html标签 查看并设置语言 单页面&#x…

网神 SecGate 3600 防火墙 route_ispinfo_import_save 文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

Excel——有效性、二级菜单联动

一、录入规范数据 1.手动输入序列录入有效性信息 选择需要录入有效性的所有单元格 选择【数据】——【有效性】——【有效性】 在【允许】输入的值之间选择【序列】 在【序列】输入框中输入想要选择的值&#xff0c;中间用逗号&#xff08;必须是英文逗号&#xff09;隔开 。…

同步和异步、阻塞与非阻塞

一、同步和异步的概念 首先同步和异步是访问数据的机制 同步&#xff1a;同步一般指主动请求并等待IO操作完成的方式异步&#xff1a;主动请求数据后便可以继续处理其它任务&#xff0c;随后等待IO操作完毕的通知 两者的区别&#xff1a;同步会一行一行执行代码&#xff0c;而…