Subject: present---"Internet-Tools"

From: [email-masked] (Zheng Wang)
Date: Tue, 10 Aug 1993 03:47:41 GMT

贫僧近日去台湾化缘，得到一些好文章��愿与各位共享
也算初次上网的礼物，借花献佛了！！！

                                           小和尚 

第零章 基础篇
_______________________________________________________________
第一节 Internet三两事

  从使用者的角度来看，Internet代表网路中的网路，也就是各网路间彼
此相连。网路与网路间的连结，硬体线路上须有实际上的连接（本书把无
线连接也视为实际线路对接），软体上各网路也须一个共同的沟通传递方
式（即通讯协定），如此，我们可以视各相连结的网路为网际网路，也就
是说网路中的网路，在这架构下，使用者便可以实现跨越网路到不同主机
系统下作业。

  目前在地球上，实现这样连线的网际网路相当多，最<<著着>>名的其中两个是
Internet及BITNET。用中文来说，您可以称呼Internet为国际网际网路，
BITNET为国际学术网路。本书便是谈应用Internet所须的工具，以及几个
相对在BITNET下的服务及应用。

  前面稍微提过，要实现跨越网路作业（Internetworking），必须各网路
间都支援共同的通讯协定，在Internet下，各网路都支援TCP/IP（一种通
讯协定），这使得跨越网路非常容易。具体的说，在TCP/IP之下，我们可
以用Telnet（TCP/IP之下的次协定）来执行远程载入（Remote login）
，用FTP来执行档案的撷取及传送，用SMTP来执行电子信件的邮递。 这
Telnet、FTP及SMTP便是本书所要介绍「Internet工具」--Internet-Tools
四个工具其中之三。

  讲到Internet工具，所谓Telnet是终端机协定，其本身也是执行这一协
定的服务程式，它让不同主机系统可以模拟成另一主机的终端机，让使用
者可以透过自己的主机载入（login）另一主机。 FTP 是 File Transfer
Protocol，它本身也是执行这档案传送协定的服务程式，主机间用FTP连线
後，即可进行档案传送。FTP连线的一端是请求端（Client），也就是使用
者，另一端是伺服端或服务端（Server），在伺服端若储存有大量免费取
用的档案，这时我们便说该伺服端为FTP档案库（FTP Archives），用白话
说，便是执行公用档案储存及传送的服务系统。SMTP 是Simple Mail
Transfer Protocol的缩写，它是Internet（TCP/IP）下的电子信件通讯协
定，它本身不是服务程式，而由其它邮递系统来完成（Implement）这项服
务。

  您这时也许有进一步的问题，当有了这样的跨网路连线，也有了这些工
具，那究竟我可以用它来做什麽用呢？或更直接的问，Internet世界里究
竟有何资源让我取用呢？这问题可能不易完整回答，但本书这样告诉您：

    资源共享的观念具体的在Internet实现了，在这理念下，某一主
    机下的某系统开放给Internet下其它主机的用户使用，这些公共
    的服务系统都有特定功能与服务项目，可想而知，这些服务系统
    的种类与数量必然可观，更可贵的是，其中绝大多数的服务系统
    都是无价服务。

    具体来说，有关各类知识、史料、百科全书方面，有资料库系统（
    这类系统有些采有价服务）；与电脑科技报告、公共程式、原始
    程式码等等有关的服务系统是FTP档案库（FTP Archives）；专门
    帮您执行档案搜寻的有Archie系统；专门让使用者之间讯息交流
    的讯息布送系统News；Hytelnet server是专门指引您各类服务系
    统的服务系统；其它像BBS系统，CWIS校园资讯系统，娱乐性桥牌
    系统、围棋系统，图书馆线上目录系统等等，都是Internet中较
    为人熟知的服务系统。

  由以上众多服务系统来说明「资源」，也许您已可以想像，但可能仍不
够具体。并非煤矿铁矿才是资源！您在Internet中透过各式服务系统所撷
取的就是资源。试想，最新的科技讯息、古早史料是不是资源？我们可以
说，能被您进一步转换应用的「东西」就是资源。归纳来说，这本书想告
诉您，这些资源可以说是前人的经验与知识，透过网路科技的有效整合、
互享，而可轻易撷取到的资讯。

  这一本书没有清楚的交代Internet的由来及其发展历史，它也没企图介
绍您所有Internet下的服务系统，这本书只介绍您使用各类服务系统的工
具，以及如何应用、转应用这些工具来寻找您想知道的。它试<<著着>>想启示您
，如何取得其他必备的参考资料，再由这些资料中，给Internet下您自己
的定义。这本书便是这样的一本工具书，它不试图引诱您来学习电脑应用
或网路科技，它被定位为「应用」的书，将网际网路的资源及工具本身，
应用在您所研究、所从事或所兴趣的事上。另外，这绝对不是用来「研读」
的一本书，但它适合被摆在每一部电脑（个人电脑、工作站、大中小型电
脑及超级电脑）的旁边，它也应该被摆在所有学校电脑实验室（Computing
Lab）的服务柜台上，它更适合被各系所指定为参考教材，这是作者的看
法，您以为呢？

第二节  上线初步

  用电脑来帮助日常人们的联系，这是非常方便的，这样的方式是人和人的
沟通，而把电脑当作一个工具。另外，像您用提款卡（Bank card）在银行
提款机领钱时，该部提款机也是与该银行内的电脑系统进行通讯的动作。

  讲完这两句闲话，笔者再谈电脑通讯（Computer communication），希望
您能看得下去。基本上，这本书尽量不提任何理论性的东西，工具书就是当
工具用的，所以您往下看下去就是一个接一个的范例，您会在范例中知道您
可以大约利用来做那些事，及如何做那些事，并且您将渐渐知道Internet有
那些资源。

  假如您对电脑有恐惧感，或您一想到电脑就把它与高科技联想在一起，这
是不必要的，也不一定正确！也许这一本书要谈的您想都没想过，或一点相
关概念都没有，不要担心，这本书是要告诉您如何「用」的书，如何将一些
非常好用的工具，用在对您工作、学术研究上有助益的一些事情上。

  基本上电脑只是电脑，它得透过传输线路才能与另外的电脑沟通。现在多
半的大学院校都有一定程度的校园网路，这网路把各系馆的电脑都连结起
来，它可以把所有个人电脑（Personal computer，PC）连起来，也把不同
品牌的工作站（Work station）级电脑、迷你电脑（Mini computer）以及
中大型电脑都连在一起。这情况下，您在任一部电脑使用时，就可以随时
与另外一部电脑使用者在电脑萤幕上对话，或者送一封信（电子信件）给
另一个人。

  这是笔者略过很多细节未谈，也许您要责怪笔者，那有这麽简单，通讯
协定呢？支援的通讯软体呢？好像这些都略过没谈，是的，这本书就是要
帮您忘了这些的存在，您只管如何使用，至於背後的那些电脑软硬体工程
或理论，也许对您助益不大。

  这本书主要介绍您四个通讯工具，电子信件（Electric mail，E-mail）、
档案传输（File Transfer Protocol，FTP）、远程载入（Remote access，
Telnet）及线上交谈（On line interactive message），您看了看这四个
工具，也许就开始发愁了，怎麽从字面上看不出很多道理来！没关系，这
些专业上的字眼，底下笔者会设法用一般话来说明。

  电子信件就是您在电脑上写信，您可以用键盘或其它方式输入，待您写完
，电脑内的送信软体会将该信送到您指定的使用者那端，在这过程可以没有
纸张，当然也没有邮差，更不须贴邮票，另外一点不同的是该信会立刻被送
到对方（一瞬间的功夫），且储存在对方的电子邮箱中，假如对方当时正在
使用电脑，则可以马上阅读，若不在，该信就被储存起来等待取阅，这就是
电子信件。

  现在有很多电子新闻就是这样传送，您一上机使用，便可看到那些透过网
路传送进来的新闻。更详细的细节您会在第一章中知道更多。

  FTP档案传送的内涵也许字面上不易了解，确实，它是可以用来传送档案，
但它可不只会这些，您可以用FTP与另一部电脑连结，假若这部电脑内有很
多的公用程式档案，这时您便可以轻易撷取那些档案。而若该资料库又在
化学与化工方面有非常多的学术报告或论文，若您需要便可拿过来。执行这
样服务的系统，我们可以称呼它为FTP资料伺服器（FTP Server）。这不是
神话，在地球上现在大约有一千多个FTP资料库，开放供您使用，这一部分
是第二章的内容。基本上，各FTP资料库所存放的档案仍以与电脑相关的为
主，这不同於其它类型的资料库系统。

  远程撷取是另外一种方式，让您与远端的一部电脑连线，更真确的说，您
的电脑载入（login）到彼端电脑系统，这时您操作的环境与控制都取决於
对方系统。我们举例来说，现在全世界已有很多图书馆系统以这样的方式开
放使用，这时您便可以透过网路连结login到该图书馆系统，进行线上查询。
同样的，您也不需要顾虑时空如何遥远、两部电脑如何连结。 这样的一个
工具有个名字，我们称呼它叫Telnet，细节请参考第三章。

  另外一个工具叫线上交谈，顾名思义，就是遥远的两端在电脑萤幕上交谈
，注意，是人在交谈（笔者故意略掉主词）。不同於电子信件的是，线上交
谈是即时的，单独一方是谈不来的，假如您丢一句话给某人，他若当时不使
用电脑，则对方系统就通知您并拒绝您的谈话邀请，您的讯息也不会被储存
起来（这句话只有百分之九十九正确），这是第四章的部分内容。至於，这
与电话交谈不同，主要是交谈双方是在萤幕前透过键盘输入对话，更大的不
同是，您不须付长途或国际电话费（因为您不是透过卫星转接、也没透过商
业电话交换网路）。

  读到这里，读者应该可以开始想像出Internet是甚麽东西了，从字面上来
说，网际网路就是网中有网，环环连结，也就是不同网路之间，遵守同样的
沟通规则（通讯协定），而使得网路与网路间的通讯得以建立。再往下看，
您就会深切体会，中国话「天涯若比邻」的真义！

  细心的读者，一定曾在以上四段话中，看到类似「全世界」的字眼，是的
，这些工具都没有国界，也没有洲界的划分，您在校园的某个角落里，是可
以实现与地球彼端某个电脑使用者交谈的，您也可以与遥远（远到您一点也
不知道该电脑究竟在那里）一端的某个图书馆连线查寻，并把查询结果传送
回来，这对熟悉传统图书馆馆际合作方式的人，尤其有助益，同样的，您不
须要费心知道，到底这些是怎麽办到的！

  理论上，只要您有适当的软体，您在网路的PC上，都可以做所有这些事，
但本书的介绍范围只含括：

<A>  不透过任何主机（Host）下，直接由网路中的PC，使用档案传送（FTP）
     及 Telnet 远程载入，这一部分，就是用NCSA's Telnet/Ftp 来做，假
     如您有Novell Telnet/Ftp，操作起来都几乎一样，但後者是商业版本
     ，本书不介绍。网路中PC版本的信件软体已很多，像CC:Mail、MS-Mail
     ...，本书暂时也不谈论这一部分。

<B>  透过主机（注一）这一部分，您可以办到大部分以上四件事，不过这
     会因主机不同而有异，这一点读者可先不顾虑。透过主机的方式也就
     是，您把PC与主机系统连线（login）起来；至於与主机连线的装置
     ，您可以使用传统主机专属终端机，您也可以用网路中的PC与主机连
     线，再由主机对外连线（这尤其可以用於您网路中没有Internet信件
     服务或线上交谈时）。值得注意的是，这本书谈的都是世界级的或说
     是跨网路的连线使用，至於区域网路（LAN）内的信件服务、线上交谈
     ，本书并不涉及。第三个方法就是透过电话线路，由家用PC与主机连结
     ，再由主机连上Internet 中的其它主机。这一部分，笔者将在以下详
     细解释！

  本书介绍两种区域网路中PC与主机的连线方法，第一种透过MS-Kermit
，这一部分，在用法上就几乎与家用PC透过电话线上主机非常类似，
MS-Kermit 也支援网路，它技术上的不同只在於login.tak及mskermit.ini
的定义，但这不是使用者该伤脑筋的，换句话说，从使用者的角度来看，
MS-Kermit就是MS-Kermit，您在不同地方不同机器上的使用方法与程序都会
大约一样；关於使用方法，您可参考这一章的後半部分。另外，您在网路中
的PC 也可以用Telnet通讯软体来与主机连线，这时您的PC就变成该主机的
终端机（Terminal），至於用法上，就几乎与用主机的Telnet与远端的主机
连线一样，这一部分若您用到，可参考第三章第一节，以及第五章第二节。

注一.  这里笔者采广义解释，泛指网路中的 UNIX、Unix工作站
       （Work station）、迷你电脑（Mini computer）、中大
        型电脑（Mainframe）或超级电脑（Super computer）等。

第三节  个人电脑通讯 PC communication using MS-Kermit

  用个人电脑及电话线路来撷取Internet资源是非常方便的，想像一下您一
天有几个小时在学校或办公室？当您不在办公室的时候，您就可以透过电话
线路来连线。 PC要对外通讯，基本上就是原本的PC上加上通讯软体、数据
机（MODEM）以及电话线路。现在数据机相当便宜，数据机的功用是将电脑
送出的讯号（数位讯号）转换成电话线路可以传送的讯号（类比讯号）。正
确的装置，一般得熟手帮您，一个大概动作是：通讯软体会完成拨号动作，
您会听到一串快速的拨号声，那声音是通讯软体驱动数据机发出的声音，这
就像您拿起按键式电话机，然後快速拨号，另一端的电脑收到讯号後，用很
短的时间即完成连线状态。

  此外，网路中软体的装置及硬体的布线，成本都很高，若适度的透过电话
线路来连线，就几乎可以把大小学校、政府机构、各个家庭或个人都连结起
来，且成本将非常低廉。

  至於通讯软体，笔者主要使用PROCOMM+，以及MS-Kermit，这两个软体都
能相容於中文环境。PROCOMM+是一个亲合性很高、功能很强的软体，这是一
个纯商业软体，所以私自拷贝使用是不被许可的！ MS-Kermit则是公益软体
（Public domain software），您可以从别人那儿拷贝来使用，MS-Kermit
功能也甚强，使用上也相当容易。

  常见的DOS通讯软体有Kermit、Telix、Procomm、Xtalk..等等，以下笔者
将以Kermit为主，介绍如何装置、拨接及其他常用指令的用法。笔者将更推
荐Procomm，因为Procomm有一极具亲和力的使用者界面，它的售价仅需美金
$65，值得购买！

  您的MS-Kermit可以直接摆在软式磁碟上，也可以摆在硬式磁碟上，基本
上您不须要特别的设定程序，您只要把相关的MS-Kermit摆在一块即可，底下
就是MS-Kermit的档案，您最起码要有 KERMIT.EXE档（笔者使用3.10版）。

  KERMIT   EXE    145890 03-07-91   2:09p   <---
  MSKERM   DOC    339269 10-19-89   4:54p
  WHATSNEW 310     44375 03-07-91   2:09p
  MSKERMIT INI      2701 03-07-91   2:09p
  LOGIN    TAK      3427 03-07-91   2:09p
  KERMIT   SCN         0 07-24-92  11:34p

底下我们假设MS-Kermit摆在C:\KERMIT 目录下

C:\KERMIT>kermit                 <---- 键入 kermit 指令
IBM-PC MS-DOS Kermit: 3.10 2 March 1991
Copyright (C) Trustees of Columbia University 1982，1990.

Type ? or HELP for help           您已进入Kermit

MS-Kermit>c   <----- 键入 c 就进入下一个画面（c 代表connection）

_______________________________________________________________________
atdt 7536600      <----- atdt 是拨接命令，7536600是笔者系上主机电话
CONNECT 2400      <----- 连线後，就完全依照主机系统指示操作

                   Welcome To The Micom 600

        ************************************************
        *                                              *
        *     System Description        System Name    *
        *                                              *
        *    Encore Multimax                UMAX       *
        *    Amdahl 5890/VM                 VMCS       *
        *                                              *
        ************************************************

Which System?

_______________________________________________________________________

  假设您想结束连线（Logoff），您先依主机的指示Logoff後，按 ALT-X（
ALT 键与X 键同时按），这时，您就回到Kermit的提示符号MS-Kermit>

MS-Kermit>hangup     <---- 这时您键入HANGUP就可完全结束连线。
 The phone or network connection should have hung up

              很简单吧！

  底下是较深入的介绍，假如您是新人，您可以暂时略过去，或者您在操作
中遇到不会的动作时，再回过来参考这一部分即可。

MS-Kermit> HELP  <---- 我们来看看
________________________________________________________________________
                      Introduction to MS-DOS Kermit
o An MS-Kermit command is a line of words separated by spaces and ending with
  a carriage return <the Enter key>.  Example: SET SPEED 2400<Enter>
o Most words can be abbreviated and can be completed by pressing the Esc key.
  Example: SET SPE 24<Enter>  or even  SET SPE<Esc> 24<Esc><Enter>
o Help (detailed，specific): press the "?" key where a word would appear.
o Edit lines using the Backspace key to delete characters，Control-W to delete
  words，and Control-U to delete the line.  Control-C cancels the command.
o Frequently used MS-Kermit commands:      <--- 常用指令简介
  EXIT           Leave the Kermit program. QUIT does the same thing.
  SET            PORT，PARITY，SPEED，TERMINAL and many other parameters.
  SHOW or STATUS Display groups of important parameters. SHOW ? for categories.

  CONNECT        Establish a terminal connection to a remote system or a modem.
  Control-] C    (Control-]  followed by "C")  Return to MS-Kermit> prompt.

  SEND filename  Send the file(s) to Kermit on the other computer.
  RECEIVE        Receive file(s)，SEND them from Kermit on the other computer.
  GET filename   Ask the remote Kermit server to send the file(s) to us.
  FINISH         Shut down remote Kermit but stay logged into remote system.
  BYE            FINISH and logout of remote system and exit local Kermit.
o Common startup sequence: SET SPEED 9600，CONNECT，login，start remote Kermit，
  put it into Server mode，escape back with Control-] C，transfer files with
  SEND x.txt，GET b.txt，BYE. Read more about it in "Using MS-DOS Kermit".
Press the "?" key for a summary of Kermit commands，or space for prompt.
________________________________________________________________________

  您键入HELP後，就可以看到上面这个说明画面，这里暂时我们不另外以
中文说明。您也可以在不离开主机的情况下，暂时回到 Kermit，同样的，
您按ALT-X，即可到 C:\MS-Kermit> 画面，然後键入 Help 就可看到此说
明画面了！

  下面画面是您按下 ? 问号键，就可看到的所有命令列表，您刚开始较
不熟悉时，就可到这画面来。
________________________________________________________________________
  Ask，Askq (read keybd to variable)   Mail     (file to host Mailer)
  Bye      (logout remote server)      Output text     (for scripts)
  C or Connect  (become a terminal)    Pause [seconds] (for scripts)
  Clear    (clear serial port buffer)  Pop   (exit current Take file or macro)
  Close    (logging file)              Push     (go to DOS，keep Kermit)
  CLS (clear screen at command level)  Quit     (leave Kermit)
  CWD or CD  (change dir &/or disk)    R or Receive  (opt local filename)
  Define/Assign   (a command macro)    Reinput  (script Input，reread buffer)
  Delete   (a file)                    Remote   (prefix for commands)
  Directory                            Replay   (file through term emulator)
  Disable  (selected server commands)  Run      (a program)
  Do       (a macro)                   S or Send  local file   new name
  Echo text (show line on screen)      Server [timeout] (become a server)
  Enable   (selected server commands)  Set      (most things)
  EXIT     (leave Kermit)              Show     (most things)
  Finish   (to remote server)          Space    (free on current disk)
  Get      (remote file opt new name)  Status   (show main conditions)
  Goto    (label，Take file or Macro)  Stop     (exit all Take files & macros)
  Hangup   (drop DTR，hang up phone)   Take     (do a command file)
  If [not] <condition> <command>       Transmit filespec [prompt] (raw upload)
  I or Input [timeout] text (scripts)  Type     (a file)
  Log (Packet，Session，Transaction)   Wait [timeout] on modem \cd \cts \dsr
  Logout   (remote server)             Write    <to log file> text
  Type HELP for an Introduction，use "?" within commands for specific help.
________________________________________________________________________

  或者，您在连线状态任何情况下，按ALT-H，可以看到底下的求助（hlep）
画面。
________________________________________________________________________
   ?  This message                  F  Dump screen to file
   C  Close the connection          P  Push to DOS      暂时跳到DOS
   S  Status of the connection      Q  Quit logging
   M  Toggle mode line              R  Resume logging
   B  Send a Break                  0  Send a null
   L  Send a long Break             H  Hnagup phone     结束连线
   Typing the escape character will send it to the host
_________________________________________________________________________

1. ALT-X ：是个使用非常频繁的指令，它让您暂时回到MS-Kermit，您回到
           这里後，可以用PUSH指令进一步回到DOS （此时仍连线中），
           您可以在DOS执行一些工作後，用 EXIT 指令回到 MS-Kermit，
           再用C （connect）指令回到连线状态。您欲结束连线时，先执
           行连线主机的断线（Logout）动作，再以ALT-X回到MS-Kermit，
           然後，用 hangup 指令就可真正切断两端的连线。

2.   SET ：设定环境参数，我们在 MS-KERMIT> set ? 就可看到下面画面。

MS-Kermit>set ?
_______________________________________________________________________
  Alarm    sec from now or HH:MM:SS    Local-echo        on/off
  Attributes packets on/off            Log kind  opt filename
  Bell    on/off    at end of xfers    Mode-line         on/off
  Block-check-type  checksum/CRC       Parity    even/odd/mark/space/none
  COUNT   number    a loop counter     Port for i/o      1/2/COM1/COM2/etc
  Debug   on/off    display packets    Prompt  string   (new Kermit prompt)
  Default-disk                         Receive parameter  many things
  Delay   secs  before Sending file    Remote    on/off  show xfer counts?
  Destination   Disk/Screen/Printer    Retry limit for packet send/receive
  Display quiet/reg/serial show cnts?  Send parameter    many things
  Dump filespec     screen to disk     Server parameter
  Duplex            half or full       Speed or Baud     many speeds
  EOF Ctrl-Z/NoCtrl-Z  ^Z ends file?   Take-echo on/off  display commands?
  End-of-line char  cr or whatever     Terminal none/H-19/VT52/VT102/VT320
  Errorlevel number   for DOS Batch       and many terminal setup parameters
  Escape char  ^]   or whatever        Timer     on/off  time packet waiting
  File (Character-set，Type，Warning)  Translation IN  Connect mode rcv'd char
  Flow-control      xon-xoff or none   Transfer Character-set (on wire)
  Handshake xon/xoff/cr/lf/bell/esc..  Transmit  parameters，for scripts
  Incomplete file   keep/discard       Unknown-character-set (keep/cancel)
  Input timeout，etc  (for scripts)    Warning   on/off  if file renamed
  Key         key-ident   definition   Windows  number of sliding window slots
________________________________________________________________________

   我们举一个例子：
MS-Kermit> set speed 2400   设定传输速度 2400 BPS
MS-Kermit> set term vt102   设定终端机模拟型式

3. STATUS指令：看目前的设定情形，假若您都没有更改的话，STATUS就是
               看通讯内定值（Defaut） 您可以先看STATUS後，再决定
               如何SET，SET指令参考如上。

4. 档案传输：档案传输的方式，一般都先在主机端设定送出或接收档案，
             之後，在PC端（自己端）下接收或送出指令，这一原则可适
             用於很多的通讯软体上。MS-Kermit 也是一样，当您设定好
             彼端（主机）为送出档案後，按 ALT-X 跳回MS-Kermit，再
             下 Receive 指令。请参考下例：

       RECEIVE filename   收入（Download）档案，并指定档名。
       RECEIVE            收入主机端送出的所有档案，receive收到的
                          档案都摆在目前目录下，您要摆在别的地方也
                          可以，MS-Kermit会帮您自动取名，若碰到相
                          同档名，它也会自动避开。
       RECEIVE c:\temp\   指定存放目录路径。

             送出（Upload）档案时也一样，先设定主机端接收，按 ALT-X
             跳回 MS-Kermit，再下 Send 指令。

       SEND newfiles           送出newfiles
       SEND c:\temp\test.*     送出在c:\temp目录下所有以test为主要
                               档名的档案

       传送结束，回主机端画面 请键入 MS-Kermit> c ，即「connect」指
       令。

5. FINISH 指令：您在传送档案过程有时会出些状况，这时若您回不去主机
                端，或回去後有杂乱画面，这多半表示您没正常结束传送
                ，这时按 ALT-X 再回到 MS-Kermit>，键入 FINISH。

6. CWD 或 CD 指令：改变或显示目录。

7. QUIT 指令：挂断电话并离开MS-Kermit。