Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Kompendium der Informationstechnik
 von Sascha Kersken
EDV-Grundlagen, Programmierung, Mediengestaltung
Buch: Kompendium der Informationstechnik
gp Kapitel 14 Netzwerkanwendungen
  gp 14.1 Netzwerkkonfiguration unter verschiedenen Betriebssystemen
    gp 14.1.1 Linux
    gp 14.1.2 Mac  OS
    gp 14.1.3 Windows
    gp 14.1.4 TCP/IP-Dienstprogramme
  gp 14.2 Server konfigurieren
    gp 14.2.1 Mac  OS
    gp 14.2.2 Windows
    gp 14.2.3 UNIX/Linux
    gp 14.2.4 Der Webserver Apache
  gp 14.3 Einführung in die Netzwerkprogrammierung
    gp 14.3.1 Die Berkeley Socket API
    gp 14.3.2 Ein einfaches Beispiel
  gp 14.4 Verteilte Anwendungen
    gp 14.4.1 J2EE
    gp 14.4.2 Microsoft .NET
    gp 14.4.3 Web Services
  gp 14.5 Zusammenfassung

gp

Prüfungsfragen zu diesem Kapitel (extern)

Kapitel 14 Netzwerkanwendungen

Es ist nicht genug, zu wissen, man muss auch anwenden; es ist nicht genug, zu wollen, man muss auch tun.
– Johann Wolfgang Goethe

Nachdem Sie in den beiden vorigen Kapiteln einen allgemeinen Überblick über die Funktionsweise von Netzwerken und detailliertere Informationen über Hardware und Protokolle erhalten haben, sollen im vorliegenden Kapitel verschiedene häufig genutzte Netzwerkanwendungen vorgestellt werden.

Als Erstes wird gezeigt, wie Sie die im letzten Kapitel beschriebenen Konzepte für Ihr jeweiliges Betriebssystem konkret umsetzen können. Danach werden diverse Client-Server-Systeme näher erläutert, darunter gängige Datei- und Druckserversysteme unter den verschiedenen Systemen sowie ein Webserver. Anschließend folgt eine kurze Einführung in die Programmierung von TCP/IP-Netzwerkanwendungen. Den Abschluss bilden die beiden wichtigsten Plattformen für verteilte Anwendungen, J2EE und Microsoft .NET.


Galileo Computing

14.1 Netzwerkkonfiguration unter verschiedenen Betriebssystemen  downtop

Die Funktionsweise der verschiedenen Betriebssysteme sowie deren allgemeine Konfiguration wurden bereits in Kapitel 4, Betriebssysteme, ausführlich behandelt. Allerdings habe ich für das Thema Netzwerkeinrichtung explizit auf das vorliegende Kapitel verwiesen. Für jedes der vier Systeme, die dort genauer beschrieben werden (Linux, Mac  OS X, Mac  OS 9 und Windows), finden Sie hier einige wichtige Einzelheiten der Netzwerkkonfiguration.

Bei vielen PCs steht am Anfang noch immer der Einbau der Netzwerkkarte – nicht alle Mainboards sind ab Werk mit einer Ethernet-Schnittstelle ausgestattet. Für den Einbau einer solchen, fast immer PCI-basierten Karte gilt die in Kapitel 3, Die Hardware, beschriebene Vorgehensweise. Modems werden dagegen häufig als externe Geräte angeboten und zumeist an die USB-Schnittstelle angeschlossen. Je nach Rechner sind verschiedene Variationen denkbar; beispielsweise gibt es Modems in Form von Einsteckkarten oder bei älteren Modellen auch solche zum Anschluss an die spezifischen seriellen Anschlüsse.

Die folgenden Beschreibungen gehen davon aus, dass Sie die Hardware bereits erfolgreich installiert haben. Als Nächstes wird dann in der Regel ein passender Gerätetreiber benötigt. Die Installation von Treibern funktioniert je nach Betriebssystem unterschiedlich.

Netzwerkkarten in der Praxis

Beachten Sie in diesem Zusammenhang, dass es günstige Ethernet-Karten von zahlreichen Herstellern gibt. Bei näherer Betrachtung stellt sich jedoch heraus, dass viele von ihnen identisch ausgestattet sind: mit einem Chip der Firma RealTek, meist dem RTL 8139. Das Erfreuliche daran ist, dass sowohl die neuesten Windows- als auch aktuelle Linux-Versionen von Hause aus über einen Treiber für diese Netzwerkkarten verfügen. Zahlreiche ältere Rechner sind dagegen mit einer Karte ausgestattet, die kompatibel zu Novells Klassiker NE 2000 ist. Erkennbar sind diese Karten oft daran, dass es sich um alte ISA-Karten handelt, die darüber hinaus mit zwei verschiedenen Anschlüssen ausgestattet sind – neben der RJ-45-Buchse für Twisted-Pair-Ethernet enthalten sie auch noch einen langen, runden RG-58-Anschluss für 10Base2-BNC-Kabel. Auch mit dieser Art von Karte kommen die meisten Systeme automatisch zurecht.

Auf der Macintosh-Plattform ist das alles meist einfacher, weil Macs seit mindestens zehn Jahren eine Onboard-Ethernet-Schnittstelle enthalten. Einige ganz alte Macs (etwa PowerMac 7100 und 8100) waren mit einem proprietären Anschluss namens AAUI ausgestattet – Sie benötigen eine kleine Konverterbox, Transceiver genannt, um den Anschluss auf 10BaseT umzurüsten. Außerdem könnte es Sie stören, dass Macs bis zum ursprünglichen G3 und den ersten iMacs nur mit einer 10 MBit-Ethernet-Schnittstelle ausgestattet sind. In diesem Fall lässt sich natürlich auch eine 100BaseT-PCI-Karte nachrüsten.

Für die folgenden kurzen Hinweise ist es wichtig, dass Sie die im vorigen Kapitel erläuterten Ausführungen zur Auswahl von IP-Adressen gelesen haben; hier wird nicht erneut darauf eingegangen. Bevor Sie ein Netzwerk einrichten, müssen Sie über das Adressierungsschema Bescheid wissen. In einem Heimnetzwerk oder einem kleinen Büronetzwerk werden Sie wahrscheinlich nur die privaten IP-Adressbereiche verwenden – in aller Regel ein privates Klasse-C-Netz aus der Gruppe 192.168.x.0.


Galileo Computing

14.1.1 Linux  downtop

Unter Linux können Sie Gerätetreiber auf zwei Arten installieren: Entweder werden sie fest in den Kernel einkompiliert oder als dynamisch lad- und entfernbare Module eingerichtet. Wie die beiden Varianten bei der Kernelkompilierung angegeben werden, erfahren Sie in Kapitel 4, Betriebssysteme. Im Kernel-Konfigurationsprogramm sind zahlreiche Netzwerkkarten verzeichnet, es ist relativ wahrscheinlich, dass die von Ihnen verwendete dabei ist.

In den meisten Fällen müssen Sie den Umweg über die Kernelkompilierung gar nicht erst gehen – viele Karten werden bereits bei der Installation erkannt und automatisch eingerichtet. Falls nicht, können Sie sie häufig über die eingebauten Konfigurationsprogramme der Distributionen installieren (zum Beispiel über YaST bei SuSE Linux). Eine genaue Beschreibung der Vorgehensweise finden Sie in der Dokumentation, die mit Ihrer Distribution geliefert wird.

Beispielsweise finden Sie in YaST das Modul Netzwerk/Grundkonfiguration, wo Sie in übersichtlichen und gut erläuterten Dialogen die Netzwerkkarte, ein Modem, ISDN und DSL konfigurieren können. In den folgenden Ausführungen wird deshalb davon ausgegangen, dass Sie die Hardware bereits richtig eingerichtet haben.

ifconfig

Wenn Sie einer Schnittstelle eine IP-Adresse zuweisen möchten, funktioniert dies ebenfalls über die grafischen Konfigurationsprogramme Ihrer Distribution oder über den Befehl ifconfig (für interface configuration). Wenn Sie ifconfig ohne Parameter eingeben, erhalten Sie eine Übersicht über die aktuelle Konfiguration, die zum Beispiel folgendermaßen aussieht:

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:CB:53:17:64
          inet addr:192.168.1.2  Bcast:192.168.1.255
                Mask:255.255.255.
          inet6 addr: fe80::200:cbff:fe53:1764/10
               Scope:Link
          inet6 addr: fe80::cb53:1764/10 Scope:Link
          EtherTalk Phase 2 addr:65280/53
          UP BROADCAST RUNNING MULTICAST  MTU:15
               Metric:1
          RX packets:8908250 errors:0 dropped:8242
               overruns:0 frame: 
          TX packets:7453081 errors:0 dropped:0 
              overruns:0 carrier:
           collisions:2829807  
lo        Link encap:Local Loopback 
           inet addr:127.0.0.1  Mask:255.0.0. 
          inet6 addr: ::1/128 Scope:Host
          EtherTalk Phase 2 addr:0/ 
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:994 errors:0 dropped:0 overruns:0 
              frame: 
          TX packets:994 errors:0 dropped:0 overruns:0 
              carrier:           collisions:0

Wie Sie sehen, besitzt der Computer eine Ethernet-Karte mit dem Gerätenamen eth0, der IP-Adresse 192.168.1.2 und natürlich ein Loopback-Interface. Einige der anderen Informationen sollten Sie wieder erkennen und verstehen, wenn Sie das vorige Kapitel gründlich gelesen haben. Wenn der Rechner noch weitere Ethernet-Karten hätte, würden ihre Gerätenamen entsprechend eth1, eth2 und so weiter lauten.

Wenn Sie der Schnittstelle eth0 eine andere IP-Adresse zuweisen möchten, müssen Sie Folgendes eingeben:

# ifconfig eth0 192.168.0.7 netmask 255.255.255.0

Beachten Sie, dass diese Zuweisung nur für die Dauer einer Sitzung gilt. Damit sie dauerhaft gültig bleibt, muss der Konfigurationsbefehl in einem Skript stehen, das beim Systemstart automatisch ausgeführt wird. Bedauerlicherweise ist der Aufbau der Start-Skripte je nach Distribution völlig unterschiedlich; konsultieren Sie zu diesem Thema also die mitgelieferte Dokumentation. In der Regel ist es einfacher, die erwähnten Konfigurationsprogramme Ihrer Linux-Distribution einzusetzen – insbesondere für erweiterte TCP/IP-Optionen wie Nameserver, den Bezug der IP-Adresse über DHCP oder den Netzzugang über Wählleitungen.

Den Standardrouter einrichten

Wenn Sie über das LAN auf andere Netzwerkbereiche oder auf das Internet zugreifen, müssen Sie als Nächstes eine Routing-Konfiguration erstellen. Angenommen, Ihre eigene (feste) IP-Adresse sei 192.168.0.9. Um das Standard-Gateway 192.168.0.1, einen DSL-Router für Internetverbindungen, einzurichten, können Sie den folgenden Befehl eingeben:

# route add default gw 192.168.0.1

Das Schlüsselwort default steht für den Standard-Router, gw für die Angabe eines Gateways. Beachten Sie, dass auch diese Einstellung in ein Start-Skript gehört.

Die Verwendung anderer Netzwerkprotokolle als TCP/IP ist unter UNIX nur in absoluten Ausnahmefällen notwendig. Wenn Sie AppleTalk, NetBEUI oder ein anderes Protokoll auf Ihrem Linux-System verwenden möchten, müssen Sie es zunächst in den Kernel einkompilieren. Aber selbst die weiter unten behandelten Datei- und Druckserver, über die Linux Windows- und Mac  OS-Clients bedienen kann, arbeiten standardmäßig über IP.


Galileo Computing

14.1.2 Mac  OS  downtop

Auch unter Mac  OS X können Sie im Prinzip ifconfig verwenden, um das TCP/IP-Netzwerk zu konfigurieren. Allerdings werden Sie dies in der Regel nicht tun wollen, weil standardisierte und bequeme Module in den Systemeinstellungen existieren, mit denen Sie die Netzwerkeinrichtung vornehmen können. Ein weiterer Grund ist, dass in Mac-Netzen neben TCP/IP bis heute das AppleTalk-Protokoll eine gewisse Rolle spielt. Dieses Protokoll können Sie nur über die Systemeinstellungen und nicht über UNIX-Terminalbefehle konfigurieren.

Mac  OS X

Alle Befehle, die der Netzwerkkonfiguration dienen, finden Sie unter dem Punkt Netzwerk in den Systemeinstellungen. In diesem Dialog können Sie oben die Schnittstelle auswählen, die Sie konfigurieren möchten, etwa Ethernet-Schnittstelle oder Modem. Unten finden Sie je nach gewählter Verbindung verschiedene Registerkarten. Bei einer Ethernet-Schnittstelle sind es beispielsweise folgende:

gp  TCP/IP. In diesem Feld wird die IP-Adresse der zurzeit konfigurierten Schnittstelle eingestellt. Zunächst können Sie unter Konfiguration wählen, ob Sie die IP-Adresse selbst eintragen (manuell) oder auf irgendeine Weise automatisch beziehen möchten (zum Beispiel über einen DHCP-Server). Falls Sie die IP-Parameter manuell eingeben, können Sie folgende wichtige Einstellungen vornehmen:
IP-Adresse, zum Beispiel 192.168.0.9 Teilnetzmaske: die CIDR-Maske des Netzwerks, etwa 255.255.255.0 Router: das Standard-Gateway, beispielsweise 192.168.0.1 DNS-Server: eine Rangfolge der IP-Adressen von Nameservern, die konsultiert werden sollen. Bei den meisten direkten Internetverbindungen können Sie diese Einstellung weglassen. Wenn Ihre Verbindung dagegen über ein LAN stattfindet, müssen Sie hier in der Regel die IP-Adresse von mindestens einem Nameserver eintragen. Domain-Namen: Falls sich Ihr Rechner innerhalb einer DNS-Zone befindet, die durch einen Nameserver verwaltet wird, sollten Sie hier das entsprechende Domain-Namens-Suffix eintragen – zum Beispiel meine-firma.de, falls der Rechner den DNS-Hostname mac.meine-firma.de trägt. Sie können einen Rechner innerhalb derselben Domain dadurch ohne Angabe des Suffixes ansprechen: Wenn Sie etwa mit mail.meine-firma.de kommunizieren möchten, genügt es, mail einzugeben.
gp  PPPoE. Auf dieser Registerkarte wird PPP over Ethernet konfiguriert, falls die ensprechende Ethernet-Schnittstelle nicht für den Anschluss an ein LAN, sondern für ein DSL-Modem verwendet werden soll. Die näheren Einstellungen müssen Sie mit Ihrem Provider klären.
gp  AppleTalk. An dieser Stelle wird der AppleTalk-Zugang der Ethernet-Schnittstelle konfiguriert. Sie können TCP/IP- und AppleTalk-Kommunikation über dieselbe Netzwerkkarte betreiben. Das AppleTalk-Protokoll wird für einige Mac-spezifische Netzwerkdienste benötigt: Zwar können alle zurzeit verbreiteten Mac  OS-Varianten Dateiserver-Dienste auch über IP vornehmen, aber Sie benötigen AppleTalk zum Beispiel zur Ansteuerung älterer Netzwerkdrucker. Viel einstellen müssen Sie an dieser Stelle nicht, es genügt, wenn der Rechner einen eindeutigen Namen erhält.
gp  Proxies. An dieser Stelle werden Proxy-Server konfiguriert. In manchen Netzwerken erfolgt der Zugriff auf Internetdienste nicht über Router, sondern über Gateways auf Anwendungsebene, die in der Öffentlichkeit als Stellvertreter des eigenen Rechners arbeiten. Sie können entweder für jeden Internetdienst einen anderen Proxy angeben oder – was häufiger der Fall ist – denselben für alle. Beachten Sie aber, dass nicht jeder Proxy alle Anwendungsprotokolle unterstützt; der weit verbreitete UNIX-Proxy-Server squid kann beispielsweise nur mit HTTP(S) und FTP umgehen.
    Die Einrichtung eines HTTP-Proxy-Servers kann sich übrigens auch dann lohnen, wenn Sie über einen vollwertigen Internetzugang verfügen: Viele Provider betreiben eigene Caching-Proxies, um den Zugriff auf häufig verwendete Websites zu beschleunigen.
       
    Falls innerhalb Ihres LANs ein Proxy betrieben wird, befindet sich seine IP-Adresse innerhalb Ihres Teilnetzes; der Port ist oft 3128, wenn es sich um squid handelt. Wenn Sie den Proxy Ihres Providers konfigurieren möchten, müssen Sie die Parameter dort erfragen.
       

Mac  OS 9

Beachten Sie, dass die hier genannten Einstellungen unter Mac  OS 9 fast identisch sind und deshalb nicht näher behandelt werden. Sie finden sie dort unter Apple-Menü • Kontrollfelder. Die einzelnen Registerkarten der Mac  OS X-Netzwerkkonfiguration finden sich hier als einzelne Kontrollfelder wieder.


Galileo Computing

14.1.3 Windows  downtop

Aktuelle Windows-Versionen wie das hier behandelte Windows XP, das fast identische Windows 2000 oder der neue Windows Server 2003 nehmen die Netzwerkinstallation normalerweise bereits während der Installation des Betriebssystems vor, wenn Sie dies nicht ausdrücklich verhindern. Für die meisten gängigen Ethernet-Karten, Modems und ISDN-Adapter werden Treiber auf der Windows-Installations-CD mitgeliefert. Falls Ihr Gerät nicht unterstützt wird, die Windows-Version aber mit dem Rechner geliefert wurde, hat der Hersteller oder Händler in der Regel eine separate Treiber-CD oder -Diskette beigelegt.

Wenn Sie die Netzwerkeinrichtung während der Systeminstallation abgewählt haben oder nachträglich Netzwerkhardware hinzufügen, können Sie die Konfiguration über Start • Systemsteuerung • Netzwerkverbindungen aufrufen.

Verbindungen einrichten

Mit dem Befehl Neue Verbindung erstellen können Sie eine Schnittstelle für eine neue Netzwerkverbindung konfigurieren. Es wird ein komfortabler Dialog angezeigt, in dem Sie Schritt für Schritt die entsprechenden Einstellungen vornehmen können: Wählen Sie Verbindung mit dem Internet herstellen, um eine Modem-, ISDN- oder DSL-Verbindung einzurichten. Über Verbindung mit dem Netzwerk am Arbeitsplatz herstellen können Sie eine DFÜ-Verbindung zu einem einzelnen, privaten Netzwerk erstellen, um beispielsweise von zu Hause auf Ihr Firmennetzwerk zuzugreifen. Über den Punkt Ein Heim- oder kleines Firmennetzwerk einrichten können Sie das LAN einrichten oder einem vorhandenen LAN beitreten.

Wenn Sie die Einstellungen einer vorhandenen Verbindung ändern möchten, klicken Sie mit der rechten Maustaste auf ein Schnittstellensymbol und wählen Eigenschaften aus dem Kontextmenü. Sie erhalten einen Dialog mit den folgenden Registerkarten:

gp  Allgemein. Auf dieser wichtigsten Registerkarte werden die verschiedenen Netzwerkprotokolle und Anwendungsdienste konfiguriert. Klicken Sie auf Installieren, um eine weitere Komponente hinzuzufügen: Sie können zusätzliche Protokolle wie IPX/SPX auswählen, darüber hinaus diverse Clients und Dienste (Server).
    Der wichtigste Punkt ist der bereits vorhandene Eintrag Internetprotokoll (TCP/IP). Hier können Sie zunächst die IP-Adresse, die Netzmaske, das Standard-Gateway und die bevorzugten DNS-Server einstellen. Die Bedeutung dieser Einstellungen wurde weiter oben für Mac  OS erläutert. Wenn Sie die IP-Adresse von einem DHCP-Server erhalten möchten, wählen Sie IP-Adresse automatisch beziehen.
       
    Mit Hilfe der Schaltfläche Erweitert können Sie die folgenden zusätzlichen Einstellungen vornehmen: Unter IP-Einstellungen können Sie der Schnittstelle weitere IP-Adressen und Router-Verbindungen zuweisen. Die Registerkarte DNS ermöglicht die Angabe zusätzlicher Nameserver und die Konfiguration der Domain-Suffixe. Unter WINS können Sie den klassischen Namensdienst für Windows-Netzwerke konfigurieren. Unter Optionen kann die TCP/IP-Filterung konfiguriert werden: Sie können beliebige TCP- oder UDP-Ports und Transportprotokolle sperren; wenn Sie Nur zulassen ankreuzen, werden sogar alle Ports außer den explizit eingetragenen gesperrt. Sie können Ihre Netzwerkverbindungen mit Hilfe dieser Filteroptionen recht sicher machen, wenn Sie sich mit der Bedeutung der einzelnen Ports beschäftigen.
       
gp  Authentifizierung. Auf dieser Registerkarte können Sie einstellen, dass die Netzwerkkommunikation über Zertifikate (digitale Signaturen zur Identifikation von Rechnern und Schnittstellen) abgesichert werden soll. Dies ist besonders für drahtlose Netzwerke wichtig.
gp  Erweitert. Hier können Sie die Internetverbindungsfirewall aktivieren. Anders als die soeben angesprochene Paketfilterung funktioniert diese Firewall-Funktion auf Anwendungsebene: Sie können diverse Client- und Serverdienste je nach Bedarf absichern.

Galileo Computing

14.1.4 TCP/IP-Dienstprogramme  toptop

Wenn Sie die grundlegende Netzwerkeinrichtung nach der Anleitung für Ihr jeweiliges Betriebssystem vorgenommen haben, ist es Zeit, Ihre Netzwerk- und Internetanbindung zu testen. Natürlich können Sie unmittelbar einen Browser starten und versuchen, eine Webseite zu öffnen oder auf lokale Netzwerkressourcen zuzugreifen. Interessanter und oft aufschlussreicher ist es jedoch, das Funktionieren des Netzwerks auf einer etwas niedrigeren Ebene zu überprüfen. Zu diesem Zweck enthalten fast alle TCP/IP-Implementierungen eine Reihe kleiner Dienstprogramme zum Testen des Netzwerks. Das einzige in diesem Buch behandelte System, das sie gar nicht anbietet, ist Mac  OS 9 – hier müssen Sie sich mit Shareware aus dem Internet behelfen.

Die wichtigsten Befehle sind folgende:

gp  ping überprüft, ob ein bestimmter Host grundsätzlich erreichbar ist. Über das ICMP-Protokoll werden Test-Datenpakete an den Host geschickt, die er automatisch beantwortet. Dies sagt noch nichts darüber aus, ob bestimmte Netzwerkdienste auf dem Rechner funktionieren, sollte aber der erste Test sein, falls ein Dienst nicht arbeitet. Der Name ping ist kein Akronym, sondern steht für das Geräusch eines Echolots, mit dem seine Funktionalität durchaus vergleichbar ist. Die Bedienung des Programms ist denkbar einfach. Geben Sie auf der Konsole beispielsweise Folgendes ein, um zu testen, ob Sie eine Verbindung zum Webserver von Galileo Computing herstellen können:
> ping www.galileo-computing.de
PING wird ausgeführt für www.galileo-computing.de 
[213.128.133.121] mit 32 Bytes Daten:
Antwort von 213.128.133.121: Bytes=32 Zeit=80ms TTL=244
Antwort von 213.128.133.121: Bytes=32 Zeit=80ms TTL=244
Antwort von 213.128.133.121: Bytes=32 Zeit=80ms TTL=244
Antwort von 213.128.133.121: Bytes=32 Zeit=90ms TTL=244
    Dies ist eine Ausgabe der Windows-Version von ping, die automatisch vier Pakete sendet. UNIX-Versionen senden dagegen immer weiter Pakete, bis Sie (STRG) + (C) zum Abbruch drücken, und geben dann eine Statistik aus – dieses Verhalten lässt sich unter Windows mit der Option -t erreichen. Sie müssen dort also ping –t host schreiben, um beliebig viele Pakete zu senden.
       
    Wenn ein Host über ping nicht erreichbar ist, wird eine Timeout-Meldung angezeigt. Je nachdem, mit welchen Hosts Sie es versuchen, erhalten Sie ein aufschlussreiches Bild vom Zustand Ihrer Netzwerkverbindung: Wenn Sie gar keinen anderen Rechner erreichen, ist Ihre Netzwerkverbindung fehlerhaft. In diesem Fall sollten Sie erst die Verkabelung und dann die Softwarekonfiguration überprüfen.
       
    Falls Sie dagegen Rechner in Ihrem lokalen Netzwerk erreichen können, aber keine im Internet, hängt die Interpretation dieses Ergebnisses von der Art Ihrer Internetanbindung ab: Wenn Sie über eine separate Modem-, ISDN- oder DSL-Verbindung auf das Internet zugreifen, müssen Sie diese Verbindung überprüfen. Greifen Sie dagegen über das LAN zu, dann stimmt entweder etwas an Ihrer Routing-Konfiguration nicht oder das gesamte Netzwerk besitzt zurzeit keinen Internetzugang.
       
gp  traceroute gibt die einzelnen Router aus, die auf dem Weg zum angegebenen Zielhost passiert werden. Zu diesem Zweck wird ein ICMP-Paket nach dem anderen auf den Weg zum Zielhost gebracht und nacheinander mit einem immer höheren TTL-Wert ausgestattet, sodass es nacheinander von den beteiligten Routern bearbeitet wird. Unter Windows heißt das Programm übrigens kurz tracert. Eine typische Ausgabe sieht so aus:
> tracert www.uni-koeln.de
Verfolgung der Route zu www1.rrz.uni-koeln.de 
[134.95.100.203] über maximal 30 Abschnitte:
  1    60 ms    60 ms    60 ms
         xdsl-213-168-117-1.netcologne.de [213.168.117.1]
  2    60 ms    70 ms    60 ms  195.14.247.178
  3    60 ms    60 ms   230 ms
         cat6509-pg2-vl201.netcologne.de [195.14.195.153]
  4    50 ms    60 ms    60 ms
         rtint2-g400.netcologne.de [195.14.247.194]
  5     *        *        *     Zeitüberschreitung der 
       Anforderung (Timeout).
  6    60 ms    60 ms    60 ms 
        lfi-gw.rrz.Uni-Koeln.DE [134.95.4.34]
  7    50 ms    70 ms    60 ms 
        www1.rrz.Uni-Koeln.DE [134.95.100.203]
Route-Verfolgung beendet.
    Dass sich in der Ausgabe von traceroute ein Timeout befinden kann, bedeutet nicht, dass der entsprechende Router ausgefallen ist – schließlich leitet er die nächste Anfrage ordnungsgemäß an den folgenden Router weiter. Manche Betreiber schalten aber explizit die Beantwortung von traceroute-Anfragen aus, um Denial of Service-Attacken (Angriffe, die den Server oder Router überlasten) zu verhindern.
       
gp  netstat gibt Auskunft über die derzeitigen Netzwerkverbindungen, es wird also eine Liste aller aktiven TCP- und UDP-Verbindungen ausgegeben. Da der Begriff »UDP-Verbindung« ein Widerspruch in sich ist – es werden die Kanäle angezeigt, über die kürzlich UDP-Datagramme übertragen wurden –, ist es ratsam, die Liste auf TCP-Verbindungen zu beschränken. Dies funktioniert unter UNIX mit der Option -t und unter Windows mit -p tcp:
> netstat -p tcp
Aktive Verbindungen
Proto  Lokale Adresse  Remote-Adresse      Zustand
TCP    prefect:1025    localhost:1032      ESTABLISHED
TCP    prefect:1032    localhost:1025      ESTABLISHED
TCP    prefect:1136    galileo1.galileopress.de:8 ESTABLISHED
TCP    prefect:1137    216.239.51.104:80   ESTABLISHED
    Die Verbindungen zwischen prefect (dem Hostname des Rechners) und localhost dienen übrigens der Bindung der Loopback-Schnittstelle. Die beiden anderen Verbindungen sind HTTP-Verbindungen, was Sie an der Portnummer 80 der Remote-Adresse sehen können.
       
    Mit Hilfe anderer Optionen kann netstat auf UNIX-Systemen übrigens noch weitere Informationen ausgeben. Beispielsweise gibt netstat -in eine Übersicht über die Netzwerkschnittstellen aus, während netstat -rn die Routing-Tabellen anzeigt (siehe Kapitel 13, Netzwerkhardware und -protokolle).
       
gp  nslookup dient dazu, explizit einen Nameserver nach einer Adressauskunft zu befragen. Wie Sie an den Beispielen weiter oben bemerkt haben werden, erledigen die meisten TCP/IP-Programme dies automatisch. Manchmal kann es aber hilfreich sein, eine Adressauskunft zu erhalten. Wenn Sie in Ihrer TCP/IP-Konfiguration feste Nameserver eingetragen haben (siehe oben), brauchen Sie nur den zu suchenden Host anzugeben. Andernfalls müssen Sie hinter den Hostnamen den zu befragenden Nameserver setzen. Das folgende Beispiel zeigt, wie sich mit Hilfe des ersten Nameservers von NetCologne (194.8.194.70) die IP-Adresse von www.heise.de ermitteln lässt:
> nslookup www.heise.de 194.8.194.7 Server:  ns1.netcologne.de
Address:  194.8.194.7  
Nicht-autorisierte Antwort:
Name:    www.heise.de
Address:  193.99.144.71
    Die Formulierung »nicht-autorisierte Antwort« bedeutet nicht etwa, dass die Antwort falsch wäre, sondern nur, dass der NetCologne-Nameserver nicht der zuständige (autoritative) Server für die DNS-Zone heise.de ist. Sie können übrigens mittels nslookup auch die umgekehrte Aufgabe ausführen, nämlich den Hostname zu einer gegebenen IP-Adresse ermitteln (»Reverse Lookup«). Dies ist manchmal nützlich, um Einträge in Log-Dateien zu analysieren, etwa bei Zugriffen auf den eigenen Webserver (siehe unten). Beispiel:
       
> nslookup 193.99.144.71 194.8.194.7 Server:  ns1.netcologne.de
Address:  194.8.194.7  
Name:    www.heise.de
Address:  193.99.144.71
    Falls Sie ein UNIX-System verwenden, sollten Sie überprüfen, ob bei Ihnen das Programm dig vorhanden ist – es erfüllt im Wesentlichen dieselbe Aufgabe wie nslookup, gibt aber erheblich aussagekräftigere Antworten.
       





  

Einstieg in PHP 5

Einstieg in Java

C von A bis Z

Einstieg in C++

Einstieg in Linux

Einstieg in XML

Apache 2




Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de