BBS水木清华站∶精华区

发信人: 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命令的很详细, 大家自己看看吧) 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.10.142] 

BBS水木清华站∶精华区