|
弄内网的时候遇到的一个小问题
已经通过http建立了socket代理,然后可以连接一下对方的ftp,vsftp 2.2.2
遇到一个奇怪的东西,执行ls会出现,并不能列出文件内容
500 Illegal PORT command.
ftp: bind: Address already in use
其实以前就拜读过laterain的文章,但是有些忘记了
http://laterain.sinaapp.com/?p=345
这个是由于ftp有主动模式和被动模式的原因,导致执行的不成功。
主动模式:服务器向客户端敲门,然后客户端开门
被动模式:客户端向服务器敲门,然后服务器开门
所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门
而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口
啊哈哈,具体可以看:http://blog.csdn.net/zjejlzc/article/details/7546183
解决:
登录服务器后执行
quote pasv
将模式变成被动模式,然后在执行
passive
看是否更改成功,成功后就能执行ls命令,但是一些内网由于限制了机器的端口,会导致执行失败。
=。=,这就是反面例子...执行失败了。
|
|