home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / infoguide / using-internet / basic-services / ftp / ftp-primer < prev   
Encoding:
Text File  |  1997-12-01  |  18.3 KB  |  318 lines

  1. An FTP Primer I: The File Transfer Protocol
  2.  
  3. Ray Beausoleil
  4. beausol@u.washington.edu
  5.  
  6.    Some of the most capable software packages currently available for  
  7. microcomputers are publicly issued as either "freeware" or "shareware."  
  8. Freeware is generously released by the author without charge, while shareware  
  9. is distributed under a "try before you buy" agreement. Copies of many of these  
  10. programs are archived on mini and mainframe computers throughout the world. If  
  11. your local Unix site is connected to the INTERNET, then you may transfer these  
  12. files to your site and download them to your microcomputer.
  13.  
  14.    FTP is the INTERNET standard File Transfer Protocol. The program "ftp" is  
  15. the Unix user interface to the Internet protocol, and allows you to transfer  
  16. files to and from a remote network host. This article necessarily cannot serve  
  17. as an exhaustive description of the "anonymous FTP" process. (In fact, the Unix  
  18. "ftp" program is only one of many user interfaces to the INTERNET FTP.)  
  19. However, in Part I I will give an example of a typical Unix FTP session, and I  
  20. will list the addresses of a few archive sites for Macintosh and MS-DOS  
  21. software. Next month, in Part II, I will describe some of the techniques for  
  22. decoding and downloading this software to your microcomputer.
  23.  
  24.    FTP is a privilege granted to users of the INTERNET by the administrators of 
  25. sites containing these archives. Please try to restrict your file transfers to  
  26. non-business hours, because you and other FTP users can cause the host computer 
  27. to slow down significantly. In addition, please minimize the time that you are  
  28. connected to the remote site so that others may take advantage of the  
  29. opportunity.
  30.  
  31.    A screen capture of a typical (brief) FTP session is shown in Fig. 1. From a 
  32. Unix machine at the University of Washington ("milton"), I connected to sumex-
  33. aim.stanford.edu, where a large collection of Macintosh software is archived.  
  34. The numbers in parentheses located on the left margin of Fig. 1 correspond to  
  35. the annotations listed below.
  36.  
  37. (1)  At your Unix prompt, enter "ftp" followed by a space and either the name  
  38. or the numerical INTERNET address of the remote host. Occasionally, a host will 
  39. accept only the INTERNET address. If the remote site is active, then you will  
  40. be connected to the remote FTP server.
  41.  
  42. (2)  When the remote machine asks for your name, enter "anonymous." Some hosts  
  43. limit the number of off-site FTP users; if the number of connections has  
  44. already reached the maximum, you will be asked to try again later.
  45.  
  46. (3)  For your password, you are generally asked to enter your e-mail address,  
  47. such as "beausol@u.washington.edu," followed by a return. However, some systems 
  48. will permit you to enter virtually any text instead.
  49.  
  50. (4)  After these preliminaries, you will enter your local Unix "ftp" command  
  51. interpreter, which will provide you with the "ftp>" prompt. Usually, you will  
  52. first be logged in to a "root directory" that has been set aside for FTP  
  53. purposes by the system administrators; you must then navigate to the archive  
  54. itself. At sumex-aim.stanford.edu, the Macintosh software archive is located in 
  55. the directory "info-mac." You can change the current working directory on the  
  56. remote host using the "cd" command. In the example of Fig. 1, I have also moved 
  57. to the subdirectory "util" on the info-mac directory. Whenever you have  
  58. finished with a particular subdirectory, enter "cdup" at the "ftp>" prompt to  
  59. move up one directory level.
  60.  
  61. (5)  Enter "get" followed by a space and the name of the file to be  
  62. transferred. The file will then be copied to your local Unix directory. In the  
  63. example of Fig. 1, the ".hqx" extension indicates that the Macintosh file has  
  64. been encoded as purely ASCII characters using BinHex (discussed in more detail  
  65. in Part II.) Usually, ASCII is the default FTP transfer mode. However, if the  
  66. file has been archived in binary format, then at the "ftp>" prompt, and prior  
  67. to transferring the file, you must enter "binary." Sometimes, if the file is  
  68. large and the remote system is busy, the transfer may take considerable time.  
  69. To keep an eye on the progress of the transfer, enter "hash" before getting the 
  70. file; then as each 1024-byte block of data is transferred, a "#" hash mark will 
  71. be printed on your monitor. If you would like to see an abbreviated list of the 
  72. files contained in the current directory, enter "ls"; for a more verbose list  
  73. that includes information about each file's size and the date that it was  
  74. archived, enter "dir" followed by a carriage return.
  75.  
  76. (6)  When you are finished transferring the files you need, be courteous and  
  77. log off of the remote machine as quickly as possible. At the "ftp>" prompt,  
  78. enter either "by" or "qui."
  79.  
  80.    These are the most basic commands that you will use during any FTP session.  
  81. You can usually find a complete description of the FTP command interpreter used 
  82. at your Unix site by viewing the "manual pages" (i.e., by entering "man ftp").
  83.  
  84.    There are a number of archives of software for the Macintosh, IBM PC and  
  85. compatibles, and other popular personal computers. In Table I, I have listed  
  86. the name of the host, the Internet address, the directory containing the  
  87. archive, the microcomputer, and the appropriate transfer mode for some of the  
  88. most popular archives. (Of course, virtually all documentation files are stored 
  89. as pure ASCII.) One of the largest and most frequently updated Macintosh  
  90. software archives is maintained at sumex-aim.stanford.edu. I recommend that the 
  91. inexperienced user explore the subdirectory /info-mac/help. OzTeX, the free  
  92. Macintosh implementation of TeX mentioned by Tony Siegman in last month's  
  93. column, may be found at midway.uchicago.edu (University of Chicago); it is  
  94. quite large, so be prepared! The MS-DOS archive at wsmr-simtel20.army.mil  
  95. (White Sands Missile Range) is enormous, but it is difficult to navigate  
  96. because the host does not use Unix. Nevertheless, there are a number of text  
  97. documents in the root directory that describe the FTP commands for the simtel20 
  98. server. A Unix mirror of the simtel20 archive is maintained at  
  99. wuarchive.wustl.edu (Washington University at St. Louis); if you are new to FTP 
  100. on the IBM PC, then an excellent place to begin is the wuarchive subdirectory  
  101. /mirrors/msdos/starter.
  102.  
  103.    The best way to learn more about FTP and other microcomputer archives is to  
  104. subscribe to the appropriate INTERNET news groups. A full description of  
  105. INTERNET news groups is beyond the scope of this article; you'll need to list  
  106. the manual pages for your system news reader or to contact your local system  
  107. administrator to get started. However, news groups of interest to microcomputer 
  108. users have names that begin with prefixes like "comp.sys.mac..." and  
  109. "comp.sys.ibm.pc..." In particular, the news groups "comp.sys.mac.digest" and  
  110. "comp.sys.ibm.pc.d" describe in detail new additions to the archives at sumex-
  111. aim and simtel20, respectively.
  112.  
  113.    The precise implementation of FTP is site-dependent, so "your mileage may  
  114. vary." But the basics of file transfer are usually easy to master and are well  
  115. worth the effort. Next month, I will describe the basics of decoding and  
  116. downloading files obtained via FTP.
  117.  
  118. (I am grateful to Geoff Kinnel, Betsy Richards, Geoff Allen, and Jim Matthews  
  119. for their generous assistance in gathering information for this article.)
  120.  
  121. (C) Copyright 1991 Raymond G. Beausoleil
  122.  
  123.  
  124.  
  125.  
  126. Figure 1: Screen Capture of an ftp session.
  127.  
  128. (1)   milton> ftp 36.44.0.6
  129.       Connected to 36.44.0.6.
  130.       220 sumex-aim FTP server (SunOS 4.0/3) ready.
  131. (2)   Name (36.44.0.6:beausol): anonymous
  132.       331 Guest login ok, send mail address (user@host) as password.
  133. (3)   Password:
  134.       230 Guest connection 7 (of 25) accepted, access restrictions apply.
  135. (4)   ftp> cd /info-mac/util
  136.       250 CWD command successful.
  137. (5)   ftp> get unstuffit-deluxe-20.hqx
  138.       200 PORT command successful.
  139.       150 ASCII data connection for unstuffit-deluxe-20.hqx
  140.       (128.95.136.1,11969) (172867 bytes).
  141.       226 ASCII Transfer complete.
  142.       local: unstuffit-deluxe-20.hqx remote: unstuffit-deluxe-20.hqx
  143.       175534 bytes received in 7.2 seconds (24 Kbytes/s)
  144. (6)   ftp> by
  145.       221 Goodbye.
  146.  
  147.  
  148. Table I:
  149.  
  150. Site Name               IP Address      Directory       Software   Mode
  151. ------------------------------------------------------------------------
  152. sumex-aim.stanford.edu  36.44.0.6       /info-mac        Mac      ASCII
  153. midway.uchicago.edu     128.135.12.73   /pub/OzTeX/oztex Mac      Binary
  154. wsmr-simtel20.army.mil  26.2.0.74       Non-Unix!        MS-DOS   Binary
  155. wuarchive.wustl.edu     128.252.135.4   /mirrors/msdos   MS-DOS   Binary
  156.  
  157. --------------------------------- End of Part I ------------------------------
  158.  
  159. ----------------------------- Beginning of Part II ---------------------------
  160.  
  161. An FTP Primer II: Downloading and Decoding  
  162.  
  163. Ray Beausoleil
  164. beausol@u.washington.edu
  165.  
  166.    Last month, in Part I of this article, I briefly described the INTERNET File  
  167. Transfer Protocol (FTP). In particular, I demonstrated how to use the Unix  
  168. "ftp" interface to transfer personal computer software packages from a remote  
  169. archive to your local Unix mainframe or minicomputer. These programs have  
  170. usually been compressed and/or encoded by the archive administrators. This  
  171. month, I will provide a brief introduction to the process of first downloading  
  172. this software to your microcomputer, and then decoding it using special utility 
  173. programs.  
  174.  
  175.    The method that you must use to download software from your local mainframe  
  176. computer to your microcomputer depends on the operating system and the software 
  177. installed on the mainframe, and on the configuration of your network (e.g.,  
  178. Ethernet or modem). You should begin by asking your system administrator for a  
  179. list of information transfer protocols that have been installed at your site  
  180. and the commands that invoke these protocols. Some of the most popular 
  181. protocols include XModem, YModem, ZModem, and Kermit. Paul Kelley has described 
  182. XModem and Kermit in his article "Information transfer for personal computers," 
  183. published in the February 1991 edition of this column.
  184.  
  185.    In Tables I and II, I have listed freeware and shareware telecommunications  
  186. and utility software packages for the Macintosh and the IBM PC, respectively.  
  187. For Macintosh software, I recommend the archive at sumex-aim.stanford.edu  
  188. (INTERNET address 36.44.0.6), located in the directory "/info-mac". ZTerm, an  
  189. excellent shareware telecommunications application program, can be found in the 
  190. directory "/info-mac/comm". ZTerm not only uses the XModem and YModem data  
  191. transfer protocols, but also offers one of the best implementations of the  
  192. ZModem protocol for any personal computer. When you are connected through ZTerm 
  193. to a Unix mainframe that uses the ZModem protocol, you may download a file  
  194. simply by entering "sz" followed by a space and the name of the file. ZTerm  
  195. detects that a file is being sent, identifies the file type, and then chooses  
  196. the correct transfer mode! For local systems which have implemented the Kermit  
  197. protocol, the program MacKermit (also available at sumex-aim.stanford.edu in  
  198. the "/info-mac/comm" directory) provides a robust Macintosh interface.
  199.  
  200.    A huge archive of IBM PC software is maintained at wuarchive.wustl.edu  
  201. (INTERNET address 128.252.135.4), in the directory "/mirrors/msdos". The most  
  202. popular shareware telecommunications package for the IBM PC, ProComm, may be  
  203. found there in the subdirectory named (oddly enough) "procomm". ProComm uses  
  204. the XModem, YModem, and Kermit transfer protocols, and can also follow the  
  205. ZModem protocol through an external command shell using the transfer program  
  206. "DSZ.COM", which should be placed in the same MS-DOS directory as the ProComm  
  207. program itself. After connecting to your local Unix mainframe through ProComm,  
  208. enter "sz" followed by a space and the name of the file to be downloaded. Then, 
  209. through ProComm, enter the MS-DOS gateway (the "DOS shell") and input "dsz rz"  
  210. at the MS-DOS prompt. After the file has been written to your personal  
  211. computer's disk, simply enter "exit" at the DOS prompt to return to ProComm.
  212.  
  213.    As Paul Kelley mentioned in his article, the simplest way to download files  
  214. to your microcomputer is to display the file on your monitor. Both ZTerm and  
  215. Procomm allow you to capture incoming text and write the text to a disk file.  
  216. As described below, you may then decode the files for later use. Almost all of  
  217. the files stored in the large archive of Macintosh software maintained at  
  218. sumex-aim.stanford.edu have been encoded as ASCII (text) characters using a  
  219. format known as BinHex 4. These files have names that end with the extension  
  220. ".hqx", and can be captured directly from your monitor after you have  
  221. transferred them to your local Unix host. You may direct a Unix machine to  
  222. write a ".hqx" file to your monitor by entering the command "cat", followed by  
  223. a space and the name of the file to be transferred. However, almost all of the  
  224. files stored in the IBM PC software archive wuarchive.wustl.edu have been  
  225. stored in binary format. After you have transferred one of these files (e.g.,  
  226. "file.arc") to your local Unix mainframe or minicomputer, you can use the  
  227. command "uuencode file.arc file.arc" to ASCII-encode "file.arc" and then write  
  228. it to your monitor. In both cases, you must decode the ASCII file on your  
  229. microcomputer using one of the utility programs listed in Tables I and II;  
  230. since you will not be able to decode these utilities themselves until after you 
  231. have the utilities, you must obtain copies of their binary executable files  
  232. from a colleague or user group.
  233.  
  234.    A typical binary file can be up to 50% smaller than the corresponding  
  235. encoded ASCII file, and can be transferred to your personal computer in  
  236. proportionally less time. Therefore, if at all possible, you should try to  
  237. download using the binary transfer mode. This is relatively straightforward for 
  238. IBM PC files transferred from the wuarchive.wustl.edu archive and then  
  239. downloaded to a microcomputer using ProComm Plus.
  240.  
  241.    You may decode BinHex Macintosh files into MacBinary files on your local  
  242. Unix host prior to downloading them using a utility such as "mcvert." You may  
  243. build your own copy of "mcvert" by following these steps: (1) transfer the file 
  244. "mcvert-15.shar" from the "/info-mac/unix" subdirectory at sumex-
  245. aim.stanford.edu using "ftp"; (2) enter "sh mcvert-15.shar" at your local Unix  
  246. prompt, and ignore any error messages caused by the file header; and (3) enter  
  247. "make" at the Unix prompt. This process will create a number of files on your  
  248. directory; you may delete all but "mcvert" itself. Now, to decode any files  
  249. that have the extension ".hqx" (including files that consist of more than one  
  250. part), simply enter "mcvert *.hqx" at the Unix prompt. Your Unix directory will 
  251. then contain files with the extension ".bin", which can be downloaded using the 
  252. MacBinary transfer mode.
  253.  
  254.    Both the Macintosh and the IBM PC binary files that you have downloaded to  
  255. your personal computer are actually miniature archives that contain one or more 
  256. compressed executable and/or data files. These archives can be easily and  
  257. rapidly expanded using the appropriate utility files listed in Tables I and II. 
  258. (The label "sea" designates self-extracting archives which will decompress  
  259. themselves automatically upon launching.) On the Macintosh, files obtained from 
  260. sumex-aim.stanford.edu will usually have extensions such as ".sit" (Stuffit  
  261. Classic), ".cpt" (Compact Pro), or ".sea" (Compact Pro self-extracting  
  262. archive). On the IBM PC, files transferred and downloaded from  
  263. wuarchive.wustl.edu will have extensions such as ".ARC" (PKUNPAK.EXE), ".ZIP"  
  264. (PKUNZIP.EXE), ".LHZ" (LHARC.EXE), ".ZOO" (LOOZ210.EXE), or ".EXE" (self-
  265. extracting archive or simple executable file).
  266.  
  267.    At first, the downloading and decoding process may seem daunting to you,  
  268. particularly if either the system architecture of your local host is not Unix,  
  269. or the software installed on that system does not follow one of the few  
  270. examples that I have given in this article. Rest assured that others have  
  271. almost certainly solved your problems already; one of your most dependable  
  272. resources is the knowledge of your colleagues. Alternatively, as I mentioned  
  273. briefly in Part I, you may learn more about personal computer  
  274. telecommunications by subscribing to the appropriate INTERNET news groups. If  
  275. you ask the right people the right questions, you might find that while you may 
  276. not be able stand upon the shoulders of giants, you may be able to stand upon  
  277. their feet.
  278.  
  279. (I am grateful to John McGarvey, Matt Derstine, Geoff Kinnel, Betsy Richards,  
  280. David Faust, and Geoff Allen for their generous assistance in gathering  
  281. information for this article.)
  282.  
  283. (C) Copyright 1991 Raymond G. Beausoleil
  284.  
  285. Table I: Files obtained from sumex-aim.stanford.edu (36.44.0.6) in the
  286.          directory /info-mac (ASCII Transfer Mode)
  287.  
  288. File Name              Location            Description
  289. -----------------------------------------------------------------------
  290. file-types.txt           help      Brief list of sumex-aim file types
  291. zterm-085.hqx            comm      ZTerm (X,Y,ZModem; no Kermit)
  292. mackermit-098.hqx        comm      MacKermit (No X,Y,ZModem)
  293. stuffit-16-part1.hqx     util      Stuffit Classic w/BinHex 4 (sea)
  294. stuffit-16-part2.hqx     util
  295. compact-pro-13.hqx       util      Compact Pro w/BinHex 4 (sea)
  296. mcvert-15.shar           unix      Unix shell archive for mcvert
  297.  
  298.  
  299.  
  300. Table II: Files obtained from wuarchive.wustl.edu (128.252.135.4) in the
  301.           directory /mirrors/msdos (Binary Transfer Mode)
  302.  
  303. File Name           Location            Description
  304. -----------------------------------------------------------------------
  305. 00-files.doc        starter   Description of wuarchive file types
  306. 00-index.txt        starter   Descriptions of files in /starter
  307. prcm243.arc         procomm   ProComm shareware communications program
  308. prcm243d.arc        procomm   ProComm documentation
  309. prcm243d.arc        procomm   ProComm utilities
  310. dsz0404.zip         zmodem    DSZ.COM (ZModem for ProComm)
  311. pk361.exe           starter   PKPAK.EXE/PKUNPAK.EXE (sea)
  312. pkz110eu.exe        starter   PKZIP.EXE/PKUNZIP.EXE (sea)
  313. lh113c.exe          starter   LHARC.EXE (sea)
  314. looz210.com         starter   ZOO archive extracter/lister
  315. uudecode.com        starter   Convert ASCII uuencoded files to binary
  316.  
  317. --------------------------------- End of Part II -----------------------------.
  318.