FTP两种工作模式:主动模式(Active FTP)和被动模式

2023-05-16

FTP两种工作模式:主动模式(Active FTP)和被动模式
(2010-06-30 17:07:04)
转载
标签:

it

分类:Linux

 
    在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

FTP两种工作模式:主动模式(Active <wbr>FTP)和被动模式
    在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。


(在vsftpd.conf中指定被动端口范围为4000-4500,下载东西时的截图,下面这张是没有指定端口范围的)


FTP两种工作模式:主动模式(Active <wbr>FTP)和被动模式
    总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
    被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

win 下面设置ftp模式

一、什么是PASV和PORT方式

  (1)PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。

  (2)PASV也就是Passive的简写。中文就是“被动模式。

  二、两者不同

  不同之处是由于PORT(主动)这个方式需要在接上TCP 21端口后,服务器通过自己的TCP 20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASv的出现。而PASV模式拥有PORT模式的优点,并去掉一些PORT的缺点。PASV运行方式就是当服务器接收到客户端连接请求时,就会自动从端口1024到5000中随机选择一个和客户端建立连接传递数据。由于被动且自动建立连接,容易受到攻击,所以安全性差。

  三、常见的FTP客户端软件PORT方式与PASV方式的切换方法

  大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。

  (1)IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。

  (2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode” 。

  (3)FlashGet:工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”。

  (4)FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。

vsftpd被动模式配置

一、系统环境:LinuxAS4 + vsftpd

二、网络结构

xp(Client)-----[eth0]linux(Firewall)[eth1] --------linux(ftpserve

ip:172.16.0.0/24    172.16.0.0/16      192.168.0.0/24     192.168.0.10/24

三、ftp配置:

# vi /etc/vsftpd/vsftpd.conf

pasv_enable=YES

pasv_min_port=3000

pasv_max_port=4000

四、防火墙配置

#!/bin/bash
#ip.sh

echo "1" >/proc/sys/net/ipv4/ip_forward

modprobe   ip_conntrack_ftp
modprobe   ip_nat_ftp
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD   DROP

iptables -t filter -A FORWARD -p tcp -s 172.16.0.0/16 -d 192.168.0.10 --dport 21 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 192.168.0.10 --sport 21 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 172.16.0.0/16 -d 192.168.0.10 --dport 3000:4000 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 192.168.0.10 --sport 3000:4000 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
iptables -t filter -A FORWARD -p icmp --icmp-type 0 -j ACCEPT

五、验证:

# 在xp下用ftp命令连接,都是采用主动模式连接,可以采用图形界面的软件,默认一般为被动模式。

# netstat -an|grep  172
http://blog.sina.com.cn/s/blog_5cdb72780100jwm9.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FTP两种工作模式:主动模式(Active FTP)和被动模式 的相关文章

  • 如何使用 IIS 为 Amazon EC2 服务器启用 FTP 被动模式

    我最初在使用 pagelime 时遇到了问题 它要求用户使用被动模式并且不支持主动模式 让主动模式工作起来非常简单 但让被动工作模式需要付出更多的努力 我正在使用带有 IIS 的 Amazon EC2 服务器以及 FTP 站点 以下链接最终
  • 使用python连接ftp服务器

    我尝试使用 python 代码连接到手机中的 ftp 服务器 但出现错误 Code import ftplib server ftplib FTP server connect 192 168 135 101 5556 server log
  • 如何列出 FTP 连接的目录内容

    我找不到这方面的教程 在 VB NET 中我想要执行如下命令 Dim array1 as string ListFilesInFolder www example com images 我知道这可能不会那么简单 但是有人可以给我指点教程或其
  • 紧凑框架 - OpenNetCf.Net FTP 示例?

    我正在尝试让 OpenNetCF Net FTP 组件与我的 PDA 应用程序一起工作 除了连接到服务器之外 我正在努力让它做更多的事情 并且想知道是否有人知道我可以用来学习如何使用它的任何示例代码 我需要能够下载和上传文件 以及确定我想要
  • 选择 FTP 和 HTTP 传输的缓冲区大小

    在实现低级 HTTP 和 FTP 传输时 如何选择缓冲区的大小 从套接字读取或写入套接字的字节数 以获得最大吞吐量 我的应用程序应该在 130 Kbps 到 3 Mbps 的连接上使用 HTTP 或 FTP 传输数据 我事先知道预期的速度
  • 如何使用 php 检查 smtp 服务器是否正常工作

    我想使用 php 检查我的网站 smtp 是关闭还是开启 我尝试使用 fsockopen 连接到服务器上的端口 25 然后当 smtp 服务运行时它返回 true 这是使用 php 脚本测试 smtp 或 ftp 是否运行的最佳方法 您正在
  • Python ftplib 损坏文件?

    我正在使用 ftplib 在 Python 中下载文件 直到最近一切似乎都工作正常 我正在下载这样的文件 ftpSession ftplib FTP host username password ftpSession cwd rlmfile
  • 使用curl上传本地目录中的所有文件

    我想上传一个目录中的所有文件 并且我知道如何使用curl上传一个文件 如下所示 curl T local xxx suffix u xxx psw ftp 192 168 1 158 public demon test xxx suffix
  • 如何使用 C# 从 FTP 服务器获取一系列文件

    我陷入了这样一个境地 我将通配符参数与 FtpWebRequest 对象一起使用 很糟糕 FtpWebRequest reqFTP FtpWebRequest FtpWebRequest Create new Uri ftp ftpServ
  • Java:从 FTP 服务器访问文件

    我有一个 FTP 服务器 里面有一堆文件夹和文件 我的程序需要访问该服务器 读取所有文件并显示它们的数据 出于开发目的 我一直在使用硬盘驱动器上 src 文件夹中的文件 但现在服务器已启动并运行 我需要将软件连接到它 基本上我想要做的是获取
  • 使用 PHP 生成 Windows .lnk 文件

    我正在开发一个项目 其中涉及运行 ProFTPd 的 FTP 服务器和为用户创建帐户的 PHP MySQL 后端 创建帐户后 系统会向用户发送电子邮件 其中包含其帐户详细信息以及下载 FileZilla 或 Cyber Duck 的说明 具
  • 使用 PHP 进行安全 FTP 连接

    我有一个带有登录详细信息的安全 FTP 服务器 我正在尝试使用 PHP 连接到该安全 FTP 服务器ftp ssl connect ftp connect and ftp login函数并将所有参数正确传递给该函数 但我惊讶地发现它没有连接
  • 如何将 FTP 目录的内容复制到共享网络路径?

    我需要将 FTP 位置上的目录的全部内容复制到共享网络位置 FTP 任务要求您指定确切的文件名 不是目录 而文件系统任务不允许访问 FTP 位置 EDIT 我最终编写了一个脚本任务 没有什么比恢复一个非常旧的线程更好的了 但是有一个解决方案
  • 如何完善这个FTP(shell)功能?

    我有大量使用以下函数的脚本 Copies files over using FTP Configurations set at the beggining of the script param 1 FTP Host 2 FTP User
  • C# 单文件FTP下载

    我试图在 C 控制台应用程序中使用 FTP 下载文件 但即使我知道路径是正确的 我总是收到错误消息 550 file not found 有什么方法可以返回当前路径 一旦连接到服务器 lade datei von FTP server st
  • PHP 通过 FTP 下载整个文件夹(递归)

    我目前有一个非常大的网站 大小约为 5GB 包含 60 000 个文件 当前主机并没有做太多事情来帮助我将网站转移到新主机 我的想法是在新主机上制作一个简单的脚本 通过 FTP 传输到旧主机并下载整个 public html 文件夹 递归地
  • Java FTPS 无法检索文件列表(FileZilla 客户端工作正常)

    我正在使用 Apache Commons Net v3 5 和 Java 8 连接到远程 FTPS 站点 即在互联网上 我可以轻松连接 Windows 10 计算机上的 FileZilla 客户端 但我的 Java 程序无法完成相同的步骤
  • Magento Connect Manager 和 ftp 写入文件权限

    将我的网站从开发域转移到实时域后 我尝试使用 magento 连接管理器安装扩展 但是我不断收到 CONNECT ERROR Please check for sufficient ftp write file permissions Yo
  • 触发“对等方重置连接”

    我想测试当发生 对等方重置连接 错误时我们的应用程序 嵌入式 ftp 服务器 中发生的日志记录 这个帖子 https stackoverflow com questions 1434451 connection reset by peer很
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke

随机推荐

  • Visual Studio 2019 Serial Keys

    Visual Studio span class hljs number 2019 span Enterprise BF8Y8 GN2QH T84XB QVY3B RC4DF Visual Studio span class hljs nu
  • Android 修改底部导航栏navigationbar的颜色

    Android 修改底部导航栏navigationbar的颜色 getWindow setNavigationBarColor Color BLUE 写法一 getWindow setNavigationBarColor getResour
  • 解决 ubuntu 开机后键盘鼠标失灵!

    近期不知安装了什么package xff0c 导致 ubuntu 开机后键盘鼠标一直没法用 xff0c 刚开始以为是 ubuntu 桌面环境崩溃了 xff0c 后来发现系统能显示连接到网络 时间也在运行 xff0c 那应该就是键盘鼠标失灵了
  • Mac OS 使用SSH/VNC远程控制树莓派(路由器媒介)

    因为自己第一次接触树莓派 xff0c 基础掌握的不好 xff0c 查阅网上的资料也都不是很全面 xff0c 因此这篇文章对网上的几种方法进行了综合整理 xff0c 适合小白探索 第一步 xff1a 硬件准备 树莓派3B xff0b 电源线
  • 多个生产者与消费者

    生产者消费者问题属于有界缓冲区问题 我们现在讲述多个生产者向一个缓冲区中存入数据 xff0c 多个生产者从缓冲区中取数据 共享缓冲区作为一个环绕缓冲区 xff0c 存数据到头时再从头开始 我们使用一个互斥量保护生产者向缓冲区中存入数据 由于
  • windows系统IO性能测试

    关键词 xff1a sql server io测试 下载链接 xff1a http www onlinedown net soft 57364 htm CrystalDiskMark 硬盘检测工具 xff0c 一个测试你的硬盘或者存储设备的
  • jnhs解决办法部署错误: 未能启动 Tomcat, 服务器端口 8080 已在使用中。

    tomcat死掉了 重启netbeans报错 当然重启电脑是不可能重启电脑的 这辈子都不会重启电脑 解决方法 1 win 43 R 输入cmd回车进打开命令行工具 2 输入 netstat ano findstr 8080 查看占用8080
  • Linux文件处理命令

    命令格式 命令 选项 参数 例如 xff1a ls la etc 说明 xff1a 个别命令不遵守此格式 当有多个选项时 xff0c 可以写在一起 简化选项与完整选项 xff08 a 等于 all xff09 目录处理命令 命令名称 xff
  • win7无线网络连接

    今儿个真高兴啊 xff0c 我的无线网络又能自动连接上了 xff0c 困扰了很久的问题终于解决了 有很长一段时间 xff0c 开机后网络连接的标志总是打了个叉叉 xff08 前提是没有插网线 xff09 xff0c 也就是说 xff0c 不
  • 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 (转)

    原文地址 xff1a http m blog csdn net blog panfengyun12345 12618453 8月15日 xff0c 百度2道面试题 xff1a 1 来自 编程之美 的概率题 xff1a 一个桶里面有白球 黑球
  • 归并排序——C语言

    归并排序 归并排序 xff08 MERGE SORT xff09 是建立在归并操作上的一种有效的排序算法 该算法采用经典的分治 xff08 divide and conquer xff09 策略 xff08 分治法将问题分 divide 成
  • Operating system error number 5 in a file operation. 问题解决方案

    mysql 5 7数据库体积达到32G xff0c 磁盘空间不足 xff0c 需要迁移 xff0c 迁移后出现 xff1a 2018 09 05T03 17 41 016760Z 0 ERROR InnoDB The error means
  • [转]Ubuntu默认使用root用户登录并免去输入密码

    启用Root用户登录 Ctrl 43 Alt 43 T进入终端 输入cd usr share lightm ightm conf d 如果提示你没有那个文件或目录 那就一次次的进入目录 进入之后会看到如图所示的几个文件 这里写图片描述 输入
  • manifest.json文件介绍

    必须 34 manifest version 34 2 清单文件的版本 xff0c 这个必须写 xff0c 而且必须是2 34 name 34 34 My Extension 34 34 version 34 34 versionStrin
  • Html Code 基本应用

    1 文本框焦点问题 onBlur 当失去输入焦点后产生该事件 onFocus 当输入获得焦点后 xff0c 产生该文件 Onchange 当文字值改变时 xff0c 产生该事件 Onselect 当文字加亮后 xff0c 产生该文件 lt
  • html5 layout,CSS Grid Layout 手记(教程指南)

    CSS Grid Layout 网格 栅格布局 是 CSS 最强大的布局系统 xff0c 随着设备和浏览器的升级 xff0c 将会是未来的主流的布局方案之一 一 介绍 Introduction 概述 Basic CSS Grid Layou
  • minimist的用法

    npm install minimist save 后 xff0c usr bin env node var parseArgs 61 require 39 minimist 39 process argv slice 2 console
  • android core apps华为,华为HMS Core 4.0全面上线 让开发者专注于应用创新发

    日前 xff0c 华为面向全球发布了HMS Core 4 0 HMS Core是华为终端云服务开放能力的合集 xff0c 汇聚了华为终端芯 端 云能力 xff0c 包含一整套开放的HMS Apps和HMS Core HMS Capabili
  • 第一个Postsharp插件

    代码 建立一个解决方案 里面添加2个类库项目FirstPSPlugin和FirstPlugin Task 一般一个Postsharp由两个部分构成 xff0c FirstPSPlugin这个程序集中定义一系列Custom Attribute
  • FTP两种工作模式:主动模式(Active FTP)和被动模式

    FTP两种工作模式 xff1a 主动模式 xff08 Active FTP xff09 和被动模式 2010 06 30 17 07 04 转载 标签 xff1a it 分类 xff1a Linux 在主动模式下 xff0c FTP客户端随