Nutzerkommandos - Netzwerk |
ftp - Einfacher FTP-Client |
Aufruf: ftp [OPTIONEN] [host] |
Das File Transfer Protocol ermöglicht den Austausch von Daten zwischen einem FTP-Server und den Clients. Beim Kommando ftp handelt es sich um einen einfachen, kommandozeilen-orientierten FTP-Client, der jeder Distribution beiliegen sollte.
Der Zugang auf einen FTP-Server erfordert prinzipiell die Angaben von Nutzerkennzeichen und einem Passwort. Alle Server, die allgemein zugängliche Daten zur Verfügung stellen, ermöglichen daher die Anmeldung als Nutzer ftp oder anonymous. Als Passwort ist die Angabe der eigenen email-Adresse üblich (aber nicht unbedingt erforderlich).
ftp startet, wird es ohne Angabe eines Zielrechners aufgerufen, im interaktiven Modus und erwartet weitere Eingaben. Als eine der ersten Aktionen ist die Verbindung zu einem Server mit dem Kommando open Servername sicherlich sinnvoll:
user@sonne> ftp |
Zur Login-Aufforderung gelangt man unmittelbar, wenn der Zielrechner per Kommandozeile angegeben wird.
Die Kommandos von ftp lassen sich grob in drei Gruppen einordnen: Kommandos zur Zugriffssteuerung, Kommandos zur Vereinbarung der Übertragungsparameter und Kommandos zum Datentransfer, wobei in diesem Abschnitt einzig elementare Kommandos zur Datenübertragung von Interesse sein sollen.
Den Inhalt des aktuellen Verzeichnisses (Kommando pwd) auf dem FTP-Server zeigen ls oder dir an. Um das Verzeichnis auf dem Server zu wechseln, gibt man cd [Verzeichnisname] ein. Ohne Angabe des Verzeichnisses landet man im FTP-Basisverzeichnis des Servers.
Datenübertragungen finden nun zwischen aktuellem Serververzeichnis und aktuellem Verzeichnis auf dem lokalen Rechner statt. Letzteres kann mit dem Befehl lcd [Verzeichnisname] geändert werden. Dateien vom Server lädt man mit get Datei herunter, möchte man Metazeichen im Dateinamen verwenden, nutzt man mget Datei_mit_Metazeichen:
user@sonne> ftp localhost |
Die Gegenrichtung, das Senden von Dateien zum Server, ist bei anonymem FTP meist untersagt. Möglich ist es mit den Kommandos put Datei bzw. mput Datei_mit_Metazeichen. Auch ein Anlegen von Verzeichnissen kann bei entsprechender Konfiguration erlaubt sein mkdir [Verzeichnisname].
ifconfig - Status der Netzwerkinterface betrachten |
Aufruf: ifconfig [interface] |
Das Kommando ifconfig dient dem Administrator zur Konfiguration der Netzwerkschnittstellen. Der "normale" Benutzer kann sich einzig die aktuellen Konfigurationseinstellungen anzeigen lassen. Ohne Argumente aufgerufen, listet ifconfig die Einstellungen aller Schnittstellen auf, mit dem Namen einer Schnittstelle nur deren Charakteristiken:
# Der Pfad /sbin ist selten in $PATH eines Nutzers
enthalten, deswegen Aufruf mit vollständigem Pfad |
Die interessanteren Informationen zu einer Schnittstelle sind sicherlich die IP-Adresse (inet addr), die Broadcast-Adresse (Bcast), die Subnetzmaske (Mask). "UP" besagt, dass die Schnittstelle aktiv ist, unter "RX" und "TX" sind einige Informationen über empfangene und gesendete Pakete abzulesen.
ping- Erreichbarkeit von Rechnern testen |
Aufruf: ping [OPTIONEN] host |
Ob ein Rechner derzeit im Netzwerk ansprechbar ist, verrät ping. Das Kommando sendet kleine Pakete an den Zielrechner und misst die Antwortzeiten. Der Rechner kann mittels seiner IP-Adresse oder als symbolischer Name angegeben werden. In letzterem Fall muss dieser aber auflösbar sein (irgendein Mechanismus muss zum Namen die entsprechende Adresse liefern können.
user@sonne> ping erde |
ping wiederholt den Sendevorgang bis zum expliziten Abbruch durch Eingabe von [Ctrl]-[C]. Anschließend verrät es eine Statistik mit u.a. verlorenen Paketen (Zeitüberschreitung beim Empfang der Antwort), und den Zeiten der schnellsten/durchschnittlichen/langsamsten Übertragung.
Mit der Option -c Anzahl lässt sich die Anzahl der Testdurchläufe von vornherein beschränken. Ist man an der Aufzeichnung des Weges, den das Paket nimmt, interessiert, ist die Option -R nütze. Die weiteren Optionen betreffen im Wesentlichen die Manipulation spezieller Felder des IP-Headers sowie das Aussehen der Testpakete (zum Ändern der Paketgröße (normal 56 Bytes) wähle man -s Bytes):
user@sonne> ping -R -c 1 -s 512
www.linuxfibel.de |
netstat - Allerlei Netzwerkstatistiken... |
Aufruf: netstat [OPTIONEN] |
netstat ist ein Kommando, um Fehler oder Schwachpunke in der Netzwerkkonfiguration zu lokalisieren. Die Behebung der Fehler bleibt zwar dem Administrator vorbehalten, aber die verschiedenen Informationen werden auch dem normalen Benutzer nicht vorenthalten.
Aus der Fülle der Optionen möchten wir nur einige wenige vorstellen.
Ohne Option gerufen, listet netstat den Status aller geöffneter Sockets (Kommunikationsendpunkte) auf. Etwas Licht ins Dunkel bringt da -p, das die Namen der Programme anzeigt, die den Socket eröffnet haben:
user@sonne> netstat -p | head -7
|
Eine Statistik der aktiven Verbindungen erhält man mit der Option -a
user@sonne> netstat -a | head
-10 |
Die Routing-Tabelle bringt die Option -r zum Vorschein:
user@sonne> netstat -r |
Und die Statistiken bezüglich der verschiedenen Protokolle sollen auch noch Erwähnung finden (Option -s):
user@sonne> netstat -s |
nslookup - Den Nameserver befragen |
Aufruf: nslookup [-option ...] [host-to-find |
-[server]] |
Wie erhält man zu einem Rechnernamen dessen IP-Adresse? Oder man kennt die Adresse und würde gern den zugehörigen Namen erfahren? Dann sollte man den Domain Name Service befragen und mit dem Werkzeug nslookup eine Anfrage stellen.
user@sonne> nslookup www.gnu.org |
Im interaktiven Modus (Aufruf ohne Angabe eines Rechnernamens) lassen sich dem Server eine Reihe weiterer Informationen entlocken. Da die damit verbundenen Möglichkeiten den Rahmen des Erträglichen sprengen würden, schauen wir uns nur an, welche Information zu "www.gnu.org" verfügbar sind:
user@sonne> nslookup |
Mit "Non-authoritative answer" deutet uns das Programm schon an, dass andere DNS-Server eventuell genauere Informationen liefern könnten. Also versuchen wir eine Anfrage bei "ns1.gnu.org", indem wir den Servernamen auf der Kommandozeile einem Minus/Leerzeichen folgen lassen:
user@sonne> nslookup -
ns1.gnu.org |
Jetzt wissen wir, dass Linux den Gnu-Rechner dirigiert, ein Pentium (oder Klone) in seinem Inneren den Takt angibt und wir kennen die verantwortlichen Mailserver und...
telnet - Entfernte Terminalsitzung |
Aufruf: telnet [OPTIONEN] [host [port]]
|
telnet ermöglicht eine Terminal-Sitzung auf einem entfernten Rechner, d.h. man arbeitet bei bestehender Verbindung (fast) genauso, als würde man auf dem lokalen Rechner die Befehle eintippen.
telnet wird aus Sicherheitsgründen (z.B. fehlender Passwort-Verschlüsselung) häufig deaktiviert, aber dieses Vorgehen wie auch die Möglichkeiten zur Konfiguration sind Bestandteil des Netzwerkkapitels zu Telnet.
Ohne Argumente gerufen, wechselt das Kommando in den interaktiven Modus und deutet die Bereitschaft zur Entgegennahme der Kommandos an:
user@sonne> telnet |
Um die Verbindung zu einem Rechner herzustellen, ist nun open Rechnername [Port] einzugeben.
telnet> open localhost |
Als Nutzerkennzeichen ist nun ein auf dem entfernten Rechner existierendes Kennzeichen zu wählen. Nach anschließender Verifizierung des Passwortes eröffnet man eine Sitzung, auf der analog zu einem lokalen Konsolen-Login verfahren wird. Die Sitzung beendet man mittels logout oder exit.
telnet kann dem Zielrechner auch per Kommandozeilenargument mitgeteilt werden, dann wird unverzüglich mit dem Verbindungsaufbau begonnen und mit Beenden der entfernten Terminalsitzung ist auch telnet beendet. Der Telnet-Dienst verwendet Port 23, durch Angabe eines alternativen Ports kann auch mit anderen Diensten kommuniziert werden, als Beispiel führen wir eine kurzen Dialog mit dem sendmail-Mailserver (am Port 25):
user@sonne> telnet sonne smtp |
Von der Optionen sind -l Nutzer (kleines L) und -x interessant. Ersteres teilt telnet mit, dass wir eine Verbindung unter dem Nutzerkennzeichen "Nutzer" wünschen. Die "login"-Aufforderung entfällt damit. Und "-x" ermöglicht eine verschlüsselte Datenübertragung, allerdings nur, wenn Client und Server diese unterstützen.
traceroute - Den Weg eines Paketes aufzeichnen |
Aufruf: traceroute [OPTIONEN] host
[Paketgröße] |
traceroute verfolgt die Route, die ein Paket zu einem Zielrechner (anzugeben als IP-Adresse oder symbolischer Name) nimmt. Das Kommando nutzt die Tatsache, dass ein jedes IP-Paket nur eine bestimmte Lebensdauer haben kann (TTL time to live). Ist diese Dauer abgelaufen, wird der Rechner, bei dem der Verfall auftrat, eine Fehlernachricht an den Absender schicken.
traceroute erhöht nun in jedem Schritt das TTL-Feld des Paketes, so dass es vom jeweils nächsten Vermittlungsrechner verworfen wird. Pro Knotenrechner wird der Vorgang drei Mal wiederholt (Ändern mit -q Anzahl) und die Zeiten gemessen. Auf die Reaktion eines Rechners wird 3 Sekunden gewartet (Ändern mit -w Sekunden).
user@sonne> /usr/sbin/traceroute
www.gnu.org |
ypwhich - NIS-Server und Dateien lokalisieren |
Aufruf: ypwhich [OPTIONEN] |
ypwhich soll hier stellvertretend für die Kommandos des Network Information Systems stehen. Dieses System ist ein Verzeichnisdienst, mit dem bestimmte Konfigurations- und Verwaltungsdateien für einen Bereich des Netzwerkes (die NIS-Domäne) gleichsam zur Verfügung gestellt werden können. Somit ist es z.B. möglich, dass sich die Benutzer an einem beliebigen Rechner eines NIS-Bereiches anmelden und überall dieselbe Umgebung vorfinden.
Ohne Argumente aufgerufen, meldet das Kommando den konfigurierten NIS-Server, der für den Rechner verantwortlich ist. Mit der Option -x werden alle Dateien aufgelistet, die anstatt lokal vom NIS-Server bezogen werden:
user@sonne> ypwhich |