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毫秒