linux ftp pasv命令,在命令行下实验FTP的PASV传输模式

FTP的PASV传输模式也叫被动传输模式。

众所周知,标准FTP传输需要两个TCP/IP连接,有一个命令连接,用于FTP客户端与FTP服务器端之间传递命令和执行结果的信息。还有一个是数据连接,在执行上传文件或下载文件的操作用于传输文件的数据。

命令连接的端口是固定的,连接是持续的,一般是21号端口。而数据连接的端口是随机的,是临时产生的,而且连接是随连随断的。

rfc959的标准协议文档里的一个简易的例图,展现了这个构架。

-------------

|/---------\|

|| User || --------

||Interface|| User |

|\----^----/| --------

---------- | | |

|/------\| FTP Commands |/----V----\|

||Server|| User ||

|| PI || FTP Replies || PI ||

|\--^---/| |\----^----/|

| | | | | |

-------- |/--V---\| Data |/----V----\| --------

| File ||Server|| User || File |

|System| || DTP || Connection || DTP || |System|

-------- |\------/| |\---------/| --------

---------- -------------

Server-FTP USER-FTP

基于客户端主动发起数据端口,还是服务器端主动发起数据端口的不同,定义了FTP的两种传输模式,PORT和PASV。

PORT模式,是客户端通过PORT命令告诉服务器端要使用的数据端口号,然后在客户端主动建立起这个端口的TCP/IP监听。在进行文件传输的操作时,服务器来连接客户端的这个数据端口,进行数据传输。

PASV模式,是客户端通过PASV命令来告诉服务器端,想使用PASV方式传输数据。服务器收到命令之后,主动在服务器端建立一个数据端口的TCP/IP监听,并把这个数据端口号返回客户端。在进行文件传输的操作时,客户端去连接服务器端的这个数据端口,进行数据传输。

为了更进一步的了解PASV传输模式,我在命令行下模拟了FTP的TCP/IP连接。

在实验中,我使用的是IIS里面自带的FTP服务器(任何一款FTP服务器软件都可以,只要是支持PASV模式)。

模拟FTP连接时,我用的是 telnet loalhost 21这样的方法来进行模拟TCP/IP连接。

1. 在ftp服务器根目录(一般是C:\Inetpub\ftproot),创建一个叫test.txt的文件,随便往里面写点东西。

3cbb1dfaaf1674fd4927c018e1941d91.png

6a38384f7988ed457477ef8f3ab7b3e2.png

2. 在命令行(CMD)窗口中开启命令端口的连接,输入命令的步骤如下

(1)telnet localhost 21

(2)user XXXX    这个XXXX是window用户名

(3)pass XXXX    这个XXXX是该用户的登录密码

47761b94d88b1c6ebd536fa9687fcf06.png

3. 执行PASV命令,告诉服务器端要使用PASV模式传输数据。服务器端会返回数据端口的端口号。

99058405837b58337dbe50b506411116.png

服务器端返回的数据是127,0,0,1,5,20,包括了服务器端IP和数据端口号

服务器IP:127.0.0.1

数据端口号:5×256+20=1300

4. 再打开一个命令行(CMD)窗口,创建与服务器数据端口的连接,使用刚才得到的端口号。

telnet 127.0.0.1 1300

bdb8b3a39e591a2f010bc2b3f6a9576c.png

5. 在命令端口里输入下载test.txt的命令。

RETR test.txt

43d538a7cba75a0071da03b7ba64885f.png

6. test.txt文件的内容,通过数据端口的传输,显示在数据连接的命令行窗口中。

05c5717dadbde57b17098c9dc86f517d.png

以上完成了PASV模式的文件传输。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值