<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY knu "<application>knu</application>">
]>
<book lang="en">

<bookinfo>
<title>The Knu Handbook</title>
<authorgroup>
<author>
<firstname>Bertrand</firstname>
<surname>Leconte</surname>
</author>
</authorgroup>
<date>14/06/1999</date>
<releaseinfo>0.06.00</releaseinfo>
<abstract>
<para>This documentation was last updated for knu version 0.6.1.
Please make any comments and additions to the author.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>Knu</keyword>
<keyword>Network Utilities</keyword>
<keyword>ping</keyword>
<keyword>traceroute</keyword>
<keyword>mtr</keyword>
<keyword>host</keyword>
<keyword>nslookup</keyword>
<keyword>finger</keyword>
<keyword>whois</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<para>The <emphasis remap="it">KDE network utilities</emphasis> program allows you to make a ping,
a traceroute, an host resolution or a finger query without lauching a
terminal emulator.</para>

<para>You choose which utility you want to run by selecting the corresponding tab.
You give the parameters needed for it and then click on the "<literal remap="tt">Go!</literal>"
button (or hit <emphasis remap="it">return</emphasis>). While the command is running, you can stop it
by pushing the "<literal remap="tt">Stop</literal>" button.</para>
</chapter>

<chapter id="thepingtab">
<title>The <emphasis remap="it">Ping</emphasis> tab</title>

<sect1 id="whatisitping">
<title>What is it?</title>

<para>The <literal remap="tt"><ulink url="man:ping">ping(8)</ulink></literal> command sends ICMP <literal remap="tt">ECHO&lowbar;REQUEST</literal> packets to network hosts to check for network reachability.
A response from a host (or anything that have an IP address) says that this
host is running at least a TCP/IP network stack and indicates that the network
route to go to this host is opened. The <emphasis remap="it">ping</emphasis> tab allows the execution
of the <literal remap="tt">ping(8)</literal> command.</para>

<para><graphic fileref="knu-ping.png"></graphic></para>
</sect1>

<sect1 id="descriptionping">
<title>Description</title>

<para>Ping uses the ICMP protocol's mandatory <literal remap="tt">ECHO&lowbar;REQUEST</literal> datagram to
elicit an ICMP <literal remap="tt">ECHO&lowbar;RESPONSE</literal> from a host or gateway. <literal remap="tt">ECHO&lowbar;REQUEST</literal> datagrams (``<emphasis remap="it">pings</emphasis>'') have an IP and ICMP header, followed by a
<literal remap="tt">struct timeval</literal> and then an arbitrary number of <emphasis remap="it">pad</emphasis> bytes used
to fill out the packet.</para>
</sect1>

<sect1 id="optionsping">
<title>Options</title>

<para><variablelist>
<varlistentry>
<term>Make host name resolution</term>
<listitem>
<para>Print addresses numerically rather than
symbolically and numerically (this saves a nameserver address-to-name lookup).</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para>
When using ping for fault isolation, it should first be run on the local host,
to verify that the local network interface is up and running.  Then, hosts and
gateways further and further away should be ``<emphasis remap="it">pinged</emphasis>''. Round-trip
times and packet loss statistics are computed.  If duplicate packets are
received, they are not included in the packet loss calculation, although the
round trip time of these packets is used in calculating the
minimum/average/maximum round-trip time numbers.  When the program is
terminated, a brief summary is displayed.</para>

<para><emphasis remap="bf">This program is intended for use in network testing, measurement and
management.  Because of the load it can impose on the network, it is unwise to
use ping during normal operations or for too long.</emphasis></para>
</sect1>
</chapter>

<chapter id="thetraceroutetab">
<title>The <emphasis remap="it">Traceroute</emphasis> tab</title>

<sect1 id="whatisittraceroute">
<title>What is it?</title>

<para>The <literal remap="tt"><ulink url="man:traceroute">traceroute(8)</ulink></literal> command
prints the route that packets take to network host. The <emphasis remap="it">Traceroute</emphasis> tab
allows the execution of the <literal remap="tt">traceroute(8)</literal> command.</para>

<para><graphic fileref="knu-traceroute.png"></graphic></para>
</sect1>

<sect1 id="descriptiontraceroute">
<title>Description</title>

<para>The Internet is a large and complex aggregation of network hardware, connected
together by gateways.  Tracking the route one's packets follow (or finding the
miscreant gateway that's discarding your packets) can be difficult. Traceroute
utilizes the IP protocol <emphasis remap="it">time to live</emphasis> field and attempts to elicit an
ICMP <literal remap="tt">TIME&lowbar;EXCEEDED</literal> response from each gateway along the path to some
host.</para>
</sect1>

<sect1 id="optionstraceroute">
<title>Options</title>

<para><variablelist>
<varlistentry>
<term>Make host name resolution</term>
<listitem>
<para>Print hop addresses numerically rather than symbolically and numerically (this
saves a nameserver address-to-name lookup for each gateway found on the path).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Maximum number of hops</term>
<listitem>
<para>Set the max time-to-live (maximum number of hops) used in outgoing probe
packets.  The default is 30 hops (the same default used for TCP connections).</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para>This program attempts to trace the route an IP packet would follow to
some internet host by launching UDP probe packets with a small ttl
(time to live) then listening for an ICMP "<literal remap="tt">time exceeded</literal>"
reply from a gateway. We start our probes with a ttl of one and
increase by one until we get an ICMP "<literal remap="tt">port unreachable</literal>"
(which means we got to "<emphasis remap="it">host</emphasis>") or hit a max (which defaults
to 30 hops and can be changed with the <emphasis remap="bf">Maximum number of hops</emphasis>
option). Three probes are sent at each time-to-live setting and a line
is printed showing the time-to-live, address of the gateway and round
trip time of each probe.  If the probe answers come from different
gateways, the address of each responding system will be printed.  If
there is no response within a 3 seconds timeout interval, a "*" is
printed for that probe.</para>

<para>We don't want the destination host to process the UDP probe packets so the
destination port is set to an unlikely value.</para>

<para><emphasis remap="bf">This program is intended for use in network testing, measurement and
management.  It should be used primarily for manual fault isolation. Because
of the load it could impose on the network, it is unwise to use traceroute
during normal operations or for too long.</emphasis></para>

<sect2 id="traceroutesauthors">
<title><emphasis remap="it">Traceroute's authors</emphasis></title>

<para>Implemented by Van Jacobson from a suggestion by Steve Deering.  Debugged
by a cast of thousands with particularly cogent suggestions or fixes from
C. Philip Wood, Tim Seaver and Ken Adelman.</para>
</sect2>
</sect1>
</chapter>

<chapter id="thehostresolutiontab">
<title>The <emphasis remap="it">Host resolution</emphasis> tab</title>

<sect1 id="whatisitnslookup">
<title>What is it?</title>

<para>The <emphasis remap="it">Host resolution</emphasis> tab allows the execution of a host
resolution program (<literal remap="tt"><ulink url="man:host">host(1)</ulink></literal>
or <literal remap="tt"><ulink url="man:nslookup">nslookup(8)</ulink></literal>).  This
host resolution program will asks the Domain Name Server the answer to
the question asked.</para>

<para><graphic fileref="knu-host.png"></graphic></para>
</sect1>

<sect1 id="descriptionnslookup">
<title>Description</title>

<para>This command looks for information about Internet hosts and domain names. It
gets this information from a set of interconnected servers that are spread
across the world. This set of interconnected servers are called the Domain
Name Servers (DNS). The information is stored in the form of <emphasis remap="it">resource
records</emphasis> belonging to hierarchically organized <emphasis remap="it">zones</emphasis>.</para>

<para>By default, the command simply converts between host names and
Internet addresses. However, with the <emphasis remap="it">Search for</emphasis> options, it
can be used to find all of the information about domain names that is
maintained by the domain name­server system. The information printed
consists of various fields of the associated resource records that
were retrieved.</para>

<para>The host field can be either host names (domain names) or numeric Internet
addresses.</para>

<para>A numeric Internet address consists of four decimal numbers separated by dots,
e.g. <literal remap="tt">192.16.199.1</literal>, representing the four bytes of the 32-bit address.
The default action is to look up the associated host name.</para>

<para>A host name or domain name consists of component names (labels) separated by
dots, e.g. <literal remap="tt">nikhefh.nikhef.nl</literal>. The default action is to look up all of
its Internet addresses.</para>

<para>For single names without a trailing dot, the local domain is automatically
tacked on the end. Thus a user in domain <literal remap="tt">nikhef.nl</literal> can type in <literal remap="tt">nikhapo</literal>, and it will actually look up <literal remap="tt">nikhapo.nikhef.nl</literal>. In all
other cases, the name is tried unchanged.  Single names with trailing dot are
considered top-level domain specifications, e.g. <literal remap="tt">nl.</literal></para>

<para>For a more precise description of the behaviour of this command, please see the
underlying program's man-page <literal remap="tt"><ulink url="man:host">host(1)</ulink></literal>
or <literal remap="tt"><ulink url="man:nslookup">nslookup(8)</ulink></literal>.</para>
</sect1>

<sect1 id="optionsnslookup">
<title>Options</title>

<para><variablelist>
<varlistentry>
<term>Search for</term>
<listitem>
<para>This allows you to specify a particular type of resource record information to
be looked up.  Supported types are listed below. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Server</term>
<listitem>
<para>This is the name (or the address) of the domain name server to ask.</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<sect2 id="resourcetype">
<title>Resource type</title>

<para>The resource type possible are:</para>

<para><literal remap="tt">A</literal> &lowbar;&lowbar;&lowbar; the host's Internet address.</para>

<para><literal remap="tt">PTR</literal> &lowbar; the host name.</para>

<para><literal remap="tt">NS</literal> &lowbar;&lowbar; the name server for the named zone.</para>

<para><literal remap="tt">MX</literal> &lowbar;&lowbar; the mail exchanger.</para>

<para><literal remap="tt">CNAME</literal> the canonical name for an alias.</para>

<para><literal remap="tt">SOA</literal> &lowbar; the domain's ``start-of-authority'' information.</para>

<para><literal remap="tt">ANY</literal> &lowbar; all informations available.</para>

<sect3 id="hostsauthors">
<title><emphasis remap="it">Host's authors</emphasis></title>

<para>This program is originally from Rutgers University. It has been rewritten by
Eric Wassenaar, NIKHEF, &lt;e07@nikhef.nl&gt;.</para>
</sect3>

<sect3 id="nslookupsauthors">
<title><emphasis remap="it">NsLookup's authors</emphasis></title>

<para>Andrew Cherenson</para>
</sect3>
</sect2>
</sect1>
</chapter>

<chapter id="thefingertab">
<title>The <emphasis remap="it">Finger</emphasis> tab</title>

<sect1 id="whatisitfinger">
<title>What is it?</title>

<para>The <emphasis remap="it">Finger</emphasis> tab allows the execution of the <literal remap="tt"><ulink url="man:finger">finger(1)</ulink></literal> command. The <literal remap="tt">finger</literal>
command displays information about the system users.</para>

<para>The command output will depends on the server which will make the reply.</para>

<para><graphic fileref="knu-finger.png"></graphic></para>
</sect1>

<sect1 id="optionsfinger">
<title>Options</title>

<para><variablelist>
<varlistentry>
<term>Server</term>
<listitem>
<para>This is the name (or the address) of the finger server to ask.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="history">
<title>History</title>
<para>The <emphasis remap="it">finger</emphasis> command appeared in 3.0BSD.</para>
</sect1>
</chapter>

<chapter id="themtrtab">
<title>The <emphasis remap="it">mtr</emphasis> tab</title>

<sect1 id="whatisitmtr">
<title>What is it?</title>

<para>The <emphasis remap="it">mtr</emphasis> tab allows the execution of the <literal remap="tt"><ulink url="man:mtr">mtr(1)</ulink></literal> command. mtr combines the functionality of 
the <literal remap="tt">traceroute</literal> and <literal remap="tt">ping</literal> programs in a single network diagnostic tool. </para>

<para><graphic fileref="knu-mtr.png"></graphic></para>
</sect1>

<sect1 id="descriptionmtr">
<title>Description</title>

<para>As <literal remap="tt">mtr</literal> starts, it investigates the network connection between
the host <literal remap="tt">mtr</literal> runs on and a user-specified destination
host. After it determines the address of each network hop between the
machines, it sends a sequence ICMP ECHO requests (like <literal remap="tt">ping</literal>)
to each one to determine the quality of the link to each machine. As
it does this, it prints running statistics about each machine.</para>
</sect1>

<sect1 id="author">
<title>Author</title>

<para><literal remap="tt">mtr</literal> was written by <ulink url="mkimball@xmission.com">Matt Kimball</ulink>, with contributions by many people. <ulink url="R.E.Wolff@BitWizard.nl">Roger Wolff</ulink> took over
maintenance of <literal remap="tt">mtr</literal> in October 1998.</para>

</sect1>
</chapter>

<chapter id="configuration">
<title>Configuration</title>

<para><graphic fileref="knu-config.png"></graphic></para>

<para>You can configure the pathname of the command used by <emphasis remap="it">KDE network
utilities </emphasis> if you don't want the command found in the
<literal remap="tt">PATH</literal> variable to be used or if the command in not found the
the <literal remap="tt">PATH</literal>. This can be done in the Edit -&gt;
Preferences... menu. The GNU/Debian users will put the traceroute's
command to <literal remap="tt">/usr/sbin/traceroute</literal> as normal users don't have
this directory in their path.</para>

<para>The same dialog box allows you to specify arguments to the program.
For example, on Sun Solaris computers, you can add <literal remap="tt">-s</literal> as
argument for the ping command.</para>

<para>For the host resolution tab, you will have to choose the type of the
underlying command used, <literal remap="tt">host</literal> or <literal remap="tt">nslookup</literal>.</para>

<para>You can disable a command by editing the configuration file (by hand) and in
the corresponding group, just modify to read <literal remap="tt">enable = 0</literal>.</para>

<para>The <emphasis remap="it">finger</emphasis>, <emphasis remap="it">whois</emphasis> and <emphasis remap="it">host resolution</emphasis> tabs
have a server list. These lists can be modified by changing the
corresponding <literal remap="tt">Servers</literal> key in the config file (by hand in
this version).</para>
</chapter>

<chapter id="epilogue">
<title>Epilogue</title>

<sect1 id="authors">
<title>Authors</title>

<para><literal remap="tt"><ulink url="mailto:B.Leconte@mail.dotcom.fr">Bertrand Leconte</ulink></literal></para>

<para><literal remap="tt"><ulink url="mailto:kfricke@bauinf.uni-hannover.de">Kai Fricke</ulink></literal> conversion of the documentation to
SGML</para>

<para>The documentation comes mainly from the Linux <literal remap="tt">ping(8)</literal>, <literal remap="tt">traceroute(8)</literal>, <literal remap="tt">host(1)</literal> and <literal remap="tt">nslookup(8)</literal> man
pages.  For <literal remap="tt">mtr</literal> the documentation comes from the Web site
(<ulink url="http://www.bitwizard.nl/mtr">http://www.bitwizard.nl/mtr</ulink>).</para>
</sect1>

<sect1 id="copyright">
<title>Copyright</title>

<para>This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.</para>

<para>This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.</para>

<para>You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 675 Mass
Ave, Cambridge, MA 02139, USA.</para>
</sect1>
</chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
