@c -*-tex-*-
@node Tools
@chapter Various Tools
@menu
@end menu

New and interesting ways to use the Internet are being dreamed up
every day.  As they gain wide-spread use, some methods become
near-standard (or actual written standard) tools for Internet users to
take advantage of.  A few are detailed here; there are undoubtedly
others, and new ideas spring up all the time.  An active user of the
Internet will discover most of the more common ones in time.  Usually,
these services are free.  @xref{Commercial Services} for applications
that are commercially available over the Internet.

Usenet is often used to announce a new service or capability on
the Internet.  In particular, the groups @code{comp.archives} and
@code{comp.protocols.tcp-ip} are good places to look.  Information
will drift into other areas as word spreads.  @xref{Usenet News} for
information on reading news.

@node Finger, Ping, Whois, Tools
@section Finger
@cindex finger

On many systems there exists the @samp{finger} command, which yield
information about each user that's currently logged in.  This command
also has extensions for use over the Internet, as well.  Under normal
circumstances, the command is simply @samp{finger} for a summary of
who's logged into the local system, or @samp{finger @var{username}}
for specific information about a user. It's also possible to go one
step further and go onto the network.  The general usage is

@smallexample
finger @@@var{hostname}
@end smallexample

@noindent
To see who's currently logged in at Widener University, for instance, use

@smallexample
@group
% finger @@cs.widener.edu
[cs.widener.edu]
Login       Name              TTY Idle    When            Where
brendan  Brendan Kehoe         p0      Fri 02:14  tattoo.cs.widene
sven     Sven Heinicke         p1      Fri 04:16  xyplex3.cs.widen
@end group
@end smallexample

@noindent
To find out about a certain user, they can be fingered specifically
(and need not be logged in):

@smallexample
@group
% finger bart@@cs.widener.edu
[cs.widener.edu]
Login name: bart                        In real life: Bart Simpson
Directory: /home/springfield/bart       Shell: /bin/underachiever
Affiliation: Brother of Lisa            Home System: channel29.fox.org
Last login Thu May 23 12:14 (EDT) on ttyp6 from channel29.fox.org.
No unread mail
Project: To become a "fluff" cartoon character.
Plan:
Don't have a cow, man.
@end group
@end smallexample

@cindex security
@noindent
Please realize that some sites are very security conscious, and need
to restrict the information about their systems and users available to
the outside world.  To that end, they often block @code{finger}
requests from outside sites---so don't be surprised if fingering a
computer or a user returns with @samp{Connection refused}.

@c @node IRC
@c @section Internet Relay Chat
@c @cindex IRC

@c @node Lamont View Server
@c @section The Lamont View Server System
@c @cindex lamont view server
@c On lamont.ldgo.columbia.edu in pub/gb.tar.Z.

@node Ping
@section Ping
@cindex ping

The @samp{ping} command allows the user to check if another system is
currently ``up'' and running.  The general form of the command
is @samp{ping @var{system}}.@footnote{The usage will, again, vary.}
For example,

@smallexample
ping cs.widener.edu
@end smallexample

@noindent
will tell you if the main machine in Widener University's Computer
Science lab is currently online (we certainly hope so!).@refill

Many implementations of @samp{ping} also include an option to let you
see how fast a link is running (to give you some idea of the load on
the network).  For example:

@smallexample
@group
% ping -s cs.swarthmore.edu
PING cs.swarthmore.edu: 56 data bytes
64 bytes from 130.58.68.1: icmp_seq=0 ttl=251 time=66 ms
64 bytes from 130.58.68.1: icmp_seq=1 ttl=251 time=45 ms
64 bytes from 130.58.68.1: icmp_seq=2 ttl=251 time=46 ms
^C
--- cs.swarthmore.edu ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 45/52/66 ms
@end group
@end smallexample

@noindent
This case tells us that for @samp{cs.swarthmore.edu} it takes about 46
milliseconds for a packet to go from Widener to Swarthmore College and
back again.  It also gives the average and worst-case speeds, and any
packet loss that may have occurred (e.g@. because of network
congestion).

While @samp{ping} generally doesn't hurt network performance, you
shouldn't use it @emph{too} often---usually once or twice will leave
you relatively sure of the other system's state.

@node talk
@section Talk
@cindex talk

Sometimes email is clumsy and difficult to manage when one really
needs to have an interactive conversation.  The Internet provides for
that as well, in the form of @dfn{talk}. Two users can literally see
each other type across thousands of miles.

To talk with Bart Simpson at Widener, one would type

@smallexample
talk bart@@cs.widener.edu
@end smallexample

@noindent
which would cause a message similar to the following to be displayed
on Bart's terminal:

@smallexample
Message from Talk_Daemon@@cs.widener.edu at 21:45 ...
talk: connection requested by joe@@ee.someplace.edu
talk: respond with:  talk joe@@ee.someplace.edu
@end smallexample

@noindent
Bart would, presumably, respond by typing @samp{talk joe@@ee.someplace.edu}.
They could then chat about whatever they wished, with instantaneous
response time, rather than the write-and-wait style of email.  To
leave @code{talk}, on many systems one would type @code{Ctrl-C} (hold down
the Control key and press @samp{C}).  Check local documentation to be sure.

There are two different versions of talk in common use today.  The
first, dubbed ``old talk,'' is supported by a set of Unix systems
(most notably, those currently sold by Sun).  The second, @code{ntalk}
(aka ``new talk''), is more of the standard.  If, when attempting to
talk with another user, it responds with an error about protocol
families, odds are the incompatibilities between versions of talk is
the culprit.  It's up to the system administrators of sites which use
the old talk to install @code{ntalk} for their users.

@c @node WAIS
@c @section Wide Area Information Servers (WAIS)
@c @cindex wais

@node Whois, Finger, Tools, Tools
@section The WHOIS Database
@cindex WHOIS databases

The main @dfn{WHOIS} database is run at the Network Information Center
(NIC). The @samp{whois} command will let you search a database of
every registered domain (e.g. @samp{mit.edu}) and of registered users.
It's primarily used by system postmasters or listowners to find the
@dfn{Points of Contact} for a site, to let them know of a problem or
contact them for one reason or another.  You can also find out their
postal address. For example:
@cindex postmaster
@cindex domains

@smallexample
% whois mit.edu
Massachusetts Institute of Technology (MIT) MIT.EDU             18.72.2.1
Massachusetts Institute of Technology (MIT-DOM)                   MIT.EDU
@end smallexample

@noindent
Note that there are two entries for @samp{mit.edu}; we'll go for the
second.

@smallexample
% whois mit-dom
Massachusetts Institute of Technology (MIT-DOM) @result{}@emph{Mailing address}
   Cambridge, MA 02139

   Domain Name: MIT.EDU  @result{}@emph{Domain name}

   Administrative Contact, Technical Contact, Zone Contact:
      Schiller, Jeffrey I.  (JIS)  JIS@@MIT.EDU
      (617) 253-8400

   Record last updated on 22-Jun-88.  @result{}@emph{Last change made to the record}

   Domain servers in listed order:    @result{}@emph{Systems that can tell you the Internet}
                                               @emph{addresses for a site}
   STRAWB.MIT.EDU               18.71.0.151
   W20NS.MIT.EDU                18.70.0.160
   BITSY.MIT.EDU                18.72.0.3
   LITHIUM.LCS.MIT.EDU          18.26.0.121

To see this host record with registered users, repeat the command with
a star ('*') before the name; or, use '%' to show JUST the registered users.
@end smallexample

@noindent
Much better!  Now this information (sought, possibly, by a system
administrator) can be used to find out how to notify MIT of a security
issue or problem with connectivity.

Queries can be made for individuals as well; the following would yield
an entry for the author:

@smallexample
@group
% whois brendan
Kehoe, Brendan (BK59)		brendan@@cs.widener.edu
   Widener University
   Department of Computer Science
   Kirkbride 219
   P.O. Box 83 Widener University
   Chester, PA 19013
   (215)/499-4011

   Record last updated on 02-May-91.
@end group
@end smallexample

@noindent
Included is the author's name, his @dfn{handle} (a unique sequence of letters
and numbers), information on how to contact him, and the last time the record
was modified in any way.

Anyone can register with the whois database.  People who are
administrative or technical contacts for domains are registered
automatically when their domain applications are processed.  For
normal users, one must simply fill out a form from the NIC.  FTP to
@code{nic.ddn.mil} and get the file @file{netinfo/user-template.txt}.
The completed form should be mailed to @samp{registrar@@nic.ddn.mil}.

@subsection Other Uses of WHOIS

Also, many educational sites run WHOIS servers of their own, to offer
information about people who may be currently on the staff or
attending the institution.  To specify a WHOIS server, many
implementations include some sort of option or qualifier---in VMS
under MultiNet, it's @samp{/HOST}, in Unix @samp{-h}.  To receive
information about using the Stanford server, one might use the command

@smallexample
whois -h stanford.edu help
@end smallexample

A large list of systems offering WHOIS services is being maintained by
Matt Power of MIT (@code{mhpower@@stan.mit.edu}).  It is available via
anonymous FTP from @code{sipb.mit.edu}, in the directory
@file{pub/whois}.  The file is named @file{whois-servers.list}.
@cindex FTPable Items

The systems available include, but are certainly not limited to,
Syracuse University (@code{syr.edu}), New York University
(@code{acfcluster.nyu.edu}), the University of California at San Diego
(@code{ucsd.edu}), and Stanford University (@code{stanford.edu}).

@vskip 0pt plus 1filll
@flushright
``Fingers were made before forks.''
@b{Jonathan Swift}, @cite{Polite Conversation}
@end flushright
