Network Working Group G. Kessler Request for Comments: 1739 S. Shepard Category: Informational Hill Associates, Inc. December 1994 A Primer On Internet and TCP/IP Tools 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. Table of Contents 1. Introduction .................................................. 2 2. A Beginner's Guide to TCP/IP-based Utilities and Applications . 2 2.1. NSLOOKUP .................................................... 3 2.2. PING ........................................................ 5 2.3. FINGER ...................................................... 6 2.4. TRACEROUTE .................................................. 7 2.5. FTP ......................................................... 10 2.6. TELNET ...................................................... 14 2.7. User Database Lookup Tools .................................. 17 2.7.1. WHOIS/NICNAME ............................................. 17 2.7.2. KNOWBOT ................................................... 20 2.7.3. NETFIND ................................................... 21 2.8. Information Servers ......................................... 24 2.8.1. ARCHIE .................................................... 24 2.8.2. GOPHER .................................................... 27 2.8.3. Other Information Servers ................................. 30 2.9. Uniform Resource Locator Format ............................. 31 3. Distribution Lists and Mailing Lists .......................... 32 3.1. Internet Discussion Lists ................................... 33 3.2. Usenet ...................................................... 33 3.3. BITNET/EARN ................................................. 35 4. Internet Documentation ........................................ 36 4.1. Request for Comments (RFCs) ................................. 36 4.2. Internet Standards .......................................... 38 4.3. For Your Information Documents .............................. 39 4.4. RARE Technical Reports ...................................... 40 5. Perusing the Internet ......................................... 40 6. Acronyms and Abbreviations .................................... 42 7. Security Considerations ....................................... 43 8. Acknowledgements .............................................. 43 9. References .................................................... 43 10. Authors' Addresses ........................................... 46 Kessler & Shepard [Page 1] RFC 1739 Primer on Internet & TCP/IP Tools December 1994 1. Introduction This memo is an introductory guide to some of the 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 documents, and 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. A Beginner's Guide to TCP/IP-based Utilities and Applications This section provides descriptions and detailed examples of several TCP/IP utilities and applications, including actual sessions using these utilities (with some extraneous information removed). Each section below describes a single TCP/IP-based tool, it's application, and, in some cases, how it works. The text description is followed by an actual sample session. The sample dialogues shown below were made using the Multinet TCP/IP software for VAX/VMS or DOS versions of FTP Software's PC/TCP. While the examples below can be used as a guide to using and learning about the capabilities of these 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 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. 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 [18], Comer [22], Feit [23], and Kessler [30]. In the commands shown in the descriptions below, any item appearing in square brackets ([]) is optional and the vertical-bar (|) means "or"; parameters appearing with no brackets or within curly brackets ({}) are mandatory. In the sample dialogues, most user input is in capital letters (only where allowed) and lines containing user input are designated with a "**" in the far-left margin. AUTHOR'S NOTE: The sample dialogues are easier to read in the secondary, Postscript version of this RFC. Kessler & Shepard [Page 2] RFC 1739 Primer on Internet & TCP/IP Tools December 1994 2.1. NSLOOKUP 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 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 "emily.uvm.edu", a system at the University of Vermont (UVM). As it turns out, this is not the true name of the host, but a shortened version of the name that is accepted as an alias by the network. The full name of the host and the IP address are listed by NSLOOKUP. 2. Requests the address of host "emily.emba.uvm.edu", 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, "munnari.oz.au". 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 "uvm.edu" domain actually gets delivered, since "uvm.edu" is not the name of an actual host. This is accomplished by changing the query type to look for Kessler & Shepard [Page 3] RFC 1739 Primer on Internet & TCP/IP Tools December 1994 mail exchange (MX) records by issuing a "set type" command (which must be in lower case). The query shows that mail addressed to "uvm.edu" is handled though a mail server called "moose.uvm.edu". 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 [12] and RFC 1591 [13]. The "help" command can be issued at the program prompt for information about NSLOOKUP's more advanced commands. 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: LOCALHOST Address: 127.0.0.1 ** > EMILY.UVM.EDU Server: LOCALHOST Address: 127.0.0.1 Name: emily.emba.uvm.edu Address: 132.198.1.7 Aliases: emily.uvm.edu ** > EMILY.EMBA.UVM.EDU Server: LOCALHOST Address: 127.0.0.1 Non-authoritative answer: Name: emily.emba.uvm.edu Address: 132.198.1.7 ** > 128.250.1.21 Server: LOCALHOST Address: 127.0.0.1 Name: munnari.OZ.AU Address: 128.250.1.21 ** > set type=MX ** > UVM.EDU Server: LOCALHOST Address: 127.0.0.1 uvm.edu preference = 10, mail exchanger = moose.uvm.edu Kessler & Shepard [Page 4] RFC 1739 Primer on Internet & TCP/IP Tools December 1994 moose.uvm.edu internet address = 132.198.101.60 ** > EXIT SMCVAX$ ================================================================== 2.2. PING Ping is one of the most widely available tools bundled with TCP/IP software packages. Ping uses a series of Internet Control Message Protocol (ICMP) Echo messages to determine if a remote host is active or inactive, and to determine the round-trip delay in communicating with it. The Ping command, referred to as the Packet Internetwork Groper in some references, has the following general format: PING [-s] {IP_address | host_name} [size] [quantity] In the first test below, we ping the host "thumper.bellcore.com" to determine whether it is up and running. This simple use of the command contains no optional parameters. In the second test, the "-s" parameter tells the system to send an ICMP Echo message every second. The optional "size" parameter specifies that each message should be 64 bytes in length (which is the default size); the optional "quantity" parameter indicates that this test will only send 12 messages (the default is to run the test continuously until interrupted). The results of the second test displays the round-trip delay of each Echo message that is returned to the sending host; at the end of the test, summary statistics are displayed. ================================================================== ** SMCVAX$ PING THUMPER.BELLCORE.COM thumper.bellcore.com is alive ** SMCVAX$ PING -S THUMPER.BELLCORE.COM 64 12 PING THUMPER.BELLCORE.COM (128.96.41.1): 56 data bytes 64 bytes from 128.96.41.1: icmp_seq=0 time=150 ms 64 bytes from 128.96.41.1: icmp_seq=1 time=110 ms 64 bytes from 128.96.41.1: icmp_seq=2 time=130 ms 64 bytes from 128.96.41.1: icmp_seq=3 time=130 ms 64 bytes from 128.96.41.1: icmp_seq=4 time=320 ms 64 bytes from 128.96.41.1: icmp_seq=5 time=110 ms 64 bytes from 128.96.41.1: icmp_seq=6 time=440 ms 64 bytes from 128.96.41.1: icmp_seq=7 time=90 ms 64 bytes from 128.96.41.1: icmp_seq=9 time=100 ms 64 bytes from 128.96.41.1: icmp_seq=10 time=110 ms Kessler & Shepard [Page 5] RFC 1739 Primer on Internet & TCP/IP Tools December 1994 ----THUMPER.BELLCORE.COM PING Statistics---- 12 packets transmitted, 10 packets received, 16% packet loss round-trip (ms) min/avg/max = 90/169/440 SMCVAX$ ================================================================== 2.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 [20]. 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. Kessler & Shepard [Page 6] RFC 1739 Primer on Internet & TCP/IP Tools December 1994 ================================================================== ** C:\> FINGER KUMQUAT@SMCVAX.SMCVT.EDU [smcvax.smcvt.edu] KUMQUAT Gary Kessler 20A02991 MAIL TXA3 Last login Fri 15-Jul-1994 2:59 PM-EDT Plan: ----------------------------------------------------------------- Gary C. Kessler Adjunct Faculty Member, Graduate College Senior Member of Technical Staff Hill Associates +1 802-655-8633 or 655-0940 (office) 17 Roosevelt Highway +1 802-655-7974 (fax) Colchester, VT 05446 +1 802-879-5242 (home) INTERNET: kumquat@smcvax.smcvt.edu or kumquat@hill.com ----------------------------------------------------------------- ** C:\> FINGER @SMCVAX.SMCVT.EDU [smcvax.smcvt.edu] Friday, July 15, 1994 4:00PM-EDT Up 21 03:41:31 7+0 Jobs on SMCVAX Load ave 0.24 0.31 0.25 User Personal Name Subsys DENIS Denis Stratford MAIL GOODWIN Dave Goodwin RTPAD JAT John Trono EDT KUMQUAT Gary Kessler MAIL INFO SMC Info Service TELNET SYSTEM System Manager *DCL* SMITH Jim Smith LYNX C:\> ================================================================ 2.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 aid, traceroute can be used by end users to learn something about the structure of the Internet. The Traceroute command has the following general format (where "#" represents a positive integer value associated with the qualifier): TRACEROUTE [-m #] [-q #] [-w #] [-p #] {IP_address | host_name} Kessler & Shepard [Page 7] RFC 1739