linu系统ftp改为被动模式
① 如何设置ftp的主动模式和被动模式
在使用ftp的时侯,经常遇到ftp链接后出现文件列表错误的情况,只是因为ftp的模式不正确,如何设置ftp的工作模式,什么是主动模式,什么又是被动模式,主动模式和被动模式有什么区别,今天搜集了相关资料和常用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:选项
->
参数选择
->
代理/防火墙/标识
->
“使用被动模式”
或
站点管理
->
对应站点
->
选项
->
“使用被动模式”或
快速连接
->
切换
->
“使用被动模式”。
② linux自带的vsftp的主动模式与被动模式怎么改
vsftpd 被动模式与主动模式 VSFTP文件与目录 /usr/sbin/vsftp vsftp的主...隐藏用户的UID和GID 改变原有banner ftpd_banner=%message% 或者 banner_file...
③ redhatftp配置被动模式
1、首先客户端登陆redhat,从任意的非注明端口连接FTP服务器的命令端口,服务器收到该连接后回复ACK。
2、其次服务器本地开启一个任意的非注明端口发送命令给客户端,让客户端连接服务器的这个非注明端口从而进行数据传输。
3、最后连接建立完成,即可完成被动模式的配置。
④ Linux里面FTP主被动模式区别是什么
题主你好,
首先要说的是FTP的通信是由两部分组成的: 发送命令 + 传输数据.
换种说法就是: 发送命令 与 传输数据 是走的两条道(不同的tcp连接).
发送命令 这条道方向是固定的, 总是由客户端向服务端发起请求把这条道铺起来.
而 传输数据 这条道方向就不是固定的了, 可能与 发送命令 一样, 也是由客户端向服务端发起请求, 还可能是反向的,即由服务端向客户端发起请求来铺起传输数据的这条道.
而题主的问题里所说的FTP主动被模式其实指的就是 传输数据 这条道的铺设到底是 谁向谁发起请求? 这里的主被动是根据 服务端 来说的, 即 服务端主动向客户端发起的就是所谓的主动模式, 反之, 客户端向服务端发起的(服务端被连接),即是被动模式
最后再说下区别: 一开始的ftp只有主动模式,即服务端主动向客户端发请求建立连接,然后利用建立的这个连接进行数据传输. 但后来客户端这边的防火墙很多时候为了安全考虑只相信自己向外发送的请求, 不相信外面连进来的请求,会把从外向内的请求给截断,说白了就是数据传输这条道没建成, 数据肯定就传输不了的. 所以后来又开发了被动模式,让客户端主动向服务端发请求建立连接, 这样防火墙一看是从自己家主动发出去的,就不会拦截,这样路铺好了, 数据自然能成功传输了.
写在最后: 希望可以帮到题主, 欢迎追问.
⑤ 如何设置FTP的主动模式和被动模式 FileZilla主动和被动模式设置方法
你好,
1、在FileZilla工具的站点管理中,我们选中要修改的站点。
2、然后点击传输设置,就可以看到传输模式的设置选项了。
⑥ FTP主动模式和被动模式!
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20 和 21 这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
FTP支持两种模式,它在工作运行时也主要是这两种模式,一种模式叫作Standard也被称为PORT方式和 主动方式 ,另一种模式叫作Passive也叫作PASV, 被动方式 。Standard模式FTP的客户端发出PORT命令到服务器,Passive模式FTP的客户端发送PASV命令到FTP Server中,从而保证文件相互传输正常。
我们使用华为的模拟器Ensp来做一个小实验。
FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手
(1)服务器打开端口 21,等待连接;
(2)客户端(100.1.12.1)发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);
随机端口的计算
可以看到PORT为 10,0,0,2,8,6
随机端口计算为: 8*256+6=2054
(3)客户端通过控制连接发送 PORT 命令(在应用层数据中带有自己的 ip 地址和临时端口),将客户端数据连接的临时端口号告诉服务器
(4)服务器的 20 号端口与客户端建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);
点击登出后控制端口断开连接
FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手
(1)服务器打开端口 21,等待连接
(2)客户端发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);
(3)客户端通过控制连接发送命令字 PASV,告知服务器处于被动模式;
(4)服务器回应,将服务器数据连接的临时端口号(2060)告诉客户端;
(5)客户端与服务器的临时端口建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);
⑦ 如何判断ftp当前是主动模式 被动模式设置
FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。
主动模式FTP:
主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端口--21端口。然后客户端在N+1(N+1 >= 1024)端口监听,并且通过N+1(N+1 >= 1024)端口发送命令给FTP服务器。服务器会反过来连接用户本地指定的数据端口,比如20端口。
以服务器端防火墙为立足点,要支持主动模式FTP需要打开如下交互中使用到的端口:
l FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接)
l FTP服务器命令(21)端口到客户端端口(>1023)(服务器响应客户端命令)
l FTP服务器数据(20)端口到客户端端口(>1023)(服务器初始化数据连接到客户端数据端口)
l FTP服务器数据(20)端口接受客户端端口(>1023)(客户端发送ACK包到服务器的数据端口)
用图表示如下:
在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。
主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接,这是通常会被阻塞的。
主动FTP的例子:
下面是一个主动FTP会话的实际例子。当然服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从 testbox1.slacksite.com (192.168.150.80),一个运行标准的FTP命令行客户端的Linux工作站,发起到testbox2.slacksite.com (192.168.150.90),一个运行ProFTPd 1.2.2RC2的Linux工作站。debugging(-d)选项用来在FTP客户端显示连接的详细过程。红色的文字是 debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。
仔细考虑这个对话过程我们会发现一些有趣的事情。我们可以看到当 PORT 命令被提交时,它指定了客户端(192.168.150.80)上的一个端口而不是服务器的。当我们用被动FTP时我们会看到相反的现象。我们再来关注PORT命令的格式。就象你在下面的例子看到的一样,它是一个由六个被逗号隔开的数字组成的序列。前四个表示IP地址,后两个组成了用于数据连接的端口号。用第五个数乘以256再加上第六个数就得到了实际的端口号。下面例子中端口号就是((14*256) + 178) = 3762。我们可以用netstat来验证这个端口信息。
testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): slacker
---> USER slacker
331 Password required for slacker.
Password: TmpPass
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT command successful.
---> LIST
150 Opening ASCII mode data connection for file list.
drwx------ 3 slacker users 104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.
⑧ Linux下如何进行FTP设置
找到ftp的配置文件->
设置端口、主动模式或被动模式等->保存文件,ftp服务重启
