Linux 版 (精华区)
发信人: netiscpu (说不如做), 信区: Unix
标 题: 通过ftp.gb.com.cn中转国外软件的方法
发信站: 紫 丁 香 (Fri Jul 17 08:05:49 1998), 转信
发信人: raner (就要离开清华了...), 信区: Linux
标 题: 通过ftp.gb.com.cn中转国外软件的方法
发信站: BBS 水木清华站 (Mon Jun 22 22:10:43 1998)
相信还有许多人不会这样让两个ftp中转(象我原来就不懂 :-(( ), 整理一下贴出来
1. 设置ftp的auto login功能
呵呵, 对于命令行ftp还是很方便的, 还是加上吧 :-) man ftp(/netrc)
vi $/.netrc
加上 default login anonymous password user@site.edu.cn
前面还可以加别的machine(不一定是anonymous)
ftp -n site.xx.xx 可以取消自动login
2. 写 shell scripts
eg: ftp ftp.gb.com.cn << _EOF_
cd incoming/unix/
binary
prompt
proxy open sunsite.unc.edu
proxy cd /pub/Linux/distributions/redhat/xxxx
proxy put dir.tar.gz 呵呵, wu-ftpd支持很好的dir取
proxy close
quit
_EOF_
当然proxy 处就是对你想down的ftp server操作了, 经过试验多数ftp server
都可以这样做(只要server支持PASV命令就行了). 由于这样你的local只传输控制
信息, 流量就可以忽略了 :-)) 让gb.com和cdrom.com自己慢慢忙乎去吧 :-))
把这个shell scripts用nohup或at搞到后台去慢慢跑吧
3. 关于这样的原理
ftp通过proxy开第二个control session, 让它进passive mode(就是由client连
server)
ftp对第一个control session操作时, mget/get就把文件传到第二个control session
这是利用了PORT命令, 这里给的IP和PORT是第二个control session的, 这样就相当于
直接把文件从ftp1 download到ftp2, 反过来也是, proxy mput/put把proxy里的文件
upload到ftp1, 一共有三个地方:
ftp1(main control session,use 'open' to open)
ftp2(secondary control session, use 'proxy open' to open)
local
mput/put/send local->ftp1
mget/get/recv ftp1->local
proxy mput/put/send ftp2->ftp1
proxy mget/get/recv ftp1->ftp2
(man ftp中有段讲proxy命令的很详细, 大家自己看看吧)
--
m3m※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.10.142]m
--
Enjoy Linux!
-----It's FREE!-----
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.189毫秒