7.4. Netværksprogrammer

7.4.1. Ping

ping er et meget simpelt, men utroligt nyttigt stykke værktøj, der bruges til at finde ud af, om der kan opnås forbindelse til en IP-adresse. Sagt på en anden måde er ping det program, du kan bruge til at finde ud af, om der er "hul igennem".

ping bør altid være det første program, du bruger til at diagnosticere et netværksproblem. Hvis det lykkes at pinge til en adresse, ved du, at den fysiske forbindelse er i orden, og de basale dele af netværket fungerer.

ping køres sådan her:

[daisy@linus daisy]$ ping -c 4 www.linux.org

Ved at skrive "-c 4" beder vi ping om at nøjes med at sende fire pakker, ellers bliver den ved, indtil vi stopper den med Ctrl-c.

ping svarer tilbage:

PING www.linux.org (198.182.196.51): 56 data bytes
64 bytes from 198.182.196.51: icmp_seq=0 ttl=42 time=479.3 ms
64 bytes from 198.182.196.51: icmp_seq=1 ttl=42 time=710.0 ms
64 bytes from 198.182.196.51: icmp_seq=1 ttl=41 time=730.0 ms
64 bytes from 198.182.196.51: icmp_seq=2 ttl=42 time=600.0 ms
64 bytes from 198.182.196.51: icmp_seq=3 ttl=42 time=370.0 ms

--- www.linux.org ping statistics ---
4 packets transmitted, 4 packets received, +1 duplicates, 0% packet loss
round-trip min/avg/max = 370.0/577.8/730.0 ms

Vi kan først og fremmest se, at vi kan komme igennem til www.linux.org, som har adressen 198.182.196.51, og at alt, hvad vi sendte, kom tilbage igen, ja faktisk kom en af de fire pakker tilbage to gange! Hele turen frem og tilbage tog i gennemsnit 577,8 millisekunder - altså lidt over et halvt sekund.

7.4.2. telnet

Med telnet er det muligt at logge ind på andre computere på netværket og arbejde tekstbaseret, som om du sad ved computeren. Dette kan også foregå på tværs af platforme, f.eks. kan du køre telnet på en Windows 95 PC og derfra logge ind på en Linuxmaskine.

Ved normal brug startes telnet simpelthen med navnet på den computer, du ønsker en forbindelse til - i nedenstående eksempel gonzo. Når forbindelsen er oprettet, vil du blive præsenteret for en login: prompt, og du kan nu arbejde videre, som om du sad ved den anden maskine.

[daisy@linus daisy]$  telnet gonzo
Trying 192.168.100.5...
Connected to gonzo.codehell.lokal.
Escape character is '^]'.

Red Hat Linux release 6.0 (Hedwig)
Kernel 2.2.5 on an i586
login:

Når du ikke længere har brug for telnet-forbindelsen, afbryder du den med exit, og du er så tilbage på din egen maskine.

Hvis du angiver en port, der er bundet til en anden protokol, kan du også have glæde af telnet til fejlfinding og testbrug. I en snæver vending kan du bruge telnet til at hente post hos din internetudbyder!

For at beskytte din installation er standardinstallationen lavet, så root ikke kan logge ind remote med telnet og ftp. Det er gjort for, at man ikke helt så nemt kan få adgang til root's password. Hvis du har maskinen på et usikkert net - f.eks. Internettet bør du ikke ændre på dette. I stedet kan du bruge krypteret netkommunikation - f.eks. med Secure Shell. Har du et lukket net og mener, at du ikke gider at gå ind som almindelig bruger og derefter lave su - root, kan du godt få lov til at bruge telnet og ftp som root udefra. Filerne /etc/securetty og /etc/ftpusers kan rettes eller direkte slettes, så kan root logge ind udefra.

7.4.3. ftp

Til at hente og sende filer over TCP/IP bruges programmet ftp.

Hvis du skal bruge en fil fra sunsite.auc.dk, skriver du sådan her:

[daisy@linus daisy]$  ftp sunsite.auc.dk

Når forbindelsen er klar, spørger computeren om brugernavn og adgangskode. Du kan logge på som 'anonymous' og give din email-adresse som adgangskode. Bemærk, at email-adressen ikke er synlig, når den tastes ind.

Connected to sunsite.auc.dk.
220 sunsite.auc.dk FTP server (NcFTPd 2.2.2) ready.
Name (sunsite.auc.dk:daisy): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230-You are user #57 of 300 simultaneous users allowed.
230-
230-                 Welcome to SunSITE Denmark
230-                 ==========================
230-
230-SunSITE Denmark is located at Aalborg University, Institute of
230-Electronic Systems, Denmark, and is running on a SPARCserver 1000 with
230-4 CPUs, 416 MB Memory and approximately 110 GB storage.
230-

[lang velkomsthilsen klippet ud]

230-
230 Logged in anonymously.
Remote system type is UNIX.
Using binary mode to transfer files.

Så står du ved en ftp> prompt, hvor du kan bevæge dig rundt i bibliotekerne med cd og se indholdet med ls - ganske som med en almindelig kommandolinje.

ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
d--x--x--x   2 ftpuser  ftpusers      1024 Oct 31  1997 bin
dr-xr-xr-x   2 ftpuser  ftpusers      1024 Jul  1  1997 dev
drwxrwxr-x  60 ftpuser  ftpusers      8192 Oct 10 16:23 disk1
drwxrwxr-x   9 ftpuser  ftpusers      2048 Oct 10 15:45 disk2
drwxr-xr-x   3 ftpuser  ftpusers        96 Jun  2 17:02 disk3
drwxr-xr-x   4 ftpuser  ftpusers        96 Sep  1 09:15 disk4
dr-xr-xr-x   2 ftpuser  ftpusers      1024 Oct 31  1997 etc
drwxrwx-wx   2 ftpuser  ftpusers      1024 Oct 14 08:28 incoming
drwxr-xr-x  13 ftpuser  ftpusers      1024 Jun  3 12:58 local
-rw-r--r--   1 ftpuser  ftpusers   5748797 Oct 14 00:04 ls-lR.gz
drwxrwxr-x   2 ftpuser  ftpusers      2048 Oct 10 18:12 mirrors
drwxr-xr-x   2 ftpuser  ftpusers        96 Jul  1  1997 packages
dr-xr-xr-x  18 ftpuser  ftpusers      1024 Jul 16 12:03 pub
d--x--x--x   4 ftpuser  ftpusers        96 Jul  1  1997 usr
-rw-r--r--   1 ftpuser  ftpusers       931 Jul  3 08:33 welcome.msg
226 Listing completed.

Hvis du nu ved hjælp af cd navigerer ned i /pub/os/linux/Red Hat og kører ls, vil du se, at der ligger en fil ved navn README, som du gerne vil hente hjem på din egen maskine.

Nu er filen ikke særlig stor, så den er hentet ned på et øjeblik. Hvis du henter større ting, er det som regel rart at kunne se, om der er "flow" i overførslen. Med kommandoen hash kan du få skrevet et #-tegn ("hash mark"), hver gang en blok er blevet overført.

ftp> hash
Hash mark printing on (1024 bytes/hash mark).

Så henter du filen:

ftp> get README
local: README remote: README
200 PORT command successful.
150 Opening BINARY mode data connection for README (1155 bytes).
#
226 Transfer completed.
1155 bytes received in 0.227 secs (5 Kbytes/sec)

README er en ganske lille fil, så det vil kun blive til et enkelt #-tegn. Læg i øvrigt mærke til, at den er overført som binær fil (BINARY) i modsætning til ASCII. Hvis du bruger ASCII til overførslen, vil ftp konvertere linjeskift i tekstfiler til det korrekte format for den maskine, der modtager filen. Det er udmærket til tekstfiler, men kan smadre f.eks. grafik og komprimerede filer fuldstændigt. Til at skifte mellem binær og ascii bruges ftp-kommandoerne bin og ascii.

Nu er du færdig med at hente, hvad du skal bruge, og du logger ud igen med kommandoen quit. Så er du tilbage på kommandolinjen på din egen maskine.

Hvis du har brug for at tilbyde anonymt ftp på din Linuxmaskine, kan du i Red Hat Linux installere pakken "anonftp". Pakken foretager hele opsætningen for dig. Filer, der skal kunne hentes via anonym ftp, lægges så blot i /home/ftp/pub.

Alt det ovenstående handler om anonymt ftp. Hvis du er oprettet som bruger på den maskine, du skal i kontakt med, kan du logge på med dit rigtige brugernavn og adgangskode. På den måde får du så rettigheder til at hente og sende filer i forhold til, hvad du er blevet tildelt af administratoren.

7.4.4. Webbrowsere

Kan du undvære grafik, bør du kende lynx, som er en tekstbaseret webbrowser, som faktisk er ret anvendelig - pånær ved klikbare billeder. Grafik hentes kun (til disk), hvis dette vælges. Lynx er smart, hvis du har en langsom netforbindelse, eller hvis du vil lave applikationer, som automatisk skal kunne hente HTML eller billeder.

Et specielt godt program er Netscape Communicator, som er kendt af de fleste. Programmet har været kommercielt, men stærkt inspireret af Linux-verdenen er det nu blevet et Open Source udviklingsprojekt.

Netscape er programmet til at hente HTML-sider, billeder, lyd, film og tekst via Internettet. Netscape er forholdvist nem at gå til.

7.4.4.1. True Type fonte og Netscape

Normalt er true type fonte ikke anvendt under XWindow, men du kan få f.eks. din Netscape til at bruge de fonte. Du skal have installeret freetype-1.2-6.i386.rpm eller lignende version. Man skal blot "finde" programmet ttmkfdir, der kan generere en "fonts.scale" fil til sine TrueType fonte.

  • Lav et katalog til dine TrueType (ttf) filer, f.eks. /usr/share/fonts/default/TrueType.

  • Kopier ttf-filerne derned fra en Windows installation, eller hent de gratis ttf-filer fra Microsoft's web-site (de har en gratis samling af de mest almindelige TrueType fonte).

  •   [root@linus /root]#  cd /usr/share/fonts/default/TrueType
      [root@linus /root]#  ttmkfdir > fonts.scale
      [root@linus /root]#  mkfontdir
      
    Dette genererer en "fonts.dir" fil som X bruger til at finde ud af hvilke fonte, der ligger i hvilke filer.

  • Ret din X11 config så den indeholder TrueType font-biblioteket. FontPath entries i /etc/X11/fs/config (Kan evt. være i /etc/X11/XF86Config) kan se således ud:

        FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath    "/usr/share/fonts/default/TrueType/"
        FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath    "/usr/share/fonts/default/Type1/"
        FontPath    "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath    "/usr/X11R6/lib/X11/fonts/Speedo/"
        FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/"
      

Start X, og se om ikke "xlsfonts" lister de forskellige TrueType fonte - prøv f.eks. "xlsfonts|grep microsoft"

I din Netscape "Preferences" opsætning kan du vælge

  Variable width font:  Arial (Monotype)              Size: 0
      Allow scaling: disabled
  Fixed width font: Courier New (Monotype)            Size: 0
      Allow scaling: disabled

Endvidere kan du klikke på "Use document-specified fonts, but disable Dynamic fonts" (den midterste af de tre muligheder).

7.4.5. wget

Fra tid til anden har du brug for at kunne hente en stribe hjemmesider, som du sidenhen vil kunne læse - f.eks. programvejledninger. Med Netscape er det besværligt, idet du skal trykke "gem" for hver enkel side. Meget smartere er programmet wget, der kan hente rekursivt fra en http eller ftp-site, såsom SSLUG's adresse

[daisy@linus daisy]$  wget -r http://www.sslug.dk