FTP 实验(ENSP模拟器实现)

目录

FTP 概述

FTP实验

FTP的报文交互


FTP 概述

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准协议。它允许用户在两台计算机之间上传和下载文件。

1、FTP采用客户端-服务器模型,客户端通过FTP客户端软件,连接到FTP服务器,进行文件传输。

2、双通道通信:FTP使用两个独立的通道进行通信

控制通道:用于发送命令和接收响应(默认端口:21)

数据通道:用于实际的文件传输(默认端口:20)

3、传输模式:

主动模式(Active Mode):服务器主动连接客户端的数据端口。

被动模式(Passive Mode):客户端连接服务器的数据端口。

FTP实验

我们用一个路由器充当Client,因为可以有命令交互。

1、配置server端IP地址,并启用ftp服务

选择一个目录,然后点击启动

2、打开路由器Cli,充当Client,查看本地文件

<Huawei>system-view
[Huawei]sysname Client
[client]interface G0/0/0
[Client-GigabitEthernet0/0/0]ip address 192.168.1.254 24
# Ctrl + z退到用户视图
<client>dir # dir查看目录
<client>save # 保存一下当前的配置信息

3、登录FTP服务器(User和密码不用输入,也可以随便输入,ENSP的Server都是模拟的)

<client>ftp 192.168.1.1
User(192.168.1.1:(none)):         # 随便写331 Password required for .        
Enter password:                        # 随便写230 User logged in , proceed

4、向FTP服务器上传文件路由器的启动配置文件并重命名为AR1cfg.zip

​[client-ftp]put vrpcfg.zip AR1cfg.zip

退出当前登录 

[client-ftp]quit
221 Goodbye

5、然后我们可以再试试从FTP服务器中下载

<client>mkdir /download # 可以创建一个目录用来下载
Info: Create directory flash:/download......Done<client>cd /download/ # 切换到相应的目录然后在登录ftp下载所需要的文件

6、重新登录,然后下载

<client>ftp 192.168.1.1
[client-ftp]get  AR1cfg.zip    # ftp下载的文件的存储位置是你登录ftp前的位置,也就是现在你ftp下载文件的时候就会下载到这个目录中

7、成功之后,我们来看一下 是不是下载到了 创建的/download/ 目录下

[Huawei-ftp]quit
221 Goodbye.
<Huawei>dir0 -rw- 551 Mar 28 2023 10:48:16  ar1cfg.zip

这是FTP的基本操作,上传和下载。

FTP的报文交互

1、抓包查看报文交互

2、解释报文

① 先有TCP三次握手,然后建立控制连接。

② 传输用户名和密码,并且从报文中,我们可以清楚的看到用户名和密码都是明文传输。

③ 之后又是TCP的三次握手,用来建立数据连接。

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

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

相关文章

Windows前端开发IDE选型全攻略

Windows前端开发IDE选型全攻略 一、核心IDE对比矩阵 工具名称最新版本核心优势适用场景推荐指数引用来源VS Code2.3.5轻量级/海量插件/跨平台/Git深度集成全栈开发/中小型项目⭐⭐⭐⭐⭐14WebStorm2025.1智能提示/框架深度支持/企业级调试工具大型项目/专业前端团队⭐⭐⭐⭐47…

鸿蒙5.0实战案例:har和hsp的转换

往期推文全新看点&#xff08;文中附带全新鸿蒙5.0全栈学习笔录&#xff09; ✏️ 鸿蒙&#xff08;HarmonyOS&#xff09;北向开发知识点记录~ ✏️ 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ ✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景&#…

简单易懂,解析Go语言中的struct结构体

目录 4. struct 结构体4.1 初始化4.2 内嵌字段4.3 可见性4.4 方法与函数4.4.1 区别4.4.2 闭包 4.5 Tag 字段标签4.5.1定义4.5.2 Tag规范4.5.3 Tag意义 4. struct 结构体 go的结构体类似于其他语言中的class&#xff0c;主要区别就是go的结构体没有继承这一概念&#xff0c;但可…

记录一下用docker克隆某授权制定ip的环境恢复

#首先还是要看日志根据问题去进行调整 java web的老项目配置文件一般是 bin启动里边的脚本 还有conf中的 xml配置文件 再或者就是classes中的配置文件,再或者就是lib中的jar包中的配置文件 1.安装docker 2.创建docker网络 docker network create --driver bridge --subnet…

SAP-ABAP:使用ST05(SQL Trace)追踪结构字段来源的步骤

ST05 是 SAP 提供的 SQL 跟踪工具&#xff0c;可以记录程序运行期间所有数据库操作&#xff08;如 SELECT、UPDATE、INSERT&#xff09;。通过分析跟踪结果&#xff0c;可以精准定位程序中结构字段对应的数据库表。 步骤1&#xff1a;激活ST05跟踪 事务码 ST05 → 点击 Activa…

【落羽的落羽 数据结构篇】树、二叉树

文章目录 一、树1. 树的概念和结构2. 树的相关术语 二、二叉树1. 概念与结构2. 满二叉树3. 完全二叉树4. 二叉树的性质5. 二叉树的存储结构 一、树 1. 树的概念和结构 之前我们学习了线性表&#xff0c;今天我们再来接触一种全新的数据结构——树。 树是一种非线性的数据结构…

blender bpy渲染禁用日志

效果有待测试&#xff1a; import bpyimport logging # 设置日志级别为ERROR&#xff0c;只有错误信息才会输出 logging.getLogger().setLevel(logging.ERROR) 这段代码会将日志级别设置为ERROR&#xff0c;只会显示错误信息&#xff0c;其他的日志&#xff08;如调试信息、…

CPU、MCU、MPU、SOC、DSP、ECU、GPU、FPGA傻傻分不清楚?一文讲清它们的区别

文章目录 前言一、定义与功能1、CPU&#xff08;Central Processing Unit&#xff0c;中央处理器&#xff09;2、MCU&#xff08;Microcontroller Unit&#xff0c;微控制单元&#xff09;3、MPU&#xff08;Microprocessor Unit&#xff0c;微处理器&#xff09;4、SOC&#x…

前端包管理工具进化论:npm vs yarn vs pnpm 深度对比

前端包管理工具进化论&#xff1a;npm vs yarn vs pnpm 深度对比 一、工具定位与核心差异二、功能特性对比三、优缺点深度解析四、性能实测对比&#xff08;示例数据&#xff09;五、选型建议六、未来趋势 一、工具定位与核心差异 npm (Node Package Manager) Node.js 官方捆绑…

网络安全学习-常见安全漏洞检测以及修复方法-1

渗*透测试 渗透测试就是模拟攻击者入侵系统&#xff0c;对系统进行一步步渗透&#xff0c;发现系统的脆弱环节和隐藏风险。形成测试报告提供给系统的所有者&#xff0c;所有者根据报告对系统进行加固&#xff0c;提升系统的安全性&#xff0c;防止真正的攻击者入侵。 渗透测试…

JVM之JVM的组成

Java 虚拟机&#xff08;JVM&#xff09;是 Java 程序的运行核心&#xff0c;它主要由类加载系统、运行时数据区、执行引擎和本地方法接口这几个关键部分组成。 类加载系统&#xff08;Class Loading System&#xff09; 类加载系统负责在程序运行时动态地将 Java 类加载到 J…

个人简历html网页模板,科技感炫酷html简历模板

炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。这样一款黑色个人简历html网页模板,科技感炫酷html简历模板,设计效果类似科技看板图,可帮您展示技能、任职经历、作品等,喜欢这种风格的小伙伴不要犹豫哦。该素材呈现了数据符号排版显示出人形的动画效…

大白话Vue 双向数据绑定的实现原理与数据劫持技术

咱们来好好唠唠Vue双向数据绑定的实现原理和数据劫持技术&#xff0c;我会用特别通俗的例子给你讲明白。 啥是双向数据绑定 你可以把双向数据绑定想象成一个神奇的“同步器”。在网页里有两部分&#xff0c;一部分是数据&#xff0c;就像你记在小本本上的信息&#xff1b;另一…

java后端开发day18--学生管理系统

&#xff08;以下内容全部来自上述课程&#xff09; 1.业务分析并搭建主菜单 1.需求 采取控制台的方式去书写学生管理系统 2.分析 1.初始菜单 2.学生类 属性&#xff1a;id&#xff0c;姓名&#xff0c;年龄&#xff0c;家庭住址 3.添加功能 键盘录入每一个学生信息并…

记录一次部署PC端网址全过程

当我查看我之前写的文章时、顿时惊奇发出感慨&#xff1a;啥时候写的&#xff1f;是我写的么&#xff1f;疑惑重重… 所以说&#xff0c;好记性不如烂笔头。 记录一次部署PC端网址全过程 部署PC端网址分是三步&#xff1a;第一步&#xff1a;申请域名并映射到外网IP &#xff0…

本地大模型编程实战(22)用langchain实现基于SQL数据构建问答系统(1)

使 LLM(大语言模型) 系统能够查询结构化数据与非结构化文本数据在性质上可能不同。后者通常生成可在向量数据库中搜索的文本&#xff0c;而结构化数据的方法通常是让 LLM 编写和执行 DSL&#xff08;例如 SQL&#xff09;中的查询。 我们将演练在使用基于 langchain 链 &#x…

利用机器学习实现实时交易欺诈检测

以下是一个基于Python的银行反欺诈AI应用示例代码,演示如何利用机器学习实现实时交易欺诈检测。该示例使用LightGBM算法训练模型,并通过Flask框架构建实时检测API: python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preproc…

最好的Git实践指南(Windows/Linux双系统详解)

Git最佳实践指南&#xff1a;从入门到熟练&#xff08;Windows/Linux双系统详解&#xff09; 一、环境搭建与基础配置&#xff08;适用Windows/Linux&#xff09; 1.1 Git安装与验证 # Windows系统安装&#xff08;推荐Chocolatey包管理&#xff09; # 直接下载git二进制文件…

Python零基础学习第二天(条件语句,循环语句)

Python零基础学习第二天&#xff1a;流程控制与模块导入 一、流程控制结构 1. 条件语句&#xff08;if, elif, else&#xff09; 条件语句用于根据不同的条件执行不同的代码块。基本形式如下&#xff1a; if 条件1: # 当条件1为True时执行这里的代码 elif 条件2: # 当前面的条…

从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(三) 实现注册 登录接口

1.划分文件夹 在src目录下创建controllers middleware models routes controllers 放具体的方法 signup login middleware 里面是中间件 请求的验证 models 放对象实体 routes 处理访问路径像/signup /login 等等 2. 接口开发 系统的主要 有用户认证 和 消息 2种类型…