顺义搬家公交app

FlashFXP怎么设置主动访问模式?
作者:佚名
字体:[ ] 来源:互联网 时间:03-13 15:48:18
FlashFXP怎么设置主动访问模式?FTP中有两种模式,一种是主动模式ftp,另一种是被动模式FTP,该怎么设置呢?今天我们来看看FlashFXP设置主动访问模式的详细教程,需要的朋友可以参考下
大家都知道FTP有两种访问模式,那么我们如何设置这两种访问模式呢?请看下面详细介绍
一、FTP兼容
1、打开控制面板 --》点击 Internet选项
2、选择高级选项卡
3、找到选项。使用被动FTP(用于防火墙和DSL调制解调器的兼容)---》将勾去掉,点击确定即可。
二、FlashFXP设置主动访问模式
1、打开软件,点击 选项 --& 选择 参数设置
2、找到 代理 将使用被动模式的勾去掉,点击确定即可。
三、什么是ftp主动模式和被动模式
FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21(也称为控制端口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端口也不都是20,主动模式的被动模式使用的数据端口是不一样的,下面我就一步一步介绍主动ftp模式和被动ftp模式的区别:
1、什么是主动FTP
主动模式的FTP工作原理:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令&port N+1&到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
1)任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)
2)FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)
3)FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)
4)大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)
2、什么是被动FTP
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。
在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N & 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P & 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:
1)从任何大于1024的端口到服务器的21端口(客户端初始化的连接)
2)服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)
3)从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)
4)服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)
以上关于主动和被动FTP的解释,可以简单概括为以下两点:
1)主动FTP:
命令连接:客户端 &1024端口 -& 服务器 21端口
数据连接:客户端 &1024端口 &- 服务器 20端口
2)被动FTP:
命令连接:客户端 &1024端口 -& 服务器 21端口
数据连接:客户端 &1024端口 -& 服务器 &1024端口
3、主动模式ftp与被动模式FTP优点和缺点:
主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
大家感兴趣的内容
12345678910
最近更新的内容如何将网站上传到FTP空间(FlashFXP软件) - 客服中心 - Oray
快速连接" name="description" />
如何将网站上传到FTP空间(FlashFXP软件)
下载FlashFXP软件:&&& &
1.运行&FlashFXP,点击会话-&快速连接& & & &
2.在弹出窗口处,输入&“服务器IP地址、&FTP用户名、FTP密码”,然后点&“连接”;& & & &
3.连接成功后的界面如下图所示,左侧为您的本地电脑文件目录,右侧为FTP远程目录,找到远程目录&wwwroot&文件夹,双击打开该目录& & & &
4.选择您要上传的文件,并点鼠标“右链”-&“传送”,将文件传到到WWWROOT目录里.&这时在队列栏里会显示正在上传及未上传的文件,&当您的文件上传成功完成后,在命令栏里会出现&传送完成&的提示,此时在过程目录栏里就可以看到您上传的文件了。& &
&还在为复杂的配置烦恼吗?来Oray请一个牛B的技术专家回去,7×24小时一对一服务,你还等什么呢?。如何用Flashfxp客户端来访问ftp目录教程
使用客户端来访问目录,可以实现断点续传,避免意外导致拷贝数据中断后,还得重新拷贝安装略过……也可以使用绿色版免安装打开后的界面使用Flashfxp客户端来访问ftp目录设置站点,输入相关登陆数据,下次可直接登陆连接ftp后,可在本地和ftp目录之间相互拷贝数据,实现断点续传,避免拷贝大的数据时出现意外下一次登陆是可直接点击上次设置的ftp站点,实现直接连接,避免反复输入相关登陆信息
看完这篇文章的心情是?
PCgogo下载仅为用户提供信息存储空间服务及链接、搜索服务,所有资源信息均未作修改,不对其真实性、合法性负责。
如有涉嫌侵权或违法违规内容,请发邮件至或加QQ,以便我们及时处理。
Copyright &
All Rights Reserved.
PCgogo下载 粤ICP备号-51235人阅读
socket通信(4)
简介:&FTP 客户端如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的 Socket 来实现。FTP 客户端与服务器端进行数据交换必须建立两个套接字,一个作为命令通道,一个作为数据通道。前者用于客户端向服务器发送命令,如登录,删除某个文件,后者用于接收数据,例如下载或上传文件等。本文详细阐述如何调用系统接口发送 FTP 命令实现文件上传下载等 FTP 客户端功能,让读者对 FTP 客户端的原理有一个深入的了解。
文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。
在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到命令后给予响应,并执行命令。FTP 协议与操作系统无关,任何操作系统上的程序只要符合 FTP 协议,就可以相互传输数据。本文主要基于 LINUX 平台,对 FTP 客户端的实现原理进行详尽的解释并阐述如何使用 C 语言编写一个简单的 FTP 客户端。
相比其他协议,如 HTTP 协议,FTP 协议要复杂一些。与一般的 C/S 应用不同点在于一般的C/S 应用程序一般只会建立一个 Socket 连接,这个连接同时处理服务器端和客户端的连接命令和数据传输。而FTP协议中将命令与数据分开传送的方法提高了效率。
FTP 使用 2 个端口,一个数据端口和一个命令端口(也叫做控制端口)。这两个端口一般是21 (命令端口)和 20 (数据端口)。控制 Socket 用来传送命令,数据 Socket 是用于传送数据。每一个 FTP 命令发送之后,FTP 服务器都会返回一个字符串,其中包括一个响应代码和一些说明信息。其中的返回码主要是用于判断命令是否被成功执行了。
一般来说,客户端有一个 Socket 用来连接 FTP 服务器的相关端口,它负责 FTP 命令的发送和接收返回的响应信息。一些操作如“登录”、“改变目录”、“删除文件”,依靠这个连接发送命令就可完成。
对于有数据传输的操作,主要是显示目录列表,上传、下载文件,我们需要依靠另一个 Socket来完成。
如果使用被动模式,通常服务器端会返回一个端口号。客户端需要用另开一个 Socket 来连接这个端口,然后我们可根据操作来发送命令,数据会通过新开的一个端口传输。
如果使用主动模式,通常客户端会发送一个端口号给服务器端,并在这个端口监听。服务器需要连接到客户端开启的这个数据端口,并进行数据的传输。
主动模式下,客户端随机打开一个大于 1024 的端口向服务器的命令端口 P,即 21 端口,发起连接,同时开放N +1 端口监听,并向服务器发出 “port N+1” 命令,由服务器从它自己的数据端口 (20) 主动连接到客户端指定的数据端口 (N+1)。
FTP 的客户端只是告诉服务器自己的端口号,让服务器来连接客户端指定的端口。对于客户端的防火墙来说,这是从外部到内部的连接,可能会被阻塞。
为了解决服务器发起到客户的连接问题,有了另一种 FTP 连接方式,即被动方式。命令连接和数据连接都由客户端发起,这样就解决了从服务器到客户端的数据端口的连接被防火墙过滤的问题。
被动模式下,当开启一个 FTP 连接时,客户端打开两个任意的本地端口 (N & 1024 和 N+1) 。
第一个端口连接服务器的 21 端口,提交 PASV 命令。然后,服务器会开启一个任意的端口 (P & 1024 ),返回如“227 entering passive mode (127,0,0,1,4,18)”。 它返回了 227 开头的信息,在括号中有以逗号隔开的六个数字,前四个指服务器的地址,最后两个,将倒数第二个乘 256 再加上最后一个数字,这就是 FTP 服务器开放的用来进行数据传输的端口。如得到 227 entering passive mode (h1,h2,h3,h4,p1,p2),那么端口号是
p1*256+p2,ip 地址为h1.h2.h3.h4。这意味着在服务器上有一个端口被开放。客户端收到命令取得端口号之后, 会通过 N+1 号端口连接服务器的端口 P,然后在两个端口之间进行数据传输。
FTP 每个命令都有 3 到 4 个字母组成,命令后面跟参数,用空格分开。每个命令都以 &\r\n&结束。
要下载或上传一个文件,首先要登入 FTP 服务器,然后发送命令,最后退出。这个过程中,主要用到的命令有 USER、PASS、SIZE、REST、CWD、RETR、PASV、PORT、QUIT。
USER: 指定用户名。通常是控制连接后第一个发出的命令。“USER gaoleyi\r\n”: 用户名为gaoleyi 登录。
PASS: 指定用户密码。该命令紧跟 USER 命令后。“PASS gaoleyi\r\n”:密码为 gaoleyi。
SIZE: 从服务器上返回指定文件的大小。“SIZE file.txt\r\n”:如果 file.txt 文件存在,则返回该文件的大小。
CWD: 改变工作目录。如:“CWD dirname\r\n”。
PASV: 让服务器在数据端口监听,进入被动模式。如:“PASV\r\n”。
PORT: 告诉 FTP 服务器客户端监听的端口号,让 FTP 服务器采用主动模式连接客户端。如:“PORT h1,h2,h3,h4,p1,p2”。
RETR: 下载文件。“RETR file.txt \r\n”:下载文件 file.txt。
STOR: 上传文件。“STOR file.txt\r\n”:上传文件 file.txt。
REST: 该命令并不传送文件,而是略过指定点后的数据。此命令后应该跟其它要求文件传输的 FTP 命令。“REST 100\r\n”:重新指定文件传送的偏移量为 100 字节。
QUIT: 关闭与服务器的连接。
客户端发送 FTP 命令后,服务器返回响应码。
响应码用三位数字编码表示:
第一个数字给出了命令状态的一般性指示,比如响应成功、失败或不完整。
第二个数字是响应类型的分类,如 2 代表跟连接有关的响应,3 代表用户认证。
第三个数字提供了更加详细的信息。
第一个数字的含义如下:
1 表示服务器正确接收信息,还未处理。
2 表示服务器已经正确处理信息。
3 表示服务器正确接收信息,正在处理。
4 表示信息暂时错误。
5 表示信息永久错误。
第二个数字的含义如下:
0 表示语法。
1 表示系统状态和信息。
2 表示连接状态。
3 表示与用户认证有关的信息。
4 表示未定义。
5 表示与文件系统有关的信息。
这是我自己写的客户端程序:
Socket 客户端编程主要步骤如下:
&&&&1、socket() 创建一个 Socket
&&&&2、connect() 与服务器连接
&&&&3、write() 和 read() 进行会话
&&&&4、close() 关闭 Socket
Socket 服务器端编程主要步骤如下:
socket() 创建一个 Socket
listen() 监听
accept() 接收连接的请求
write() 和 read() 进行会话
close() 关闭 Socket
&&&&&&&&&1、客户端和 FTP 服务器建立 Socket 连接。
&&&&&&&&&2、向服务器发送 USER、PASS 命令登录 FTP 服务器。
&&&&&&&&3、使用 PASV 命令得到服务器监听的端口号,建立数据连接。
&&&&&&&&&4、使用 RETR/STOR 命令下载/上传文件。
&&&&&&&&5、在下载完毕后断开数据连接并发送 QUIT 命令退出。
当客户端与服务器建立连接后,服务器会返回 220 的响应码和一些欢迎信息。
SOCKET control_
struct hostent *
struct sockaddr_
memset(&server, 0, sizeof(struct sockaddr_in));
control_sock = socket(AF_INET, SOCK_STREAM, 0);
hp = gethostbyname(server_name);
memcpy(&server.sin_addr,
hp-&h_addr, hp-&h_length);
server.sin_family = AF_INET;
server.sin_port = htons(port);
connect(control_sock,(struct sockaddr *)&server, sizeof(server));
read(control_sock, read_buf, read_len);
当客户端发送用户名和密码,服务器验证通过后,会返回 230 的响应码。然后客户端就可以向服务器端发送命令了。
sprintf(send_buf,&USER %s\r\n&,username);
write(control_sock, send_buf, strlen(send_buf))
read(control_sock, read_buf, read_len);
sprintf(send_buf,&PASS %s\r\n&,password);
write(control_sock, send_buf, strlen(send_buf));
read(control_sock, read_buf, read_len);
当客户端在下载/上传文件前,要先发送命令让服务器进入被动模式。服务器会打开数据端口并监听。并返回响应码 227 和数据连接的端口号。
sprintf(send_buf,&PASV\r\n&);
write(control_sock, send_buf, strlen(send_buf));
read(control_sock, read_buf, read_len);
当客户端发送命令下载文件。服务器会返回响应码 150,并向数据连接发送文件内容。
当客户端下载完毕后,发送命令退出服务器,并关闭连接。服务器会返回响应码 200。
首先,服务器准备就绪后返回 220。客户端接收到服务器端返回的响应码后,相继发送“USER username” 和 “PASS password” 命令登录。随后,服务器返回的响应码为 230 开头,说明客户端已经登入了。这时,客户端发送 PASV 命令让服务器进入被动模式。服务器返回如 “227 Entering Passive Mode (127,0,0,1,13,67)”,客户端从中得到端口号,然后连接到服务器的数据端口。接下来,客户端发送下载命令,服务器会返回响应码 150,并从数据端口发送数据。最后,服务器返回
“226 transfer complete”,表明数据传输完成。
需要注意的是,客户端不要一次发送多条命令,例如我们要打开一个目录并且显示这个目录,我们得发送 CWD dirname,PASV,LIST。在发送完 CWD dirname 之后等待响应代码,然后再发送后面一条。当 PASV 返回之后,我们打开另一个 Socket 连接到相关端口上。然后发送 LIST,返回 125 之后在开始接收数据,最后返回 226 表明完成。
在传输多个文件的过程中,需要注意的是每次新的传输都必须重新使用 PASV 获取新的端口号,接收完数据后应该关闭该数据连接,这样服务器才会返回一个 2XX 成功的响应。然后客户端可以继续下一个文件的传输。
上传文件与下载文件相比,登入验证和切换被动模式都如出一辙,只需要改变发送到服务器端的命令,并通过数据连接发送文件内容。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:238249次
积分:2273
积分:2273
排名:第13602名
原创:62篇
转载:55篇
评论:25条
(1)(2)(3)(2)(2)(3)(1)(1)(2)(1)(3)(2)(2)(4)(2)(3)(1)(9)(7)(2)(3)(1)(1)(1)(6)(7)(1)(1)(2)(9)(4)(4)(2)(2)(5)(16)

我要回帖

更多关于 北京顺义搬家公司 的文章

 

随机推荐