Netzwerke
Allgemeine Infos
FTP
Http
Portnummern
Allgemeine Infos
MAC Adresse
ist die Adresse der Netzwerkkarte oder Wirelesskarte, weltweit einmalig z.B.:
00-A0-1F-32-3A-11.
StandardGatway
ist das Gateway über das, der Zugang ins Internet erfolgt (des Providers).
IP (Internet Protocol)
Ist das Basisprotokoll aller Internetprotokolle und -Dienste. IP ist ein
paketvermittelndes Protokoll. Nachrichten werden in kleine Pakete unterteilt, adressiert und
versandt.
Derzeit gibt es zwei Versionen, IP Version 4 (IPV4) und IP Version 6 (IPV6).
IPV4 wurde erstmals eingesetzt am 1 Januar 1983 und ist noch immer die vorrangige Version.
Der Einsatz von IPv6 begann 1999.
IP Adresse
Ist die Adresse für das IP Netzwerk. Alle Rechner in einem Netzwerk, von Internet bis lokales Netzwerk,
werden durch diese Adresse eindeutig bezeichnet. Solange das Netzwerk lokal ist, können die
IP Adressen frei vergeben werden. Bei einer Verbindung über das Internet besteht
eine eindeutige Zuordnung der Adresse von Gateway (Proxy, Provider,...) zu Gateway, der weitere
Adressteil wird vom Gateway, z.B. über den Port gemappt.
Bei Punkt zu Punkt Verbindungen werden weitergehende Protokolle eingesetzt (VPN).
IPV4 Adressen sind 32-Bit Zahlen (Darstellung: 192.0.32.67).
IPV6 Adressen sind 128-Bit Zahlen (hex. Darstellung: 1080:0:0:0:8:800:200C:417A).
TCP (Transmission Control Protocol)
Baut auf IP auf und übernimmt die eigentliche Verbindungsarbeit, z.B.: Paketreihenfolge
sicherstellen, verlorene Pakete erneut senden, ...
Technisch gesehen könnte TCP auch auf andere Protokolle aufbauen, in der Praxis wird es aber
fast ausschließlich mit IP verwendet, weshalb man im Internet nur von TCP/IP spricht. Da auf einer
Verbindung unterschiedliche Dienste aufsetzen (Email, Webverbindung, ...) gibt es unter TCP das
Konzept der Ports. Ports sind wie Nebenstellen beim Telefon, allerdings nicht physisch.
Somit sind Ports eine Adresserweiterung.
An beiden Seiten einer TCP-Verbindung hört ein Listener eine Socket auf einem bestimmten Port ab.
Eine Verbindung kann nur erfolgen, wenn auf beiden Seiten ein Listenerprozess läuft.
Das Betriebssystem stellt sicher, dass nur ein Listenerprozess pro Port auf einem Server laufen kann.
Subnetmask
bestimmt wo eine Adresse(z.B. http://192.168.1.1) gesucht gesucht wird.
Alle Adressen im Netz werden über die Subnetmaske entweder nach draußen Gateway geschickt oder
im Netz gehalten, durch ein logisches und. Dabei bedeutet 255.255.255.0 bei einer
Routeradresse von 192.168.1.1, daß alle Adresse, die mit 192.168.1 beginnen im Netzwerk
gehalten werden, alle anderen gehen an das Gateway.
Beispiel:
Subnet Maske: |
255. 255. 255.248 |
.11111000 |
Router IP: |
111.6.61.124 |
.01111100 |
Durch Und-Transformation: |
111.6.61.120 |
.01111000 |
Alle Adressen die mit dieser Subnetmaske verknüpft: 111.6.61.120 ergeben, sind lokale Adressen
des Netz. z.B.:
Subnet Maske: |
255. 255. 255.248 |
.11111000 |
Client IP: |
111.6.61.125 |
.01111101 |
Durch Und-Transformation: |
111.6.61.120 |
.01111000 |
Dieser Client ist also intern.
DNS Server
ist der Server über den die Auflösung von physikalischer Adresse zum Domain Namen erfolgt.
Für z.B.: "www.heise.de" ist die IP-Adresse: "193.99.144.71".
Verbindung von Rechnern und Netzen
Rechner können sternförmig durch HUB’s verbunden werden, dabei können genauso Verbindungen zu anderen
Netzen erstellt werden.
Die HUB’s dienen dabei nur zur Verbindung und Signalverstärkung.
Wenn also in einem Verbund Rechner aus einem lokalen Netz A mit einem lokalen Netz B durch einen
HUB verbunden sind, der gleichzeitig noch die Verbindung mit dem Internet realisiert, so sind alle
3 Netze gleichberechtigt. Nachrichten die von einem Rechner an einen Server im Internet gehen,
können erst durch alle Rechner des Netzes kreisen, bis Sie Ihren Weg ins Internet finden.
Die Gefahr dabei ist, dass Informationen an falsche Rechner gelangen oder noch schlimmer, an eine
Firewall geraten, die möglicherweise die Pakete vernichtet.
Das setzt aber ein schlecht konfiguriertes Netz voraus.
Die HUB’s machen keinen Unterschied zwischen lokalen IP-Adressen und den Internetadressen fremder
Netzwerke.
Switch
Eine Stufe höher im Protokoll liegen die Switches. Ein Switch ist in der Lage die Adressbereiche der
einzelnen Netze zu trennen. Ein Switch kann also konfiguriert werden durch ein entsprechendes
Programm (wird in der Regel über einen Browser angesprochen). Dadurch ist dem Switch bekannt welche
Adressen für Netz A und B zur Verfügung stehen, somit geht eine Nachricht vom Netz A, die an das
Internet adressiert ist, nicht in das Netz B, weil Sie nicht dessen Adressbereich entspricht.
Switches sind zum Teil selbstlernend. Dadurch ist bei nicht Bekanntgabe der
Adressbereiche (fehlende oder falsche Konfiguration) trotzdem eine richtige Lösung (ohne Kreisen)
möglich.
Router
Router Verbinden in der Regel zwei Netze und sind in der Lage, die Pakete von einem WAN Netz
in ein lokales Netz zu leiten, durch eine entsprechende Umsetzung der IP-Adressen.
Dabei kann aus dem WAN auf die eine Adresse des Routers zugegriffen werden und der Router kann
über die Portnummern auf die einzelnen Rechner des Netzes verteilen.
Dieses Mapping wird auch über ein entsprechendes Konfigurationsprogramm des Routers eingestellt.
Zusätzlich realisieren Router in der Regel eine Firewall.
Firewall
Die Firewall kann den Zugriff von außen limitieren: es werden nur Pakete von bestimmten IP- oder
MAC-Adressen durchgelassen, es werden Pakete von bestimmten IP- oder MAC-Adressen
vernichtet (nicht durchgelassen), es werden nur bestimmte Ports freigegeben (Pakete an
andere Ports werden gelöscht), es werden Pakete mit bestimmten
Inhalten (Schlagwörter: Sex, ...) vernichtet, es werden bestimmte Dienste
geblockt (Ping, ...), es werden bestimmte Formen der Attacken, erkannt und vernichtet.
FTP (File Transfer Protocol)
FTP Kommandos
Im folgenden wird der remote Rechner, der an einer FTP Sitzung teilnimmt, mit Server bezeichnet.
?
| Hilfe zu den FTP Kommandos |
help
| Hilfe zu den FTP Kommandos |
|
ascii
| setzt den Übertragungsmodus auf ASCII = Default (Übertragung von 7 Bits pro Zeichen), nur zur Übertragung von Textdateien |
binary
| setzt den Übertragungsmodus auf Binary (Übertragung von allen 8 Bits pro Byte) |
|
open
| öffnet eine Verbindung mit einem anderen Rechner (Server), wenn nötig wird Username und Passwort abgefragt |
bye
| beendet die FTP Umgebung |
quit
| beendet die FTP Umgebung |
close
| beendet die Sitzung mit dem Server, aber nicht die FTP Umgebung |
|
cd |
wechselt das aktuelle Verzeichnis auf dem Server |
lcd |
wechselt das aktuelle Verzeichnis auf dem lokalen Rechner |
pwd |
gibt das aktuelle Serververzeichnis aus |
ls |
gibt die Liste der Dateinamen des aktuellen Serververzeichnis aus |
|
mkdir
| erzeugt ein neues Verzeichnis, innerhalb des aktuellen Serververzeichnis |
rmdir
| löscht ein Verzeichnis, innerhalb des aktuellen Serververzeichnis |
delete
| löscht eine Datei aus dem aktuellen Serververzeichnis |
get
| kopiert eine Datei vom aktuellen Serververzeichnis, in das aktuelle Verzeichnis des lokalen Rechners |
mget
| kopiert mehrere Dateien vom aktuellen Serververzeichnis in das aktuelle, lokale Verzeichnis, jede Kopie wird geprompted, Wildcard: "*" ist zulässig. |
put
| kopiert eine Datei vom aktuellen, lokalen Verzeichnis, in das aktuelle Serververzeichnis |
mput | kopiert mehrere Dateien vom aktuellen, lokalen Verzeichnis in das aktuelle Serververzeichnis, jede Kopie wird geprompted, Wildcard: "*" ist zulässig. |
Http (HyperText Transfer Protocol)
Eine HTTP Verbindung ist eine einfache Netzwerk-Socket-Verbindung.
Standard Portnummer ist 80. HTTP gibt es derzeit in der Version 1.0 und 1.1.
Die Version 1.1 kann unter anderem Verbindungen zwischen Client und Server aufrecht erhalten.
Es wird einfacher Text unverschlüsselt übertragen. Da das Protokoll keine Passwortmechanismen direkt
integriert hat, kann auf einen HTTP-Server problemlos
zugegriffen werden, z.B.: mit einem TelnetClient (dabei kann es Probleme geben, wenn der
Server bestimmte zusätzliche Infos erwartet, die die Browser standardmäßig verschicken)
HTTPS
HTTPS benutzt die Secure Socket Layer. Diese gibt die Möglichkeit, Daten verschlüsselt
zwischen Client und Server zu verschicken. Weil die Verschlüsselung in einer höheren
Schicht (Transportebene) durchgeführt wird, bleibt die Basiskommunikation HTTP.
Das Aushandeln des Schlüssels erfolgt vor der eigentlichen Kommunikation.
Der Schutz des Serververzeichnis und der enthaltenen Files ist Aufgabe des
Webservers (Konfiguration) und hat nichts mit HTTP zu tun.
Request und Response
Es gibt die Befehle Get und Post in HTTP, um einen Request an einen Server zu schicken.
Get
Die Nachricht besteht nur aus einem HTTP-Header,
dabei werden Parameter direkt als Text an die geforderte URL gehängt.
Die Länge dieses Textes ist begrenzt auf maximal 4000 Zeichen, bei vielen Servern weniger.
Es wird also eine Seite mit einer Art Kommandozeilenparameter
(früher waren das die cgi Scripte auf dem Server) aufgerufen.
Beispiel Request:
GET /MyServer/index.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/vnd.ms-powerpoint, application/vnd.ms-excel,
application/msword, application/x-shockwave-flash, */*
Accept-Language: de
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 28 Jan 2004 15:22:12 GMT
If-None-Match: W/"429-1075303332000"
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
Q312461; .NET CLR 1.1.4322)
Host: localhost:8080
Connection: Keep-Alive
Diesen Beispielrequest empfängt der Server. Der Client könnte im Beispiel so gefragt
haben: "http://localhost:8080/MyServer/index.html". Der Header des Request besteht aus:
- den Requesttyp = "Get",
- das Verzeichnis unterhalb des Servers = "MyServer",
- die Datei nach der gefragt wurde = "index.html",
- die HTTP Version = "1.1".
Es folgen weitere zum Teil browserspezifische Angaben und
Erweiterungen für HTTP 1.1, zum Beispiel:
- Accept-Language = "de", die vom Client bevorzugte Sprache,
- Accept-Charset = "iso-8859-1,*,utf-8", der vom Client bevorzugte Charset, nicht im Beispiel.
Beispiel Response:
HTTP/1.1 200 OK
ETag: W/"73-1075897546000"
Last-Modified: Wed, 04 Feb 2004 12:25:46 GMT
Content-Type: text/html
Content-Length: 73
Date: Wed, 04 Feb 2004 12:25:56 GMT
Server: Apache Coyote/1.0
<HTML>
<HEAD><TITLE>Hi</TITLE></HEAD>
<BODY><h1>Hi</h2></BODY>
</HTML>
Der Server könnte mit einer solchen HTML-Seite als Klartext im Body antworten.
Die Antwort enthält als HTTP-Header:
- die HTTP-Version = "1.1",
- den HTTP-Returncode = "200" (OK),
- den Dateityp der Antwort = "text/html", wobei "text" die grobe Einteilung ist und "html" die feinere,
- die Länge der folgenden Nachricht = "70",
- zusätzliche den Server betreffende Informationen.
Post
Eine Seite schickt einen Post-Request in der Regel, um die Daten einer
Form zu übertragen (submit). Der HTTP-Header eines Post-Request sieht wie ein Get-Request aus,
das erste Wort ("Get") im HTTP-Header wird dabei durch "Post" ersetzt.
Nach dem HTTP-Header folgen bei Post die Parameter in einem HTTP-Body.
Post oder Get?
Get ist etwas schneller als Post.
Bei Get ist die Anzahl der Zeichen für die Parameter begrenzt.
Bei Get enthält der Link die Parameter und wird so im Browser dargestellt, was
möglicherweise ein optischer Nachteil ist.
HTTP-Returncodes
1xx
| Informational |
100
| Continue |
101
| Switching Protocols |
|
2xx
| Successful |
200
| OK |
201
| Created |
202
| Accepted |
203
| Non-Authoritative Information |
204
| No Content |
205
| Reset Content |
206
| Partial Content |
|
3xx
| Redirection |
300
| Multiple Choices |
301
| Moved Permanently |
303
| See Other |
304
| Not Modified |
305
| Use Proxy |
306
| (Unused) |
307
| Temporary Redirect |
|
4xx
| Client Error |
400
| Bad Request |
401
| Unauthorized |
402
| Payment Required |
403
| Forbidden |
404
| Not Found |
405
| Method Not Allowed |
406
| Not Acceptable |
407
| Proxy Authentication Required |
408
| Request Timeout |
409
| Conflict |
410
| Gone |
411
| Length Required |
412
| Precondition Failed |
413
| Request Entity Too Large |
414
| Request-URI Too Long |
415
| Unsupported Media Type |
416
| Requested Range Not Satisfiable |
417
| Expectation Failed |
|
5xx
| Server Error |
500
| Internal Server Error |
501
| Not Implemented |
502
| Bad Gateway |
503
| Service Unavailable |
504
| Gateway Timeout |
505
| HTTP Version Not Supported |
Portnummern
Die Nummern für Ports werden aufgeteilt in 3 Bereiche.
1. Well-Known-Ports
Die Well-Known-Ports liegen zwischen 0 und 1023.
Diese Portnummern werden von der IANA (Internet Assigned Numbers Authority) festgelegt.
Der Zugriff auf diese Ports sollte nur dem Systemadministrator möglich sein. Mit Zugriff ist
hier die Zuweisung eines Listeners gemeint.
2. Registered-Ports
Die Registered-Ports liegen zwischen 1024 und 49151.
Diese Ports stehen der freien Benutzung zur Verfügung. Die IANA hat zur reinen Information eine
Liste von registrierten Nutzern dieser Ports. Diese Liste ist unverbindlich.
3. Dynamic/Private-Ports
Die Dynamic/Private-Ports liegen zwischen 49152 und 65535.
Es gibt keine offiziellen Anwärter auf diese Portnummern.
Beispiele für Nummer von Well-Known-Ports
Keywort |
Nummer |
Beschreibung |
echo |
7 |
Echo |
systat |
11 |
Active Users |
daytime |
13 |
Daytime (RFC 867) |
ftp-data |
20 |
File Transfer [Default Data] |
ftp |
21 |
File Transfer [Control] |
ssh |
22 |
SSH Remote Login Protocol |
telnet |
23 |
Telnet |
smtp |
25 |
Simple Mail Transfer |
time |
37 |
Time |
name |
42 |
Host Name Server |
nameserver |
42 |
Host Name Server |
nicname |
43 |
Who Is |
domain |
53 |
Domain Name Server |
gopher |
70 |
Gopher |
finger |
79 |
Finger |
http |
80 |
World Wide Web HTTP |
www |
80 |
World Wide Web HTTP |
www-http |
80 |
World Wide Web HTTP |
pop3 |
110 |
Post Office Protocol - Version 3 |
|