tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 2151

Pages: 52
Top     in Index     Prev     Next
in Group Index     Prev in Group     Next in Group     Group: ~internet

A Primer On Internet and TCP/IP Tools and Utilities

Part 1 of 2, p. 1 to 24
None       Next RFC Part

Obsoletes:    1739

Top       ToC       Page 1 
Network Working Group                                         G. Kessler
Request for Comments: 2151                                    S. Shepard
FYI: 30                                            Hill Associates, Inc.
Obsoletes: RFC 1739                                            June 1997
Category: Informational

          A Primer On Internet and TCP/IP Tools and Utilities

Status of this Memo

   This memo provides information for the Internet community.  This memo
   does not specify an Internet standard of any kind.  Distribution of
   this memo is unlimited.


   This memo is an introductory guide to many of the most commonly-
   available TCP/IP and Internet tools and utilities. It also describes
   discussion lists accessible from the Internet, ways to obtain
   Internet and TCP/IP documents, and some resources that help users
   weave their way through the Internet.

Table of Contents

   1. Introduction...................................................  2
   2. Nomenclature...................................................  2
   3. Finding Information About Internet Hosts and Domains...........  3
      3.1. NSLOOKUP..................................................  3
      3.2. Ping......................................................  6
      3.3. Finger....................................................  8
      3.4. Traceroute................................................  9
   4. The Two Fundamental Tools...................................... 12
      4.1. TELNET.................................................... 12
      4.2. FTP....................................................... 15
   5. User Database Lookup Tools..................................... 19
      5.1. WHOIS/NICNAME............................................. 19
      5.2. KNOWBOT................................................... 23
   6. Information Servers............................................ 24
      6.1. Archie.................................................... 24
      6.2. Gopher.................................................... 28
      6.3. VERONICA, JUGHEAD, and WAIS............................... 30
   7. The World Wide Web............................................. 31
      7.1. Uniform Resource Locators................................. 34
      7.2. User Directories on the Web............................... 35
      7.3. Other Service Accessible Via the Web...................... 36
   8. Discussion Lists and Newsgroups................................ 37
      8.1. Internet Discussion Lists................................. 37

Top      ToC       Page 2 
      8.2. LISTSERV.................................................. 38
      8.3. Majordomo................................................. 38
      8.4. Usenet.................................................... 39
      8.5 Finding Discussion Lists and Newsgroups.................... 40
   9. Internet Documentation......................................... 41
      9.1. Request for Comments (RFCs)............................... 41
      9.2. Internet Standards........................................ 44
      9.3. For Your Information Documents............................ 45
      9.4. Best Current Practices.................................... 45
      9.5. RARE Technical Reports.................................... 46
   10. Perusing the Internet......................................... 46
   11. Acronyms and Abbreviations.................................... 48
   12. Security Considerations....................................... 49
   13. Acknowledgments............................................... 49
   14. References.................................................... 49
   15. Authors' Address.............................................. 51

1. Introduction

   This memo is an introductory guide to some of the most commonly-
   available TCP/IP and Internet tools and utilities that allow users to
   access the wide variety of information on the network, from
   determining if a particular host is up to viewing a multimedia thesis
   on foreign policy. It also describes discussion lists accessible from
   the Internet, ways to obtain Internet and TCP/IP documents, and some
   resources that help users weave their way through the Internet. This
   memo may be used as a tutorial for individual self-learning, a step-
   by-step laboratory manual for a course, or as the basis for a site's
   users manual. It is intended as a basic guide only and will refer to
   other sources for more detailed information.

2. Nomenclature

   The following sections provide descriptions and detailed examples of
   several TCP/IP utilities and applications, including the reproduction
   of actual sessions using these utilities (with some extraneous
   information removed). Each section describes a single TCP/IP-based
   tool, it's application, and, in some cases, how it works. The text
   description is usually followed by an actual sample session.

   The sample dialogues shown below were obtained from a variety of
   software and hardware systems, including AIX running on an IBM
   RS/6000, Linux on an Intel 486, Multinet TCP/IP over VMS on a VAX,
   and FTP Software's OnNet (formerly PC/TCP) running on a DOS/Windows
   PC. While the examples below can be used as a guide to using and
   learning about the capabilities of TCP/IP tools, the reader should
   understand that not all of these utilities may be found at all TCP/IP
   hosts nor in all commercial software packages. Furthermore, the user

Top      ToC       Page 3 
   interface for different packages will be different and the actual
   command line may appear differently than shown here; this will be
   particularly true for graphical user interfaces running over Windows,
   X-Windows, OS/2, or Macintosh systems. Windows-based sessions are not
   shown in this RFC because of the desire to have a text version of
   this document; in addition, most GUI-based TCP/IP packages obscure
   some of the detail that is essential for understanding what is really
   happening when you click on a button or drag a file. The Internet has
   many exciting things to offer but standardized interfaces to the
   protocols is not yet one of them!  This guide will not provide any
   detail or motivation about the Internet Protocol Suite; more
   information about the TCP/IP protocols and related issues may be
   found in RFC 1180 [29], Comer [6], Feit [7], Kessler [14], and
   Stevens [30].

   In the descriptions below, commands are shown in a Courier font
   (Postscript and HTML versions); items appearing in square brackets
   ([]) are optional, the vertical-bar (|) means "or," parameters
   appearing with no brackets or within curly brackets ({}) are
   mandatory, and parameter names that need to be replaced with a
   specific value will be shown in italics (Postscript and HTML
   versions) or within angle brackets (<>, text version). In the sample
   dialogues, user input is in bold (Postscript and HTML versions) or
   denoted with asterisks (**) in the margin (text version).

3. Finding Information About Internet Hosts and Domains

   There are several tools that let you learn information about Internet
   hosts and domains. These tools provide the ability for an application
   or a user to perform host name/address reconciliation (NSLOOKUP),
   determine whether another host is up and available (PING), learn
   about another host's users (Finger), and learn the route that packets
   will take to another host (Traceroute).


   NSLOOKUP is the name server lookup program that comes with many
   TCP/IP software packages. A user can use NSLOOKUP to examine entries
   in the Domain Name System (DNS) database that pertain to a particular
   host or domain; one common use is to determine a host system's IP
   address from its name or the host's name from its IP address. The
   general form of the command to make a single query is:

      nslookup [IP_address|host_name]

   If the program is started without any parameters, the user will be
   prompted for input; the user can enter either an IP address or host
   name at that time, and the program will respond with the name and

Top      ToC       Page 4 
   address of the default name sever, the name server actually used to
   resolve each request, and the IP address and host name that was
   queried. Exit is used to quit the NSLOOKUP application.

   Three simple queries are shown in the example below:

      1 Requests the address of the host named, the World
      Wide Web server at Hill Associates. As it turns out, this is not
      the true name of the host, but an alias. The full name of the host
      and the IP address are listed by NSLOOKUP.

      2 Requests the address of host, which is the same
      host as in the first query. Note that NSLOOKUP provides a "non-
      authoritative" answer. Since NSLOOKUP just queried this same
      address, the information is still in its cache memory. Rather than
      send additional messages to the name server, the answer is one
      that it remembers from before; the server didn't look up the
      information again, however, so it is not guaranteed to still be
      accurate (because the information might have changed within the
      last few milliseconds!).

      3 Requests the name of the host with the given IP address. The
      result points to the Internet gateway to Australia,

   One additional query is shown in the dialogue below. NSLOOKUP
   examines information that is stored by the DNS. The default NSLOOKUP
   queries examine basic address records (called "A records") to
   reconcile the host name and IP address, although other information is
   also available. In the final query below, for example, the user wants
   to know where electronic mail addressed to the domain
   actually gets delivered, since is not the true name of an
   actual host. This is accomplished by changing the query type to look
   for mail exchange (MX) records by issuing a set type command (which
   must be in lower case). The query shows that mail addressed to is actually sent to a mail server called If
   that system is not available, mail delivery will be attempted to
   first and then to; the order of
   these attempts is controlled by the "preference" value. This query
   also returns the name of the domain's name servers and all associated
   IP addresses.

   The DNS is beyond the scope of this introduction, although more
   information about the concepts and structure of the DNS can be found
   in STD 13/RFC 1034 [19], RFC 1591 [21], and Kessler [16]. The help
   command can be issued at the program prompt for information about
   NSLOOKUP's more advanced commands.

Top      ToC       Page 5 
   TECHNICAL NOTE: There are other tools that might be available on your
   system or with your software for examining the DNS. Alternatives to
   NSLOOKUP include HOST and DIG.

**SMCVAX$ nslookup

  Default Server:


  Non-authoritative answer:

  Name:    munnari.OZ.AU

**> set type=MX
**>  preference = 20, mail exchanger =  preference = 40, mail exchanger =  preference = 60, mail exchanger =  nameserver =  nameserver =  nameserver =  internet address =     internet address = internet address =  internet address =  internet address =

**> exit

Top      ToC       Page 6 
3.2. Ping

   Ping, reportedly an acronym for the Packet Internetwork Groper, is
   one of the most widely available tools bundled with TCP/IP software
   packages.  Ping uses a series of Internet Control Message Protocol
   (ICMP) [22] Echo messages to determine if a remote host is active or
   inactive, and to determine the round-trip delay in communicating with

   A common form of the Ping command, showing some of the more commonly
   available options that are of use to general users, is:

      ping [-q] [-v] [-R] [-c Count] [-i Wait] [-s PacketSize] Host


         -q          Quiet output; nothing is displayed except summary
         lines at startup and completion

         -v          Verbose output, which lists ICMP packets that are
         received in addition to Echo Responses

         -R          Record route option; includes the RECORD_ROUTE
         option in the Echo Request packet and displays the route buffer
         on returned packets

         -c Count    Specifies the number of Echo Requests to be sent
         before concluding test (default is to run until interrupted
         with a control-C)

         -i Wait     Indicates the number of seconds to wait between
         sending each packet (default = 1)

         -s PacketSize    Specifies the number of data bytes to be sent;
         the total ICMP packet size will be PacketSize+8 bytes due to
         the ICMP header (default = 56, or a 64 byte packet)

         Host   IP address or host name of target system

   In the first example below, the user pings the host, requesting that 6 (-c) messages be sent, each
   containing 64 bytes (-s) of user data. The display shows the round-
   trip delay of each Echo message returned to the sending host; at the
   end of the test, summary statistics are displayed.

Top      ToC       Page 7 
   In the second example, the user pings the host,
   requesting that 10 messages be sent in quite mode (-q). In this case,
   a summary is printed at the conclusion of the test and individual
   responses are not listed.

   TECHNICAL NOTE: Older versions of the Ping command, which are still
   available on some systems, had the following general format:

      ping [-s] {IP_address|host_name} [PacketSize] [Count]

   In this form, the optional "-s" string tells the system to
   continually send an ICMP Echo message every second; the optional
   PacketSize parameter specifies the number of bytes in the Echo
   message (the message will contain PacketSize-8 bytes of data; the
   default is 56 bytes of data and a 64 byte message); and the optional
   Count parameter indicates the number of Echo messages to send before
   concluding the test (the default is to run the test continuously
   until interrupted).

**syrup:/home$ ping -c 6 -s 64
  PING ( 64 data bytes
  72 bytes from icmp_seq=0 ttl=240 time=641.8 ms
  72 bytes from icmp_seq=2 ttl=240 time=1072.7 ms
  72 bytes from icmp_seq=3 ttl=240 time=1447.4 ms
  72 bytes from icmp_seq=4 ttl=240 time=758.5 ms
  72 bytes from icmp_seq=5 ttl=240 time=482.1 ms

  --- ping statistics ---
  6 packets transmitted, 5 packets received, 16% packet loss
  round-trip min/avg/max = 482.1/880.5/1447.4 ms

**syrup:/home$ ping -q -c 10
  PING ( 56 data bytes

  --- ping statistics ---

  10 packets transmitted, 8 packets received, 20% packet loss
  round-trip min/avg/max = 217.8/246.4/301.5 ms

Top      ToC       Page 8 
3.3. Finger

   The Finger program may be used to find out who is logged in on
   another system or to find out detailed information about a specific
   user. This command has also introduced a brand new verb; fingering
   someone on the Internet is not necessarily a rude thing to do!  The
   Finger User Information Protocol is described in RFC 1288 [32]. The
   most general format of the Finger command is:

      finger [username]@host_name

   The first example below shows the result of fingering an individual
   user at a remote system. The first line of the response shows the
   username, the user's real name, their process identifier,
   application, and terminal port number. Additional information may be
   supplied at the option of the user in "plan" and/or "project" files
   that they supply; these files are often named PLAN.TXT or
   PROJECT.TXT, respectively, and reside in a user's root directory (or
   somewhere in an appropriate search path).

   The second example shows the result of fingering a remote system.
   This lists all of the processes currently running at the fingered
   system or other information, depending upon how the remote system's
   administrator set up the system to respond to the Finger command.

**C:> finger
  KUMQUAT  Gary Kessler            KUMQUAT not logged in
  Last login Fri 16-Sep-1996 3:47PM-EDT


  Gary C. Kessler
  Adjunct Faculty Member, Graduate College



**C:> finger
  Tuesday, September 17, 1996 10:12AM-EDT   Up 30 09:40:18
  5+1 Jobs on SMCVAX  Load ave  0.16 0.19 0.21

Top      ToC       Page 9 
   User    Personal Name     Subsys       Terminal  Console Location
  GOODWIN  Dave Goodwin      LYNX           6.NTY2
  JAT      John Tronoan      TELNET         1.TXA5
  HELPDESK System Manager    EDT         2:08.NTY4  []
  SMITH    Lorraine Smith    PINE            .NTY3  []
  SYSTEM   System Manager    MAIL          23.OPA0  The VAX Console
                              *DCL*     SMCVX1$OPA0  The VAX Console

3.4. Traceroute

   Traceroute is another common TCP/IP tool, this one allowing users to
   learn about the route that packets take from their local host to a
   remote host. Although used often by network and system managers as a
   simple, yet powerful, debugging tool, traceroute can be used by end
   users to learn something about the ever-changing structure of the

   The classic Traceroute command has the following general format
   (where "#" represents a positive integer value associated with the

     traceroute [-m #] [-q #] [-w #] [-p #] {IP_address|host_name}

            -m   is the maximum allowable TTL value, measured as
            the number of hops allowed before the program terminates
            (default = 30)
            -q   is the number of UDP packets that will be sent with
            each time-to-live setting (default = 3)
            -w   is the amount of time, in seconds, to wait for
            an answer from a particular router before giving up
            (default= 5)
            -p   is the invalid port address at the remote host
            (default = 33434)

   The Traceroute example below shows the route between a host at St.
   Michael's College (domain and a host at Hill Associates
   (, both located in Colchester, VT but served by
   different Internet service providers (ISP).

Top      ToC       Page 10 
      1 St. Michael's College is connected to the Internet via BBN
      Planet; since the mid-1980s, BBN operated the NSF's regional ISP,
      called the New England Academic and Research Network (NEARNET),
      which was renamed in 1994. The first hop, then, goes to St. Mike's
      BBN Planet gateway router ( The next hop goes
      to another BBN Planet router (denoted here only by IP address
      since a name was not assigned to the device), until the packet
      reaches the BBN Planet T3 backbone.

      2 The packet takes two hops through routers at BBN Planet's
      Cambridge (MA) facility and is then forwarded to BBN Planet in New
      York City, where the packet takes four more hops. The packet is
      then forwarded to BBN Planet in College Park (MD).

      3 The packet is sent to BBN Planet's router at MAE-East, MFS
      Datanet's Network Access Point (NAP) in Washington, D.C. MAE
      stands for Metropolitan Area Exchange, and is a Fiber Distributed
      Data Interface (FDDI) ring interconnecting routers from
      subscribing ISPs. The packet is then forwarded to NETCOM, Hill
      Associates' ISP.

      4 The packet now travels through NETCOM's T3 backbone, following
      links from Washington, D.C. to Chicago to Santa Clara (CA), to San
      Jose (CA).

      5 The packet is now sent to Hill Associates router (again, a
      system designated only by an IP address since the NETCOM side of
      the router was not named) and then passed to the target system.
      Note that the host's real name is not, but

   TECHNICAL NOTE: The original version of Traceroute works by sending a
   sequence of User Datagram Protocol (UDP) datagrams to an invalid port
   address at the remote host. Using the default settings, three
   datagrams are sent, each with a Time-To-Live (TTL) field value set to
   one. The TTL value of 1 causes the datagram to "timeout" as soon as
   it hits the first router in the path; this router will then respond
   with an ICMP Time Exceeded Message (TEM) indicating that the datagram
   has expired. Another three UDP messages are now sent, each with the
   TTL value set to 2, which causes the second router to return ICMP

Top      ToC       Page 11 
   TEMs. This process continues until the packets actually reach the
   other destination. Since these datagrams are trying to access an
   invalid port at the destination host, ICMP Destination Unreachable
   Messages are returned indicating an unreachable port; this event
   signals the Traceroute program that it is finished!  The Traceroute
   program displays the round-trip delay associated with each of the
   attempts. (Note that some current implementations of Traceroute use
   the Record-Route option in IP rather than the method described

   As an aside, Traceroute did not begin life as a general-purpose
   utility, but as a quick-and-dirty debugging aid used to find a
   routing problem.  The code (complete with comments!) is available by
   anonymous FTP in the file traceroute.tar.Z from the host (See Section 4.2 for a discussion of anonymous FTP.)

**SMCVAX$ traceroute
  traceroute to (, 30 hops max, 38 byte
   1 (  10 ms  0 ms  0 ms
   2 (  0 ms  10 ms  10 ms
   3 (  40 ms  40 ms  50 ms
   4 (  30 ms  50 ms  50 ms
   5 (  60 ms  60 ms  40 ms
   6 (  60 ms  50 ms  60 ms
   7 (  60 ms  40 ms  50 ms
   8 (  70 ms  60 ms  30 ms
   9 (  50 ms  50 ms  40 ms
  10 (  200 ms  170 ms  210 ms
  11 (  60 ms  50 ms  70 ms
  12 (  70 ms  60 ms  50 ms
  13 (  70 ms  80 ms  80 ms
  14 (  140 ms  110 ms  160
  15 (  120 ms  130 ms  120
  16 (  220 ms  260 ms  240 ms
  17 (  220 ms  240 ms  219 ms

Top      ToC       Page 12 
4. The Two Fundamental Tools

   The two most basic tools for Internet applications are TELNET and the
   File Transfer Protocol (FTP). TELNET allows a user to login to a
   remote host over a TCP/IP network, while FTP, as the name implies,
   allows a user to move files between two TCP/IP hosts. These two
   utilities date back to the very early days of the ARPANET.


   TELNET [27] is TCP/IP's virtual terminal protocol. Using TELNET, a
   user connected to one host can login to another host, appearing like
   a directly-attached terminal at the remote system; this is TCP/IP's
   definition of a virtual terminal. The general form of the TELNET
   command is:

      telnet [IP_address|host_name] [port]

   As shown, a TELNET connection is initiated when the user enters the
   telnet command and supplies either a host_name or IP_address; if
   neither are given, TELNET will ask for one once the application

   In the example below, a user of a PC uses TELNET to attach to the
   remote host Once logged in via TELNET, the user can
   do anything on the remote host that would be possible if connected
   via a directly-attached terminal or via modem. The commands that are
   subsequently used are those available on the remote system to which
   the user is attached. In the sample dialogue below, the user attached
   to SMCVAX will use basic VAX/VMS commands:

      o The dir command lists the files having a "COM" file extension.
      o The mail command enters the VMS MAIL subsystem; the dir command
      here lists waiting mail.
      o Ping checks the status of another host.

   When finished, the logout command logs the user off the remote host;
   TELNET automatically closes the connection to the remote host and
   returns control to the local system.

   It is important to note that TELNET is a very powerful tool, one that
   may provide users with access to many Internet utilities and services
   that might not be otherwise available. Many of these features are
   accessed by specifying a port number with the TELNET command, in
   addition to a host's address, and knowledge of port numbers provides
   another mechanism for users to access information with TELNET.

Top      ToC       Page 13 
   This guide discusses several TCP/IP and Internet utilities that require
   local client software, such as Finger, Whois, Archie, and Gopher. But
   what if your software does not include a needed client?  In some cases,
   TELNET may be used to access a remote client and provide the same

   This is done by specifying a port number with the TELNET command. Just
   as TCP/IP hosts have a unique IP address, applications on the host are
   associated with an address, called a port. Finger (see Section 3.3
   above), for example, is associated with the well-known port number 79.
   In the absence of a Finger client, TELNETing to port 79 at a remote host
   may provide the same information. You can finger another host with
   TELNET by using a command like:

                            telnet host_name 79

   Other well-known TCP port numbers include 25 (Simple Mail Transfer
   Protocol), 43 (whois), 80 (Hypertext Transfer Protocol), and 119
   (Network News Transfer Protocol).

   Some services are available on the Internet using TELNET and special
   port numbers. A geographical information database, for example, may
   be accessed by TELNETing to port 3000 at host
   and current weather information is available at port 3000 at host

**C:> telnet
  FTP Software PC/TCP tn 3.10 01/24/95 02:40
  Copyright (c) 1986-1995 by FTP Software, Inc. All rights reserved

  - Connected to St. Michael's College -

**Username: kumquat

  St. Michael's College VAX/VMS System.
  Node SMCVAX.

      Last interactive login on Monday, 16-SEP-1996 15:47
      Last non-interactive login on Wednesday,  6-MAR-1996 08:19

              You have 1 new Mail message.

  Good Afternoon User KUMQUAT.  Logged in on 17-SEP-1996 at 1:10 PM.

  User [GUEST,KUMQUAT] has 3225 blocks used, 6775 available,
  of 10000 authorized and permitted overdraft of 100 blocks on $1$DIA2

Top      ToC       Page 14 
  To see a complete list of news items, type: NEWS DIR
  To read a particular item, type NEWS followed by
  the name of the item you wish to read.

**SMCVAX$ dir *.com
  Directory $1$DIA2:[GUEST.KUMQUAT]
  BACKUP.COM;24         24  16-JUL-1990 16:22:46.68  (RWED,RWED,RE,)
  DELTREE.COM;17         3  16-JUL-1990 16:22:47.58  (RWED,RWED,RE,)
  EXPANDZ.COM;7          2  22-FEB-1993 10:00:04.35  (RWED,RWED,RE,)
  FTSLOGBLD.COM;3        1  16-JUL-1990 16:22:48.57  (RWED,RWED,RE,)
  FTSRRR.COM;2           1  16-JUL-1990 16:22:48.73  (RWED,RWED,RE,)
  LOGIN.COM;116          5   1-DEC-1993 09:33:21.61  (RWED,RWED,RE,)
  SNOOPY.COM;6           1  16-JUL-1990 16:22:52.06  (RWED,RWED,RE,)
  SYLOGIN.COM;83         8  16-JUL-1990 16:22:52.88  (RWED,RWED,RE,RE)
  SYSTARTUP.COM;88      15  16-JUL-1990 16:22:53.21  (RWED,RWED,RE,)
  WATCH_MAIL.COM;1     173  10-MAY-1994 09:59:52.65  (RWED,RWED,RE,)
  Total of 10 files, 233 blocks.

**SMCVAX$ mail
  You have 1 new message.
**MAIL> dir
    # From                 Date        Subject
    1 IN%"ibug@plainfield. 15-SEP-1996 ANNOUNCE: Burlington WWW Conference
**MAIL> exit

**SMCVAX$ ping /n=5
  PING HILL.COM ( 56 data bytes
  64 bytes from icmp_seq=0 time=290 ms
  64 bytes from icmp_seq=1 time=260 ms
  64 bytes from icmp_seq=2 time=260 ms
  64 bytes from icmp_seq=3 time=260 ms
  64 bytes from icmp_seq=4 time=260 ms

  ----KESTREL.HILL.COM PING Statistics----
  5 packets transmitted, 5 packets received, 0% packet loss
  round-trip (ms)  min/avg/max = 260/266/290

**SMCVAX$ logout
    KUMQUAT      logged out at 17-SEP-1996 13:17:04.29

  Connection #0 closed

Top      ToC       Page 15 
4.2. FTP

   FTP [26] is one of the most useful and powerful TCP/IP utilities for
   the general user. FTP allows users to upload and download files
   between local and remote hosts. Anonymous FTP, in particular, is
   commonly available at file archive sites to allow users to access
   files without having to pre-establish an account at the remote host.
   TELNET might, in fact, be used for this purpose but TELNET gives the
   user complete access to the remote system; FTP limits the user to
   file transfer activities.

   The general form of the FTP command is:

         ftp [IP_address|host_name]

   An FTP session can be initiated in several ways. In the example shown
   below, an FTP control connection is initiated to a host (the Defense
   Data Network's Network Information Center) by supplying a host name
   with the FTP command; optionally, the host's IP address in dotted
   decimal (numeric) form could be used. If neither host name nor IP
   address are supplied in the command line, a connection to a host can
   be initiated by typing open host_name or open IP_address once the FTP
   application has been started.

   The remote host will ask for a username and password. If a bona fide
   registered user of this host supplies a valid username and password,
   then the user will have access to any files and directories to which
   this username has privilege. For anonymous FTP access, the username
   anonymous is used. Historically, the password for the anonymous user
   (not shown in actual use) has been guest, although most systems today
   ask for the user's Internet e-mail address (and several sites attempt
   to verify that packets are coming from that address before allowing
   the user to login).

   The "help ?" command may be used to obtain a list of FTP commands and
   help topics available with your software; although not always shown,
   nearly all TCP/IP applications have a help command. An example of the
   help for FTP's type command is shown in the sample dialogue. This
   command is very important one, by the way; if transferring a binary
   or executable file, be sure to set the type to image (or binary on
   some systems).

   The dir command provides a directory listing of the files in the
   current directory at the remote host; the UNIX ls command may also
   usually be used. Note that an FTP data transfer connection is
   established for the transfer of the directory information to the
   local host. The output from the dir command will show a file listing
   that is consistent with the native operating system of the remote

Top      ToC       Page 16 
   host. Although the TCP/IP suite is often associated with UNIX, it can
   (and does) run with nearly all common operating systems. The
   directory information shown in the sample dialogue happens to be in
   UNIX format and includes the following information:

      o File attributes. The first character identifies the type of file
      entry as a directory (d), link or symbolic name (l), or individual
      file (-). The next nine characters are the file access permissions
      list; the first three characters are for the owner, the next three
      for the owner's group, and the last three for all other users.
      Three access privileges may be assigned to each file for each of
      these roups: read (r), write (w), and execute (x).
      o Number of entries, or hard links, in this structure. This value
      will be a "1" if the entry refers to a file or link, or will be
      the number of files in the listed directory.
      o File owner
      o File owner's group.
      o File size, in bytes.
      o Date and time of last modification. If the date is followed by a
      timestamp, then the date is from the current year.
      o File name.

   After the directory information has been transferred, FTP closes the
   data transfer connection.

   The command cd is used to change to another working directory, in
   this case the rfc directory (note that file and directory names may
   be case-sensitive). As in DOS, "cd .." will change to the parent of
   the current directory. The CWD command successful is the only
   indication that the user's cd command was correctly executed; the
   show-directory (may be truncated to fewer characters, as shown)
   command, if available, may be used to see which working directory you
   are in.

   Another dir command is used to find all files with the name
   rfc173*.txt; note the use of the * wildcard character. We can now
   copy (download) the file of choice (RFC 1739 is the previous version
   of this primer) by using the get (or receive) command, which has the
   following general format:

      get remote_file_name local_file_name

   FTP opens another data transfer connection for this file transfer
   purpose; note that the effective data transfer rate is 93.664 kbps.

   FTP's put (or send) command allows uploading from the local host to
   the remote. Put is often not available when using anonymous FTP.

Top      ToC       Page 17 
   Finally, we terminate the FTP connection by using the close command.
   The user can initiate another FTP connection using the open command
   or can leave FTP by issuing a quit command. Quit can also be used to
   close a connection and terminate a session.

   TECHNICAL NOTE: It is important to note that different FTP packages
   have different commands available and even those with similar names
   may act differently. In the example shown here (using MultiNet for
   VMS), the show command will display the current working directory; in
   FTP Software's OnNet, show will display a file from the remote host
   at the local host. Some packages have nothing equivalent to either of
   these commands.

**SMCVAX$ ftp
  SMCVAX.SMCVT.EDU MultiNet FTP user process 3.4(111)
  Connection opened (Assuming 8-bit connections)
  <*****Welcome to the DOD Network Information Center*****
  <    *****Login with username "anonymous" and password "guest"
**Username: anonymous
  <Guest login ok, send "guest" as password.
**Password: guest                             <--- Not displayed
  <Guest login ok, access restrictions apply.

**NIC.DDN.MIL> help type
       Set the transfer type to type.

         TYPE   type

    Additional information available:
    Parameters Example    Restrictions

**TYPE Subtopic? parameters


         Specify a value of ASCII, BACKUP, BINARY, IMAGE or LOGICAL-

         Use TYPE ASCII (the default) for transferring text files.

         Use TYPE BACKUP to set the transfer type to IMAGE and write the
         local file with 2048-byte fixed length records. Use this
         command to transfer VAX/VMS BACKUP save sets.

Top      ToC       Page 18 
         Use TYPE BINARY to transfer binary files (same as TYPE IMAGE).

         Use TYPE IMAGE to transfer binary files (for example, .EXE).

         Use TYPE LOGICAL-BYTE to transfer binary files to or from a
         TOPS-20 machine.

**TYPE Subtopic?

**NIC.DDN.MIL> dir
  <Opening ASCII mode data connection for /bin/ls.
  total 58
  drwxr-xr-x  2 nic      1             512 Sep 16 23:00 bcp
  drwxr-xr-x  2 root     1             512 Mar 19  1996 bin
  drwxr-xr-x  2 nic      1            1536 Jul 15 23:00 ddn-news
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 demo
  drwxr-xr-x  2 nic      1             512 Mar 25 14:25 dev
  drwxr-xr-x  2 nic      10            512 Mar 19  1996 disn_info
  drwxr-xr-x  2 nic      1             512 Sep 17 07:01 domain
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 etc
  lrwxrwxrwx  1 nic      1               3 Mar 19  1996 fyi -> rfc
  drwxr-xr-x  2 nic      10           1024 Sep 16 23:00 gosip
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 home
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 lost+found
  lrwxrwxrwx  1 nic      1               8 Mar 19  1996 mgt -> ddn-news
  drwxr-xr-x  2 nic      1            1024 Sep 13 12:11 netinfo
  drwxr-xr-x  4 nic      1             512 May  3 23:00 netprog
  drwxr-xr-x  2 nic      1            1024 Mar 19  1996 protocols
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 pub
  drwxr-xr-x  3 140      10            512 Aug 27 21:03 registrar
  drwxr-xr-x  2 nic      1           29696 Sep 16 23:00 rfc
  drwxr-xr-x  2 nic      1            5632 Sep  9 23:00 scc
  drwxr-xr-x  2 nic      1            1536 Sep 16 23:00 std
  drwxr-xr-x  2 nic      1            1024 Sep 16 23:00 templates
  drwxr-xr-x  3 nic      1             512 Mar 19  1996 usr
  <Transfer complete.

  1437 bytes transferred at 33811 bps.
  Run time = 20. ms, Elapsed time = 340. ms.

**NIC.DDN.MIL> cd rfc
  <CWD command successful.

**NIC.DDN.MIL> show
  <"/rfc" is current directory.

**NIC.DDN.MIL> dir rfc173*.txt

Top      ToC       Page 19 
  <Opening ASCII mode data connection for /bin/ls.
  -rw-r--r--  1 nic      10         156660 Dec 20  1994 rfc1730.txt
  -rw-r--r--  1 nic      10          11433 Dec 20  1994 rfc1731.txt
  -rw-r--r--  1 nic      10           9276 Dec 20  1994 rfc1732.txt
  -rw-r--r--  1 nic      10           6205 Dec 20  1994 rfc1733.txt
  -rw-r--r--  1 nic      10           8499 Dec 20  1994 rfc1734.txt
  -rw-r--r--  1 nic      10          24485 Sep 15  1995 rfc1735.txt
  -rw-r--r--  1 nic      10          22415 Feb  8  1995 rfc1736.txt
  -rw-r--r--  1 nic      10          16337 Dec 15  1994 rfc1737.txt
  -rw-r--r--  1 nic      10          51348 Dec 15  1994 rfc1738.txt
  -rw-r--r--  1 nic      10         102676 Dec 21  1994 rfc1739.txt
  <Transfer complete.
  670 bytes transferred at 26800 bps.
  Run time = 10. ms, Elapsed time = 200. ms.

**NIC.DDN.MIL> get rfc1739.txt primer.txt
  <Opening ASCII mode data connection for rfc1739.txt (102676 bytes).
  <Transfer complete.
  105255 bytes transferred at 93664 bps.
  Run time = 130. ms, Elapsed time = 8990. ms.

**NIC.DDN.MIL> quit

5. User Database Lookup Tools

   Finding other users on the Internet is an art, not a science.
   Although there is a distributed database listing all of the 16+
   million hosts on the Internet, no similar database yet exists for the
   tens of millions of users. While many commercial ISPs provide
   directories of the users of their network, these databases are not
   yet linked. The paragraphs below will discuss some of the tools
   available for finding users on the Internet.


   WHOIS and NICNAME are TCP/IP applications that search databases to
   find the name of network and system administrators, RFC authors,
   system and network points-of-contact, and other individuals who are
   registered in appropriate databases. The original NICNAME/WHOIS
   protocol is described in RFC 954 [10].

   WHOIS may be accessed by TELNETing to an appropriate WHOIS server and
   logging in as whois (no password is required); the most common
   Internet name server is located at the Internet Network Information
   Center (InterNIC) at This specific database only

Top      ToC       Page 20 
   contains INTERNET domains, IP network numbers, and domain points of
   contact; policies governing the InterNIC database are described in
   RFC 1400 [31].  The MILNET database resides at and PSI's
   White Pages pilot service is located at

   Many software packages contain a WHOIS/NICNAME client that
   automatically establishes the TELNET connection to a default name
   server database, although users can usually specify any name server
   database that they want.

   The accompanying dialogues shows several types of WHOIS/NICNAME
   information queries. In the session below, we request information
   about an individual (Denis Stratford) by using WHOIS locally, a
   specific domain ( by using NICNAME locally, and a network
   address ( and high-level domain (com) using TELNET to a
   WHOIS server.


**SMCVAX$ whois stratford, denis
  Stratford, Denis (DS378)      denis@@SMCVAX.SMCVT.EDU
     St. Michael's College
     Jemery Hall, Room 274
     Winooski Park
     Colchester, VT 05439
     (802) 654-2384

     Record last updated on 02-Nov-92.

**C:> nicname
  Hill Associates (HILL-DOM)
     17 Roosevelt Hwy.
     Colchester, Vermont 05446

     Domain Name: HILL.COM

     Administrative Contact:
        Kessler, Gary C.  (GK34)  g.kessler@HILL.COM
     Technical Contact, Zone Contact:
        Monaghan, Carol A.  (CAM4)  c.monaghan@HILL.COM

Top      ToC       Page 21 
     Billing Contact:
        Parry, Amy  (AP1257)  a.parry@HILL.COM

     Record last updated on 11-Jun-96.
     Record created on 11-Jan-93.

     Domain servers in listed order:


**C:> telnet
  SunOS UNIX 4.1 (rs1) (ttypb)

  * -- InterNIC Registration Services Center  --
  * For wais, type:                    WAIS <search string> <return>
  * For the *original* whois type:     WHOIS [search string] <return>
  * For referral whois type:           RWHOIS [search string] <return>
  Please be advised that use constitutes consent to monitoring
  (Elec Comm Priv Act, 18 USC 2701-2711)

**[vt220] InterNIC > whois
  InterNIC WHOIS Version: 1.2 Wed, 18 Sep 96 09:49:50

  Hill Associates (NET-HILLASSC)
     17 Roosevelt Highway
     Colchester, VT  05446

     Netname: HILLASSC

        Monaghan, Carol A.  (CAM4)  c.monaghan@HILL.COM

     Record last updated on 17-May-94.

Top      ToC       Page 22 
**Whois: com-dom
  Commercial top-level domain (COM-DOM)
     Network Solutions, Inc.
     505 Huntmar park Dr.
     Herndon, VA 22070

     Domain Name: COM

     Administrative Contact, Technical Contact, Zone Contact:
        Network Solutions, Inc.  (HOSTMASTER)  hostmaster@INTERNIC.NET
        (703) 742-4777 (FAX) (703) 742-4811

     Record last updated on 02-Sep-94.
     Record created on 01-Jan-85.

     Domain servers in listed order:


**Would you like to see the known domains under this top-level domain? n

**Whois: exit

**[vt220] InterNIC > quit

  Wed Sep 18 09:50:29 1996 EST

  Connection #0 closed

Top      ToC       Page 23 

   KNOWBOT is an automated username database search tool that is related
   to WHOIS. The Knowbot Information Service (KIS), operated by the
   Corporation for National Research Initiatives (CNRI) in Reston,
   Virginia, provides a simple WHOIS-like interface that allows users to
   query several Internet user databases (White Pages services) all at
   one time. A single KIS query will automatically search the InterNIC,
   MILNET, MCImail, and PSI White Pages Pilot Project; other databases
   may also be included.

   KNOWBOT may be accessed by TELNETing to host
   The help command will supply sufficient information to get started.
   The sample dialogue below shows use of the query command to locate a
   user named "Steven Shepard"; this command automatically starts a
   search through the default set of Internet databases.

**C:> telnet

                  Knowbot Information Service

  KIS Client (V2.0).    Copyright CNRI 1990.    All Rights Reserved.

  KIS searches various Internet directory services
  to find someone's street address, email address and phone number.

  Type 'man' at the prompt for a complete reference with examples.
  Type 'help' for a quick reference to commands.
  Type 'news' for information about recent changes.

  Please enter your email address in our guest book...
**(Your email address?) >

**> query shepard, steven
  Trying whois at
  The whois server is being queried:
  Nothing returned.

  The whois server is being queried:

  Shepard, Steven (SS2192)  708-810-5215
  Shepard, Steven (SS1302)  axisteven@AOL.COM  (954)  974-4569

Top      ToC       Page 24 
  The whois server is being queried:

  Shepard, Steven (SS2192)
     R.R. Donnelley & Sons
     750 Warrenville Road
     Lisle, IL 60532
  Trying mcimail at
  Trying ripe at
  Trying whois at

  No match found for .SHEPARD,STEVEN

**> quit
  KIS exiting
  Connection #0 closed

(page 24 continued on part 2)

Next RFC Part