网络协议——FTP(简介、搭建FTP服务端)

一、简介 

1、什么是FTP?

  • FTP(File Transfer Protocol,文件传输协议)
    • TCP/IP 协议组的协议之一。
    • 常用20(数据)、21(命令)端口作为通讯端口。(22为SSH端口)
    • FTP分为服务端和客户端。
    • 以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。
    • 用户不能成为服务端计算机中的正常用户。
  • 工作机制
    • 使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应)。
    • 整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭。

2、作用

  • 服务端的文件上传与下载。
  • 两台计算机间的文件共享。
  • 家庭照片远程存储。

3、缺点

  • 无法自动检测传输
    • FTP拥有ASCII和BINARY两种传输模式,图片和执行文件必须用BINARY模式,CGI脚本和普通HTML文件用ASCII模式上传。
  • 报文明文传输
    • FTP报文在传输过程中是不进行加密的,通过抓包软件能够直接查看报文内容,甚至FTP的用户名/密码。
  • 大文件传输不可靠
    • FTP在传输超过2G文件时,可能出现提示传输成功,但实际文件未完全传输的情况,所以在传输大文件时需要人为的分解文件,分别传输。

4、服务端与客户端

  • FTP服务端
    • 存储相应文档、图片及文件,并将存储目录分享给客户端进行访问的计算机或者服务器。
  • FTP客户端
    • 从FTP服务端上传或下载相应文档、图片及文件的计算机。

二、主动模式和被动模式

  • 这两种模式的主要区别在于如何建立数据连接。(服务器主动或被动)
  • 主动模式
    • 在主动模式下,FTP客户端会向服务器发起连接并建立控制通道(通常是通过端口21)。当客户端需要传输数据时,它会通过控制通道告诉服务器客户端正在监听的IP地址和端口号。服务器随后会从其数据端口(通常是20)主动连接到客户端提供的数据端口。
    • 服务端 连接到 客户端 的端口。
    • 问题:主动模式在某些情况下可能会被防火墙阻挡,因为服务器主动连接客户端的端口,可能会被防火墙认为是未经请求的连接。并且大多数的客户端没有独立的公网IP。
  • 被动模式
    • 在被动模式下,客户端和服务器仍然会首先建立控制通道。不同的是,当需要传输数据时,客户端请求服务器进入被动模式(通过发送PASV命令)。服务器在接收到该命令后,会打开一个随机的非特权端口并通知客户端(1024以上)。随后,客户端会主动连接到服务器的该端口来建立数据通道。
    • 客户端 连接到 服务端 的端口。
    • 优点:被动模式通常能更好地穿透防火墙和NAT(网络地址转换)设备,因为所有连接都是由客户端发起的,这样防火墙和NAT设备更容易处理。
  • 选择何种模式
    • 主动模式:适用于客户端能够直接接受外部连接的情况,且没有严格的防火墙限制。
    • 被动模式:适用于客户端在防火墙后面,或无法接受外部连接的情况。

三、搭建FTP服务端

  • 在Win7虚拟机上搭建FTP服务端,并通过本机进行访问。
  • 虚拟机:控制面板 -> 程序和功能 -> 打开或关闭Windows功能
  • 勾选下面的功能。
  • 打开计算机管理。
  • 添加FTP站点,物理路径是在虚拟机中要共享的文件夹。
  • 设置虚拟机的ip,端口保持为21不变,启用虚拟主机名项可以不必勾选,自动启动FTP站点可以勾选,SSL可以选择无SSL。
  • 身份验证勾选匿名和基本,允许访问项设置为所有用户,勾选读取和写入权限。
  • 这时可以看到,FTP站点已经创建成功并正常运行。
  • 设置允许FTP服务器通过防火墙。找到防火墙,点击进入允许程序通过Windows防火墙。勾选列表中FTP服务器,确定。
  • 右键浏览FTP服务器,可以看到之前设置的物理文件夹。
  • 放入需要传输的文件。
  • 本机:先查询虚拟机的ip地址,以供本机访问。
  • 打开文件资源管理器中输入FTP服务器的地址,ftp:// [虚拟机的IP地址],回车即可访问。

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

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

相关文章

就业班 第三阶段(ELK) 2401--5.22 day3 filebeat+elk云部署

kafka集群 Windterm同步输入,多台机子可以同时输入同步输入 启动kafka需要启动两个 第一个 [rootkafka1 ~]# cd /usr/local/kafka_2.11-2.0.0/ [rootkafka1 ~]# nohup bin/zookeeper-server-start.sh config/zookeeper.properties &第二个 [rootkafka1 ~]#…

20232810 肖峰 2023-2024-2 《网络攻防实践》实验十一

一、实践内容 (1)web浏览器渗透攻击 任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。 实验步骤: ①选择使用Metasploit中的MS06-014渗透攻击模块 ②选择PAYLOAD为任…

Linux 36.3@Jetson Orin Nano之系统安装

Linux 36.3Jetson Orin Nano之系统安装 1. 源由2. 命令行烧录Step 1:下载Linux 36.3安装程序Step 2:下载Linux 36.3根文件系统Step 3:解压Linux 36.3安装程序Step 4:解压Linux 36.3根文件系统Step 5:安装应用程序Step …

# Mybatis 高级用法和tk.mybatis使用

Mybatis 高级用法和tk.mybatis使用 文章目录 Mybatis 高级用法和tk.mybatis使用使用SelectProvider、InsertProvider、UpdateProvider、DeleteProviderSelectProvider使用例子 tk.mybatis引入依赖查询实现实体映射类实体类规范 dao层调用dao 使用SelectProvider、InsertProvide…

eBay运营账号防关联成功的关键因素是什么?

一、什么是ebay eBay如今的发展现状呈现出积极且充满活力的态势。作为全球知名的在线拍卖和购物平台,随着全球消费者对线上购物的需求不断增长,这为卖家提供了广阔的市场空间和盈利机会,但多账号的运营若处理不好容易引起账号被关联&#xf…

基于生命周期评价法的农田温室气体排放估算;农田CH4和N2O排放模拟;农田碳库模型和土壤呼吸等

目录 专题一 温室气体排放模拟研究 专题二 农田CH4和N2O排放模拟 专题三 农田碳库模型和土壤呼吸 专题四 基于生命周期评价法的农田温室气体排放估算 专题五-六 基于过程模型的温室气体排放模拟 专题七 案例模拟与疑难解答 更多应用 农业是甲烷(CH4&#xff…

全球前五!ATFX 2024年Q1业绩狂飙,6240亿美元交易量彰显实力

5月,密集发布的报告显示,强者恒强是差价合约行业不变的竞争逻辑。而ATFX最新展现的业绩无疑是这一逻辑的有力例证。依照惯例,知名行业媒体Finance Magnates日前公布了全球经纪商最为关注的2024年第一季度行业报告。报告数据显示,A…

数据结构算法-堆(Heap)和优先队列

堆的概念 堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: always greater than its child node/s and the key of the root node is the largest among all other nodes. This property…

第53期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

Python 全栈体系【四阶】(五十三)

第五章 深度学习 十二、光学字符识别(OCR) 2. 文字检测技术 2.3 DB(2020) DB全称是Differentiable Binarization(可微分二值化),是近年提出的利用图像分割方法进行文字检测的模型。前文所提…

Git原理及常用命令小结——实用版(ing......)、Git设置用户名邮箱

Git基本认识 Git把数据看作是对小型文件系统的一组快照,每次提交更新,或在Git中保存项目状态时,Git主要对当时的全部文件制作一个快照并保存这个快照的索引。同时,为了提高效率,如果文件没有被修改,Git不再…

明日周刊-第11期

上周末去参加了软考,这个考试目前很热门,参加考试的人也非常多。笔者已经算是二战了,今年从笔试改革成了机考。618的购物活动也都已经开始了,我给狗子买了一袋进口的高端狗粮渴望,但是买回来发现它并不爱吃&#xff0c…

二叉树——堆的实现

一.前言 前面我们讲解了二叉树的概念以及二叉树的存储结构:https://blog.csdn.net/yiqingaa/article/details/139224974?spm1001.2014.3001.5502 今天我们主要讲讲二叉树的存储结构,以及堆的实现。 二.正文 1.二叉树的顺序结构及实现 1.1二叉树的顺序…

面向对象编程:坦克飞机大战游戏的重构之旅

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、面向对象编程思想入门 坦克对象的定义 属性与行为方法的实现 二、面向过程与面向对象…

关于RAG(检索增强生成)的一些知识

写在前面 最近一直在看AI相关的文章,不出意外的话,后续几篇应该都是关于这方面的。希望能和大家一起了解这方面的技术。 什么是RAG 检索增强生成 (RAG,全称Retrieval-Augmented Generation) 是一种利用从外部来源获取的事实来提高生成式 AI 模型的准确…

利用机器非学习进行后门攻击

信息安全是一个古老的计算机领域。许多 80 后还记得自己小时候经常听到的瑞星杀毒和江民杀毒软件。这些 90 年代火遍大江南北的信息安全工具,至今仍然影响着使用互联网和信息技术的千家万户。随着人工智能的兴起和普及,有越来越多的商业软件使用了人工智…

【强化学习】Q-learning,DQN,SARSA算法介绍

【强化学习】Q-learning,DQN,SARSA算法介绍 强化学习算法分类基于价值的方法基于策略的方法Actor-Critic方法 Q-learning算法DQN算法强化学习训练数据存在的问题经验回放机制备份网络机制 Sarsa算法总结 强化学习算法分类 按学习目标进行分类 可分为基于…

【基于Fluent和深度学习算法驱动的流体力学计算与应用】

在深度学习与流体力学融合的背景下,科研边界不断拓展,创新成果层出不穷。从物理模型融合到复杂流动模拟,从数据驱动研究到流场智能分析,深度学习正以前所未有的力量重塑流体力学领域。目前在Nature和Science杂志上发表的深度学习驱…

Linux 中的进程优先级管理

在 Linux 系统中,理解和管理进程优先级是维护系统性能的关键因素。本文将详细介绍进程优先级(priority)的基本概念、如何查看和调整进程优先级,以及 nice 值对优先级的影响。 基本概念 在多任务操作系统中,CPU 资源的…

Power BI 使用Filter()函数完成类似子查询的筛选

1. 假如我们有两张表,如下图,以及它们的关联方式: tb_bursary.student_id tb_student.id 2. 我们想要实现这个逻辑,先找出tb_student里,sno最大的学生id,再根据查找出的学生id,找到tb_bursary…