|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ISBN: 3930673576 ISBN: 3930673576 ISBN: 3930673576 ISBN: 3930673576 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Wir empfehlen: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A free Basic UNIX-training with muLinuxNotes: This Text is roughly translated (German to English) by a translating program. Sorry, but I have not time for the translation. Maybe you can do this.
For what do I actually need a network? This question can occur quite if one only
one computer without network card and modem has. Or one is situated with its
laptop on the green meadow and the next computer is far. Who thinks now however
this section not to study not to need, that has itself erred. We learn the
network bases with the help of a computer. The magic word is called loopback
(English loop = loop, bake = back). It is vorgegaukelt the computer a
network, by referring to itself. That has the following advantages for us:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Language: | German |
| Transfer: | Larynx, air oscillations, ears |
Nowadays one converses usually more with the help of a Handys (English for griffig, handy - not for radio telephone!) as with that, which sits at the same desk. We look at ourselves now the model:
| Language: | German |
| Transfer: | Larynx, air oscillations, cable, radio, ears |
We modified thus the lower layer. The upper layer remains however independent of it. Whereby however the upper layer presupposes the lower. It took place us however perfectly no matter how the technical implementation of the lower layer. This can take place with copper or fiber-optic cable cables, with similar or digital switching centers. As a final user that does not interest us. Only if there are concerning the price differences.
Naturally we can modify also the language, if we speak several languages.
| Language: | English |
| Transfer: | Larynx, air oscillations, ears |
If we are not so powerful the language or we want to make sure whether other all this understood, we must inquire for security.
| Language: | German |
| Acknowledgement: | Did you understand? |
| Transfer: | Larynx, air oscillations, ears |
We imagine a meeting and all want to speak. There must be thus a regulation, who may speak. Usually this regulates the versammlungsleiter.
| Language: | German |
| Switching: | They may now speak. |
| Acknowledgement: | Did you understand? |
| Transfer: | Larynx, air oscillations, ears |
Surely this model did not develop theoretically. That is not also my target. I think it am evident that it is not simple a generally accepted model for all communications to create. Thus much trouble made itself the ISO (international Standardisation organization), in order to develop the OSI model.
| 7 | Application layer |
| 6 | Presentation layer |
| 5 | Communication control layer |
| 4 | Transport layer |
| 3 | Switching layer |
| 2 | Link layer |
| 1 | Bituebertragungsschicht |
This model enables communication by means of different hard and software. The moreover the hard and software developer need to worry only about the layers important for the product. Everyone must adhere natural to the defined interfaces between the layers.
An interface (English INTERFACE) defines transfers. Us a well-known interface is the current plug socket. As the current is made whether with coal, water or nuclear power is us usually (still) all the same. The current supplier is against it most indifferently whether we a lamp or attaches a computer there. Main thing the design of the plug socket and the parameters (220V, 50 cycles per second alternating current) fit.
There are thus also software interfaces. These enable here communication between the layers. Since each layer needs the functioning layer lying under it in each case, the layers give the higher in each case layer to completion notices and. Always the structure of communication takes place upward from down. With a modem one can even hear this structure by the different sounds. With error detection in the network is the knowledge layer model a prerequisite for the containment of the error. We will become acquainted with the appropriate instruction in addition.
We begin in the model from down.
Here the more practical model with the appropriate logs.
| Applications | www, ftp, rlogin, mail, NFS, telnet, NFS, dns, samba... |
| Feed | TCP UDP |
| Network | IP ARP RARP |
| Physically | loopback , hardware (Koax, glass fiber...), Ethernettyp... |
As one can see, that is in the lower layer loopback settled. If this is installed, the above layers can take up their work, without which the network hardware (network card, modem) was installed and configured. So we can configure all logs and programs of the upper layers and learn to apply. The network hardware configure we later additionally to loopback .
We begin again down:
loopback wird wie ein Gerät (engl. device) angesprochen. Für die oberen Schichten ist es kein Unterschied ob sie loopback, eine Netzwerkkarte ein Modem oder eine ISDN-Karte ansprechen. Um zu testen, ob das loopback-Device bereits aktiv ist, dient der Befehl ifconfig. Dieser Befehl kann nur vom Nutzer root ausgeführt werden. Aber wir sind ja bei muLinux root.
ifconfig dient zur Abfrage der Einstellungen und zur Konfiguration der Netzwerk-Interfaces. Jedes Netzwerk-Gerät kann mindestens ein Netzwerk-Interface beinhalten. Netzwerkkarten können z. B. auch mehrere Interface, sprich IP-Adressen (siehe unten), besitzen.
/# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:32 errors:0 droped:0 overruns:0
TX packets:32 errors:0 droped:0 overruns:0
/#
Wenn wir diese Ausgabe sehen, ist das loopback-Device aktiv. Die weiteren Angaben schauen wir uns etwas später an. ifconfig (interface configuration) wird im Normalfall während des Systemstarts durch Startup-Skripts (muLinux: /etc/rc.4, SuSE:/etc/rc.conf) ausgeführt. Man kann dieses Kommando auch benutzen, um während des Betriebes Änderungen der Netzwerk-Konfiguration vorzunehmen. Wir fahren jetzt das Interface lo herunter (engl. down):
/# ifconfig lo down
ifconfig ohne Parameter zeigt uns was passiert ist:
/# ifconfig /#
Kein Device ist aktiv. Zum Aktivieren von lo geben wir folgenden Befehl ein:
/# ifconfig lo up
Der Test beweist es:
/# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:0 errors:0 droped:0 overruns:0
TX packets:0 errors:0 droped:0 overruns:0
/#
Was bedeuten die angezeigten Informationen von ifconfig?
Wenn eine Netzwerkkarte konfiguriert wurde, wird zusätzlich in etwa folgendes angezeigt.
eth0 Link encap:Ethernet HWaddr 00:00:E8:C8:5B:3F
inet addr: 192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:859 errors:0 dropped:0 overruns:0 frame:0
TX packets:974 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:3 Base address:0x300
Es handelt sich hier um das eth0-Device. Unix-Leute fangen meist von 0 an zu zählen. Eine mögliche zweite Netzwerkkarte wäre dann eth1. Hier ist auch die Hardware-Adresse der Netzwerkkarte zu sehen: 00:00:E8:C8:5B:3F. Diese Zahlenkombination hat die Netzwerkkarte in meinem Rechner. Weiterhin sind die IP-Adresse dieses Interface zu sehen.
Diese Angaben sind sicherlich noch etwas unverständlich. Sie gehören zu dem IP-Protokoll in der nächsten Schicht und werden weiter unten erklärt.
Hinweis:
Bei älteren muLinux-Versionen ist das loopback-Device nicht standardmäßig aktiv.
Es muß mit setup -f net | Dummy network? y aktiviert werden.
Bei der Linux-Distribution SuSE erfolgt dies mit yast über Administration des Systems | Konfigurationsdatei bearbeiten | START_LOOPBACK = yes.
Zurück zu den dummen Computern. Diese haben nur die Ziffern Null und Eins. Diese zählen deshalb folgendermaßen:
0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 16 10000
Bei der letzten Stelle folgen die Ziffern Null und Eins abwechselnd. Bei der nächsten Stelle alle zwei Schritte, dann alle vier Schritte, ...
Leider spielt die 10, die unser normales Zahlensystem bestimmt, hier keine Rolle. Alles bezieht sich hier auf die 2, also die beiden Zustände "keine Spannung" und "Spannung". Diese kleinste Speicher-Einheit aus zwei Zuständen wird Bit genannt. Acht Bit sind übrigens ein Byte.
Dieses Prinzip ist so simpel, daß es sogar Computer verstehen. Nur für uns scheint es unpraktisch zu sein. Gott hätte uns lieber mit 2, 4, 8 oder 16 Fingern erschaffen sollen. Wir hätten dann dieses System besser durchschaut. Es bleibt die große philosophische Frage: Warum hat Gott die Computer-Technik nicht vorhersehen können? Oder ist diese Technik vielleicht gar nicht so wichtig? Wir haben aber Glück gehabt, da wir mit zwei Händen erschaffen wurden. Hätten wir drei Hände, würde unser Zahlensystem auf einer ungeraden Zahl basieren.
Wie kann man diese Zahlenkolonnen aus Nullen und Einsen in unser Zahlensystem umwandeln? Sehr einfach geht das mit einem wissenschaftlichen Taschenrechner. Diese gibt es bei den großen Linux-Distributionen als kcalc. Wir können die Umrechnung aber auch im Kopf machen.
Umrechnungsbeispiel:
1011001
1 * 20 = 1
0 * 21 = 0
0 * 22 = 0
1 * 23 = 8
1 * 24 = 16
0 * 25 = 0
1 * 26 = 64
-----------------
89
10101010101010101010101010101010
Deshalb unterteilt man dieses Monstrum in vier Teile. Die Trennung erfolgt mit Punkten.
10101010.10101010.10101010.10101010
Zur besseren Darstellung wird die IP-Adresse in der Form von vier Dezimalzahlen dargestellt.
10101010.10101010.10101010.10101010
170. 170. 170. 170
Mögliche Werte sind jeweils von 0 bis 255.
00000000.00000000.00000000.00000000
0. 0. 0. 0
11111111.11111111.11111111.11111111
255. 255. 255. 255
So lassen sich theoretisch über 8 Milliarden (233-1 = 8589934591) Rechner adressieren. Tatsächlich verhindert aber die Reservierung von Bereichen für Sonderzwecke sowie die Aufteilung in die wenig flexiblen Netzklassen die Nutzung vieler IP-Adressen.
Es müssen Rechner in logische Gruppen (Netzwerke) verwaltet werden können. Der erste Teil der IP-Adresse dient daher als Netz-Adresse. Der Rest dient als Host-Adresse. Ein Host (engl. für Hausherr, Gastgeber, Haupt-Computer) ist ein Rechner. Es gibt mehrere Klassen von Netzwerken.
0nnnnnnn.xxxxxxxx.xxxxxxxx.xxxxxxxx
So ergeben sich 127 mögliche Klasse-A-Netze:
00000000.xxxxxxxx.xxxxxxxx.xxxxxxxx
0
01111111.xxxxxxxx.xxxxxxxx.xxxxxxxx
127
0, 10 und 127 (loopback) entfallen aber für den Internetverkehr, so daß weltweit nur 125 Klasse-A-Netze verkoppelt werden können.
Jedes Netz kann bist zu 16777216 Hosts (Rechner) enthalten.
Diese Klasse dürfte für den Privatgebrauch nicht geeignet sein.
10nnnnnnn.nnnnnnnn.xxxxxxxx.xxxxxxxx
Es ergeben sich 16284 Netze mit jeweils 65.534 Hosts.
10000000.00000000.xxxxxxxx.xxxxxxxx
128 0
10111111.11111111.xxxxxxxx.xxxxxxxx
191 255
Auch das ist für den Privatgebrauch überdimensioniert.
110nnnnnn.nnnnnnnn.nnnnnnnn.xxxxxxxx
Es ergeben sich 2097152 Netze mit jeweils 254 Hosts.
11000000.00000000.00000000.xxxxxxxx
192 0 0
11011111.11111111.11111111.xxxxxxxx
223 255 255
Dieses Netz ist durchaus für den Privatgebrauch oder für eine kleine Firma geeignet.
1110mmmm.gggggggg.gggggggg.gggggggg
Es ergeben sich 268435456 Gruppen.
11100000.gggggggg.gggggggg.gggggggg
224
11101111.gggggggg.gggggggg.gggggggg
239
11110rrr.rrrrrrrr.rrrrrrrr.rrrrrrrr
Es ergeben sich 268435456 Varianten.
11110rrr.rrrrrrrr.rrrrrrrr.rrrrrrrr
240
11110rrr.rrrrrrrr.rrrrrrrr.rrrrrrrr
247
Ein Beispiel einer Netzwerkmaske:
11111111.11111111.11111111.00000000
255. 255. 255. 0
Überall wo eine Eins steht wird der Netzwerkteil der IP-Adresse maskiert. Wo Nullen sind, wird aus der IP-Adresse die Host-Adresse gefiltert.
nnnnnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
255. 255. 255. 0
Beispielsweise wird dann diese IP-Adresse wie folgt aufgeteilt.
192. 168. 1. 2
|_________________________||______|
Netz-Adresse Host-Adr.
192. 168. 1. 0
Diese Adresse kann keinem Rechner zugeordnet werden.
192. 168. 1. 255
Auch dieses Adresse steht für keinen Computer in diesem Netzwerk zur Verfügung.
Netzwerk: 192.168. 1. 0 Netmask: 255.255.255. 0 Broadcast: 192.168. 1.255 erster PC: 192.168. 1. 1 zweiter PC: 192.168. 1. 2 dritter PC: 192.168. 1. 3 ... letzter PC: 192.168. 1.254
Wer ein zweites Netzwerk aufbauen will, verwende als Netzwerk-Adresse 192.168. 2. 0. Natürlich müssen alle anderen Adressen auch eine 2 im dritten Oktett erhalten. Ausgenommen ist die Netzmaske. Diese ist auch hier 255.255.255. 0.
Über Router können dann die Netzwerke untereinander bzw. an das Internet verbunden werden. Die Router sind oft auch Linux-PCs. Sie steuern welche Pakete in das jeweils andere Netz dürfen.
/# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:32 errors:0 droped:0 overruns:0
TX packets:32 errors:0 droped:0 overruns:0
/#
Das ich eines Rechner wird also mit 127.0.0.1 adressiert. An Hand der Netzmaske von 255.0.0.0 sehen wir, daß für jedes ich eines Rechner ein Klasse-A-Netz reserviert wurde. Dieser Adressbereich darf auch nur intern verwendet werden.
Dieser Befehl ist sehr wichtig bei der Erkennung und Beseitigung von Netzwerkfehlern. Dieser Befehl ist auch in dem DOS-Fenster unter Windows vorhanden. Viele Mausschieber kennen ihn nicht. Wenn das Netzwerk nicht funktioniert - dies kann bei Windows öfter auftreten - krauchen manche schon unter dem Tisch herum, um die Netzwerkkabel zu checken. Ein ping auf den anderen Rechner zeigt hier oft eine intakte Verbindung an. Also erspart man sich schon mal den Blick unter den Tisch. Der Fehler muß dann in den höheren Schichten liegen (ZugangsPaßwort, große Netzlast, ...).
Wie sieht ein ordentlicher ping aus? Als erstes pingen wir die IP-Adresse des loopback-Interfaces an.
/# ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.2 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.1 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.1 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=255 time=0.1 ms [Strg] [C] --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.129/0.173/0.289 ms /#
Abbrechen kann man den Befehl mit [Strg] [C]. Wie man sieht wurden Pakete empfangen. Alles ist in Ordnung. Einen anderen Rechner können wir ohne Netzwerkkarte oder Modem natürlich nicht anpingen.
Wir können aber einen Fehler simulieren, indem wir das entsprechende Interface deaktivieren. Wir wissen ja schon wie das geht.
/# ifconfig lo down /# ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes ping: sendto Network is unreachable ping: wrote 127.0.0.1 64 chars, ret=-1 ping: sendto Network is unreachable ping: wrote 127.0.0.1 64 chars, ret=-1 ping: sendto Network is unreachable ping: wrote 127.0.0.1 64 chars, ret=-1 ping: sendto Network is unreachable ping: wrote 127.0.0.1 64 chars, ret=-1 [Strg] [C] --- 127.0.0.1 ping statistik --- 4 packets transmitted, 0 packets recived, 100% packets loss /#
Das sieht traurig aus. Das Netzwerk ist unerreichbar (engl. unreachable) und von den gesendeten (engl. transmitted) Paketen wurden 0 empfangen (engl. received). Ein Verlust (engl. loss) von 100 %. Wir bringen das schon in Ordnung.
/# ifconfig lo up /# ping 127.0.0.1 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.2 ms ...
Das UDP stellt ein verbindungsloses Protokoll dar. Es stellt im Gegensatz zum TCP keine Sicherheitsmechanismen zur Verfügung. Der Verlust von Datenpaketen wird den Anwendungsprogrammen nicht mitgeteilt. Ein Erkennen und Beseitigen von solchen Fehlern wird der Intelligenz der Anwendungen überlassen. Aus diesem Grund arbeiten die meisten UDP-Anwendungen nur in kleineren Netzwerken, da bei solch komplexen Netzen wie dem Internet die Wahrscheinlichkeit eines Datenverlustes entschieden größer ist. UDP wird daher seltener als TCP angewendet.
Das Gegenstück zum UDP stellt das TCP dar. TCP stellt eine duplexfähige virtuelle Verbindung her. D.h., das daß TCP-Protokoll einen verbindungsorientierten Dienst zur Verfügung stellt. Am Beginn jeder TCP-Sitzung wird eine Verbindung zwischen den Rechnern aufgebaut. Während der TCP-Sitzung kommt eine Sicherungstechnik mit dem Namen: "positive acknowledgement with transmission" (positive Bestätigung mit Quittung) zum Einsatz. Damit ist es möglich den Verlust von Datenpaketen zu erkennen, und einen Neuversand zu veranlassen. Aus diesem Grund ist das TCP verbreiteter in seinem Einsatzbereich. Gleichzeitig wird durch den erhöhten Verwaltungsaufwand der Overhead jeder Datei entsprechend größer.
Die auf einen System verfügbaren Internet-Protokolle sind übrigens in der Datei /etc/protocols aufgelistet. Diese Datei gibt es auch unter Windows NT (c:\winnt4\system32\drivers\etc\protocol) Diese Datei bedarf normalerweise keiner Änderung.
Diese Unterscheidung schaffen UDP und TCP durch die Einführung der sogenannten Ports, (engl. für Hafen, Öffnung), die durch eine 16-Bit-Zahl verkörpert werden. Genau wie IP-Pakete vor dem eigentlichen Nutzdaten einen Kopf tragen, erhalten auch UDP- und TCP-Pakete einen solchen Vorspann. Die wichtigste Information darin: der Port bei den ein Paket beim Empfänger gehen soll, und der Port, von dem es stammt. Trifft ein UDP- oder TCP-Paket ein, kann die Netzwerksoftware an der Portnummer genau erkennen, zu welcher Anwendung es gehört, und die Daten dorthin weiterleiten.
Die Portnummern zwischen 0 und 1024 sind bekannten Diensten wie ftp oder www fest zugeordnet. Wenn man eine WWW-Adresse eingibt wie http://www.linux.org, weiß der der Browser dadurch bereits, daß er sich an den Port 80 des Rechners wenden muß. Mann kann aber auch http://www.linux.org:80 schreiben.
Hier einige Ports.
| Anwendungen |
ftp-Daten ftp telnet smtp dns www |
| Transport |
20 21 23 25 53 80
TCP
UDP
|
| Netzwerk |
|
| Physikalisch |
|
Die Datei /etc/services listet alle Netzwerkdienste mit deren Port-Nummern auf. Diese Datei gibt es auch unter Windows NT (c:\winnt4\system32\drivers\etc\services).
/# less /etc/services tcpmux 1/tcp # rfc-1078 echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp quote chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location name 42/udp nameserver whois 43/tcp nicname # usually to sri-nic domain 53/tcp domain 53/udp mtp 57/tcp # deprecated bootps 67/udp # bootp server bootpc 68/udp # bootp client tftp 69/udp rje 77/tcp finger 79/tcp www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol link 87/tcp ttylink supdup 95/tcp # BSD supdupd(8) hostnames 101/tcp hostname # usually to sri-nic iso-tsap 102/tcp x400 103/tcp # ISO Mail x400-snd 104/tcp csnet-ns 105/tcp pop-2 109/tcp # PostOffice V.2 pop-3 110/tcp # PostOffice V.3 sunrpc 111/tcp sunrpc 111/tcp portmapper # RPC 4.0 portmapper UDP sunrpc 111/udp sunrpc 111/udp portmapper # RPC 4.0 portmapper TCP auth 113/tcp authentication sftp 115/tcp uucp-path 117/tcp nntp 119/tcp usenet # Network News Transfer ntp 123/tcp # Network Time Protocol ntp 123/udp # Network Time Protocol netbios-ns 137/tcp nbns netbios-ns 137/udp nbns netbios-dgm 138/tcp nbdgm netbios-dgm 138/udp nbdgm netbios-ssn 139/tcp nbssn NeWS 144/tcp news # Window System snmp 161/udp snmp-trap 162/udp exec 512/tcp # BSD rexecd(8) biff 512/udp comsat login 513/tcp # BSD rlogind(8) who 513/udp whod # BSD rwhod(8) shell 514/tcp cmd # BSD rshd(8) syslog 514/udp # BSD syslogd(8) printer 515/tcp spooler # BSD lpd(8) talk 517/udp # BSD talkd(8) ntalk 518/udp # SunOS talkd(8) efs 520/tcp # for LucasFilm route 520/udp router routed # 521/udp too timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc # experimental conference 531/tcp chat netnews 532/tcp readnews netwall 533/udp # -for emergency broadcasts uucp 540/tcp uucpd # BSD uucpd(8) UUCP service new-rwho 550/udp new-who # experimental remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem rmonitor 560/udp rmonitord # experimental monitor 561/udp # experimental pcserver 600/tcp # ECD Integrated PC board srvr mount 635/udp # NFS Mount Service pcnfs 640/udp # PC-NFS DOS Authentication bwnfs 650/udp # BW-NFS DOS Authentication listen 1025/tcp listener RFS remote_file_sharing nterm 1026/tcp remote_login network_terminal ingreslock 1524/tcp tnet 1600/tcp # transputer net daemon nfs 2049/udp # NFS File Service irc 6667/tcp # Internet Relay Chat dos 7000/tcp msdos
Jedes Port öffnet den Rechner und macht ihn zugänglicher. Oft ist das erwünscht und notwendig. Ein Web-Server muß den Port 80 offen haben ansonsten kann keiner HTML-Dateien von ihm anfordern. Jedes offene Port ist aber auch ein potentielles Sicherheitsloch. Es sollten nur nur benötigte Dienste und deren Ports angeboten werden. Es sollten auch nur die entsprechenden Programme dafür installiert sein.
Hacker können aber auch Programme in das System einschleusen, die zusätzliche Ports öffnen. Ein Beispiel ist Subseven (http://subseven.slak.org). Diese Programm ermöglicht die volle Kontrolle über einen Windows9x-Rechner. Viel Spaß!
Viele Internet-Provider bietet als Service die Frontpage-Extensions an. Mit Hilfe des Programm Frontpage soll man dann angeblich sehr schnell Website erstellen können, die sich aber dafür sehr langsam laden lassen. Mit Hilfe der Frontpage-Extensions werden auf dem Webserver zusätzliche Ports geöffnet. Diese weisen erhebliche Sicherheitslücken auf. Mehr dazu unter dieser Adresse: http://www.insecure.org.
Hacker benutzen Port-Scanner, um offene Ports festzustellen. Wir können das auch.
/# nmap 127.0.01 Scanning ports (host 127.0.0.1) wait ... localhost [127.0.0.1] 113 (auth) open /#
Es ist nur das Port zur Autentifizierung offen. Das System scheint also nicht angreifbar zu sein. Das können wir ändern. Wir starten den Telnet-Server (Port: 23). Damit kann sich jeder in unseren Rechner einloggen. Das geht natürlich nur wenn wir eine richtige Netzwerkverbindung haben.
/# setup -f server Do you want to change server/daemons setup? (y/n): y Do you want to start XWindow server at any boot? (y/n): Enter Do you want start atd daemon running? (y/n): Enter Do you want start RING server running? (y/n): Enter Do you want start SERIAL server running? (y/n): Enter Do you want start DIALIN_SERVER running? (y/n): Enter Do you want start FAX_SERVER running? (y/n): Enter Do you want start TELNET_SERVER running? (y/n): y Do you want start INETD_SERVER running? (y/n): Enter Do you want start VCM_SERVER running? (y/n): Enter
Nun scannen wir die Ports noch einmal.
/# nmap 127.0.01 Scanning ports (host 127.0.0.1) wait ... localhost [127.0.0.1] 113 (auth) open localhost [127.0.0.1] 23 (telnet) open /#
Unser Rechner ist nun offen wie ein Scheunentor. Jeder könnte sich bei einer bestehenden Netz-Verbindung einloggen, Festplatten mounten oder formatieren ...
Da die Handhabung der IP-Adressen sehr umständlich ist, hat sich die Einführung eines zusätzlichen Adressverwaltungssystemes notwendig gemacht. Hierbei handelt es sich um das sogenannte Domain-Name-Konzept. Dabei werden den IP-Adressen Domain-Namen zugeordnet. Ein Name wie http://linux.org läßt sich doch weit einfacher merken als http://192.168.1.1, oder? Zur Verknüpfung zwischen IP-Adresse und Domain-Name werden Domain-Name-Server (DNS) eingesetzt. Die Herstellung dieser Verknüpfung erfolgt meist in mehreren Stufen. So wird die Adresse von XXX@AAA.BBB.de wie folgt ermittelt. Zuerst geht eine Anfrage an den ".de"-DNS. Dieser schickt eine Anfrage an den BBB-Server. Vom BBB-Server bekommt er dann im Normalfall die vollständige IP-Adresse übergeben.
/# less /etc/hosts
Wir sehen, daß sie die Nummer 127.0.0.1 unter anderem mit localhost auflöst. Damit können wir lokalen Rechner auch folgendermaßen anpingen:
/# ping localhost
Wenn wir ein Netzwerk einrichten, können wir jeder vergebener IP-Adresse hier mindestens einen Rechner-Namen zuordnen. Allerdings müssen wir dies auf jeden Rechner tun. Eine zentrale Verwaltung gibt es nur mit einem DNS-Server. Unter Windows gibt es übrigens auch hosts-Dateien.
Wir können unserem loopback-Interface auch noch einen anderen Namen geben.
/# vi /etc/hosts
Wir ergänzen die Zeile 127.0.0.1 localhost me
127.0.0.1 localhost me meinpc
Jetzt können wir auch meinpc anpingen.
/# ping meinpc
Na, das wa doch nicht sooo kompliziert. Oder?
|
Linux in a Nutshell (Broschiert)
von Jessica Perry Hekman | |
| Siehe auch: | |
| Linux kurz und gut. von Daniel J. Barrett | |
| Linux Kochbuch. Praktischer Rat für Anwender und Systemadministratoren von Carla Schroder | |
| Linux -- Installation, Konfiguration, Anwendung (Jubiläumsausgabe mit 2 DVDs: SUSE 10.1 und Knoppix 5.0) von Michael Kofler | |
| Linux - das distributionsunabhängige Handbuch, inkl. BSD von Johannes Plötner | |
