Druckversion

Nutzerkommandos - Netzwerk

ftp - Einfacher FTP-Client Weiter

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
ftp> open localhost
Connected to localhost.
220 sonne.galaxis.de FTP server (Version 6.2/OpenBSD/Linux-0.11) ready.
Name (localhost:user): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
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
Connected to localhost.
220 spitz.maus.de FTP server (Version 6.2/OpenBSD/Linux-0.11) ready.
Name (localhost:user): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd ftp1
250 CWD command successful.
ftp> pwd
257 "/pub/ftp1" is current directory.
ftp> lcd /tmp
Local directory now /tmp
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
foo1    foo2    foo3
226 Transfer complete.
ftp> mget f*
mget foo1? y
200 PORT command successful.
150 Opening BINARY mode data connection for 'foo1' (0 bytes).
226 Transfer complete.
mget foo2? n
mget foo3? n
ftp> bye
221 Goodbye.

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 Zurück Anfang Weiter

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
user@sonne> /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:27:8F:FC:86
          inet addr:192.168.99.127  Bcast:192.168.99.255  Mask:255.255.255.0
          UP brOADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8203 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7363 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:10 Base address:0x8000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:94 errors:0 dropped:0 overruns:0 frame:0
          TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

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 Zurück Anfang Weiter

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 erde.galaxis.de (192.168.100.111): 56 data bytes
64 bytes from 192.168.100.111: icmp_seq=0 ttl=253 time=23.118 ms
64 bytes from 192.168.100.111: icmp_seq=1 ttl=253 time=9.612 ms
64 bytes from 192.168.100.111: icmp_seq=2 ttl=253 time=11.366 ms[Ctrl]+[C]
--- erde.galaxis.de ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 9.612/14.698/23.118 ms

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
PING www.linuxfibel.de (195.211.141.227): 512 data bytes
520 bytes from 195.211.141.227: icmp_seq=0 ttl=125 time=30.403 ms
RR:     sonne.galaxis.de (192.168.99.127)
        erde.galaxis.de (192.168.51.1)
        mars.galaxis.de (192.168.5.2)
        aura.saxsys.de (195.211.141.226)
        www.linuxfibel.de (195.211.141.227)
        base.saxsys.de (192.168.5.1)
        amor.saxsys.de (192.168.51.10)
        192.168.99.2
        sonne.galaxis.de (192.168.99.127)
        0.0.0.89        (truncated route)
--- www.linuxfibel.de ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 30.403/30.403/30.403 ms

netstat - Allerlei Netzwerkstatistiken... Zurück Anfang Weiter

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
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
PID/Program name
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  1      [ N ]       StrEAM     CONNECTED     2675   -                   @000004b8
unix  1      [ N ]       StrEAM     CONNECTED     2271   394/netscape        @000003ee
unix  1      [ ]         StrEAM     CONNECTED     623    360/kpanel          @000000bf

Eine Statistik der aktiven Verbindungen erhält man mit der Option -a

user@sonne> netstat -a | head -10
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address    State
tcp        0     0 *:6000             *:*                LISTEN
tcp        0     0 *:auth             *:*                LISTEN
tcp        0     0 *:ssh              *:*                LISTEN
tcp        0     0 *:swat             *:*                LISTEN
tcp        0     0 *:http-rman        *:*                LISTEN
tcp        0     0 *:finger           *:*                LISTEN
tcp        0     0 *:pop3             *:*                LISTEN
tcp        0     0 *:login            *:*                LISTEN

Die Routing-Tabelle bringt die Option -r zum Vorschein:

user@sonne> netstat -r
Kernel IP routing table
Destination   Gateway      Genmask       Flags  MSS Window  irtt Iface
loopback      *            255.0.0.0     U        0 0          0 lo

Und die Statistiken bezüglich der verschiedenen Protokolle sollen auch noch Erwähnung finden (Option -s):

user@sonne> netstat -s
Ip:
    580 total packets received
    0 forwarded
    0 incoming packets discarded
    0 incoming packets delivered
    580 requests sent out
Icmp:
    ...
Tcp:
    35 active connections openings
    0 passive connection openings
    0 failed connection attempts
    0 connection resets received
    0 connections established
    580 segments received
    580 segments send out
    0 segments retransmited
    0 bad segments received.
    0 resets sent
Udp:
    ...
TcpExt:

nslookup - Den Nameserver befragen Zurück Anfang Weiter

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
Server:  localhost
Address:  127.0.0.1

Name:    www.gnu.org
Address:  198.186.203.18

user@sonne> nslookup 198.186.203.18
Server:  localhost
Address:  127.0.0.1

Name:    gnudist.gnu.org
Address:  198.186.203.18

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
Default Server:  localhost
Address:  127.0.0.1

> set type=any
> www.gnu.org
Server:  localhost
Address:  127.0.0.1

Non-authoritative answer:
www.gnu.org     internet address = 198.186.203.18

Authoritative answers can be found from:
gnu.org nameserver = ns1.gnu.org
gnu.org nameserver = sfi.santafe.edu
gnu.org nameserver = nic.cent.net
gnu.org nameserver = ns2.cent.net
ns1.gnu.org     internet address = 158.121.106.18
> exit
user@sonne>

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
Default Server:  ns1.gnu.org
Address:  158.121.106.18

> set type=any
> www.gnu.org
Server:  ns1.gnu.org
Address:  158.121.106.18

www.gnu.org     CPU = INTEL-686 OS = GNU/LINUX
www.gnu.org     preference = 10, mail exchanger = mescaline.gnu.org
www.gnu.org     preference = 20, mail exchanger = tug.org
www.gnu.org     internet address = 198.186.203.18
gnu.org nameserver = ns1.gnu.org
gnu.org nameserver = sfi.santafe.edu
gnu.org nameserver = nic.cent.net
gnu.org nameserver = ns2.cent.net
mescaline.gnu.org       internet address = 158.121.106.21
tug.org internet address = 158.121.106.10
ns1.gnu.org    internet address = 158.121.106.18
sfi.santafe.edu internet address = 192.12.12.1
nic.cent.net    internet address = 140.186.1.4
ns2.cent.net    internet address = 140.186.1.14
> exit
user@sonne>

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 Zurück Anfang Weiter

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
telnet> help
Commands may be abbreviated.  Commands are:

close           close current connection
logout          forcibly logout remote user and close the connection
display         display operating parameters
mode            try to enter line or character mode ('mode ?' for more)
open            connect to a site
quit            exit telnet
send            transmit special characters ('send ?' for more)
set             set operating parameters ('set ?' for more)
unset           unset operating parameters ('unset ?' for more)
status          print status information
toggle          toggle operating parameters ('toggle ?' for more)
slc             change state of special charaters ('slc ?' for more)
z               suspend telnet
!               invoke a subshell
environ         change environment variables ('environ ?' for more)
?               print help information
telnet> quit
user@sonne>

Um die Verbindung zu einem Rechner herzustellen, ist nun open Rechnername [Port] einzugeben.

telnet> open localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to Linux (i386) - Kernel 2.2.16 (pts/3).

sonne login:

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
Trying 192.168.10.101...
Connected to sonne.galaxis.de
Escape character is '^]'.
220 sonne.galaxis.de ESMTP Sendmail 8.8.8/8.8.8; Mon, 19 Apr 1999 14:44:05 +0200
HELO galaxis.de
250 sonne.galaxis.de Hello user@sonne.galaxis.de [192.168.10.101], pleased to meet you
HELP
214-This is Sendmail version 8.8.8
214-Topics:
214- HELO EHLO MAIL RCPT DATA
214- RSET NOOP QUIT HELP VRFY
214- EXPN VERB EtrN DSN
214-For more info use "HELP <topic>".
214-To report bugs in the implementation send email to
214- sendmail-bugs@sendmail.org.
214-For local information send email to Postmaster at your site.
214 End of HELP info
MAIL FROM:user@galaxis.de
250 user@galaxis.de... Sender ok
RCPT TO:root@sonne.galaxis.de
250 root@sonne.galaxis.de... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
<ENTER>
Date: Mon Apr 1 11:11:11 MEST 2000
From: <user@sonne.galaxis.de>
To: <root@sonne.galaxis.de>
Subjects: demonstration
this is the mail body.
.
250 OAA01356 Message accepted for delivery
QUIT
221 sonne.galaxis.de closing connection
Connection closed by foreign host.

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 Zurück Anfang Weiter

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
traceroute to www.gnu.org (198.186.203.18), 30 hops max, 40 byte packets
 1  erde.galaxis.de (194.180.239.1)  0 ms  0 ms  1 ms
 2  sphere.galaxis.de (192.168.5.1)  1 ms  1 ms  1 ms
 3  195.211.141.1 (195.211.141.1)  3 ms  3 ms  3 ms
 4  br2.frankfurt.gigabell.net (195.211.224.12)  18 ms  19 ms  18 ms
 5  cr1.frankfurt.gigabell.net (195.211.199.30)  17 ms  19 ms  17 ms
 6  atm1-145.cr1.newyork.gigabell.net (195.211.114.30)  111 ms  113 ms  113 ms
 7  usa-gate1.cr2.newyork.lightning.net (216.66.2.77)  110 ms  112 ms  110 ms
 8  a4-0-0.br1.nycmny.us.lightning.net (216.66.3.1)  188 ms  173 ms  139 ms
 9  a2-0-0.br1.snvaca.us.lightning.net (216.66.3.6)  179 ms  177 ms  186 ms
10  s0-1-0.br1.plalca.us.lightning.net (216.66.2.90)  182 ms  186 ms  180 ms
11  paix2.via.net (198.32.175.80)  185 ms  180 ms  183 ms
12  209.81.23.54 (209.81.23.54)  185 ms  180 ms  181 ms
13  gnudist.gnu.org (198.186.203.18)  184 ms  182 ms  186 ms

ypwhich - NIS-Server und Dateien lokalisieren Zurück Anfang

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
nis.galaxis.de
user@sonne> ypwhich -x
Benutze "ethers"        für Map "ethers.byname"
Benutze "aliases"       für Map "mail.aliases"
Benutze "services"      für Map "services.byname"
Benutze "protocols"     für Map "protocols.bynumber"
Benutze "hosts"         für Map "hosts.byname"
Benutze "networks"      für Map "networks.byaddr"
Benutze "group"         für Map "group.byname"
Benutze "passwd"        für Map "passwd.byname"
Korrekturen, Hinweise?
Startseite Nächste Seite Nächstes Kapitel Vorherige Seite Kapitelanfang