ftp命令结果提示“500 I won't open a connection to ...”

本文介绍了一个特定场景下FTP主动模式连接失败的问题,并分析了其原因。该问题出现在通过代理服务器进行连接时,由于数据连接尝试从客户端直接发起,而不是通过代理,导致服务器拒绝连接请求。文章进一步解释了解决方案——使用FTP被动模式,并强调了确认客户端是否真正启用被动模式的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、现象:

ftp在主动模式下,数据连接建立不成功,提示如下:

Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode off.
ftp> ls
500 I won't open a connection to 122.... (only to 183.....)
ftp: bind: Address already in use

二、原因:

a、此测试环境下,client (1.1.1.1)到server(3.3.3.3)到,要经过代理服务器(2.2.2.2)。

在port模式,与server建立控制链路的是中转ip2.2.2.2,而控制链路信息告诉server,要去连接client1.1.1.1,server认为不合法(只有连接2.2.2.2才合法),于是返回控制链路 500信息。


3、解决方法:使用被动模式。

注意:有些客户端不支持被动模式,即使提示行输出为被动模式,也不可信,因为那是服务端返回的信息。要抓包确认是不是真的使用被动模式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值