Praktikum: WWW, HTTP und FTP Zusammenfassung Eine Übersicht für den Zugriff auf einige ZHaW-Server finden Sie auf der letzen Seite. Das Internet besteht aus vielen miteinander verbundenen Rechnern. Um von einem entfernten Rechner Dienste in Anspruch nehmen und mit ihm Daten austauschen zu können, müssen die beteiligten Rechner gemeinsame Sprachen beherrschen. Diese Sprachen heissen Protokolle. Die Protokolle sind jeweils optimiert für einen Dienst und deshalb sehr einfach aufgebaut. Sie bestehen oft aus wenigen (englischen) Befehlen. Die Tabelle gibt eine exemplarische, unvollständige Übersicht. Dienst Protokoll Wichtigste Befehle WWW World Wide Web Web-Seiten anzeigen FTP Zugriff auf entfernte Dateien telnet Zugriff auf entfernten Rechner WWW SSH Secure Shell SFTP Secure FTP SCP Secure Copy http Hyper Text Transfer Protocol Web-Seite übertragen ftp File Transfer Protocol Dateien und Verzeichnisse von einem Rechner auf einen anderen kopieren. telnet Terminal-Network Tastatur und Bildschirm arbeiten direkt an einem entfernten Rechner https http verschlüsselt, z.b. für Shops, etc. ssh telnet verschlüsselt sftp ftp verschlüsselt scp cp verschlüsselt GET = HTML-Datei vom Server holen POST = wie GET, zusätzlich Formulardaten HEAD = Verwaltungsinformation abfragen open = FTP-Sitzung starten quit = FTP-Sitzung und -Programm beenden get = Datei vom Server auf den PC kopieren put = Datei vom PC auf den Server kopieren help = listet alle FTP-Befehle auf help befehl = Hilfe zum FTP-Befehl befehl open = telnet-sitzung starten quit = telnet-sitzung und -Programm beenden help = listet alle telnet-befehle auf Einloggen mit Name und Passwort für erweiterten Zugriff auf einen Server. Gleiche Befehle wie telnet Gleiche Befehle wie ftp Dateien und Verzeichnisse kopieren über eine verschlüsselte Verbindung In diesem Praktikum werden Sie diese Dienste und die zugehörigen Protokolle kennen lernen. Einige Befehle werden Sie selbst von Hand ausprobieren, damit Sie besser verstehen, was z.b. im Browser hinter den Kulissen abläuft. Sie werden auch lernen, wie man von zu Hause aus auf ZHaW-Server zugreifen kann. www-http-ftp.doc Seite 1 / 12 25.09.2007
Lernziele Sie verstehen, wie die Kommunikation zwischen Web-Browser und -Server funktioniert. Sie sind in der Lage das http-protokoll zu erläutern. Sie wissen in welchem Zusammenhang die Dienste und Protokolle stehen und können einige exemplarisch aufzählen. Sie können die Programme telnet und ssh unter Windows und Linux bedienen. Sie können die Programme ftp und sftp unter Windows und Linux benutzen. Sie kennen die Zugriffsmöglichkeiten von extern auf die ZHaW-Server und können Sie nutzen. Vorgehensweise Theorieteil A vor dem Praktikum durcharbeiten Übungen B im Praktikum durchführen Kontrollfragen C beantworten Aufgaben zum Selbststudium D zur Vertiefung Tabelle E zum Nachschlagen der Zugriffsmöglichkeiten auf einige ZHaW-Server Die beschriebenen Übungen können direkt an der ZHaW und auch von extern durchgeführt werden. A. Theorie A.1 WWW Funktionsweise Der WWW-Dienst (World Wide Web) basiert auf dem Client-Server-Prinzip. Der Client (WWW- Browser) stellt eine Verbindung zum Server her und verlangt ein Dokument (in der Regel eine HTML-Datei). Anwahl des Servers und Dokumentes erfolgt via URL (Uniform Resource Locator). Die URL ist die Web-Adresse, welche im Browser eingetippt wird, resp. welche bei einem Link hinterlegt ist. Die URL spezifiziert das Dokument eindeutig. Sie enthält folgende Teile: Protokoll://Rechneradresse:Port/Pfad Beispiel: http://www.zhwin.ch:80/departement-t/mechatronik/index.php Die Default-Portnummer für Web-Server ist 80 und muss in der URL nicht eingetippt werden. Der Server schickt dem Client anschliessend das Dokument und unterbricht die Verbindung. Der Client (also der Web-Browser) stellt das Dokument auf dem Bildschirm dar. Ein Mausklick auf einen Link startet eine neue Transaktion. Client grafische Präsentation (Browser) HTML-Dokument Server URL Internet www-http-ftp.doc Seite 2 / 12 25.09.2007
A.2 http-protokoll Das http-protokoll ist sehr einfach aufgebaut. Es ist text-basiert, d.h. die Befehle und Antworten bestehen aus (englischen) Worten. Es werden also Text-Nachrichten und Dateien ausgetauscht. Eine Transaktion sieht etwas so aus: Client (Browser) WEB-Server Verbindung zum Port 80 aufbauen GET, POST,. Kommando +evtl. Parameter und Daten im Request-Body Antwort (normalerweise http-header + angeforderte Datei) + Verbindungsabbruch Einzelne Transaktionen (Verbindungsaufnahme, Request, Response, Verbindungsabbruch) sind voneinander völlig unabhängig ( stateless d.h. der Server weiss nicht, was vorher gelaufen ist). Die komplette Spezifikation des http-protokolls befindet sich in folgenden RFCs: 1945 (HTTP/1.0) und 2068 (HTTP/1.1). Das einfachste http-kommando ist GET. Man kann damit eine Datei von Server anfordern. Wir wollen dieses Kommando im praktischen Teil von Hand ausprobieren. A.3 telnet: Text-basiertes Remote-Computing Telnet war eines der ersten Protokolle im Urvater der Internets, dem ARPANET. Es ermöglichte weltweite Fernbenutzung von schnellen Rechnern via textbasierte Kommandoschnittstelle. Es stellt den Extremfall eines Clients im Netz dar: nur ein dummes Terminal, das alle Benutzereingaben zum entfernten Rechner schickt und alle Antworten des entfernten Rechners auf dem lokalen Bildschirm darstellt. Server Telnet- Client Ein Terminal ist eine Tastatur und ein Bildschirm, welche an einen entfernten Rechner angeschlossen sind. Ein Terminal hat also keine eigene Rechenpower, sondern stellt lediglich Ein- und Ausgabegerät dar. Bei einem Multiuser-System können gleichzeitig viele Benutzer an vielen Terminals auf demselben Rechner arbeiten. Das Programm telnet öffnet auf einem PC ein Fenster, das wie ein Terminal funktioniert. www-http-ftp.doc Seite 3 / 12 25.09.2007
A.4 ftp: Dateien und Verzeichnisse vom/zum Server kopieren Mit telnet arbeitet man direkt auf dem entfernten Rechner. D.h. die Dateien liegen auf dem Server und werden auch dort verarbeitet; nur die Tastatur und der Bildschirm sind beim Benutzer. Wenn Dateien zuerst von einem Server kopiert und dann auf einem lokalen Rechner verarbeitet werden sollen, kann man dazu ftp (File Transfer Protocol/Program) einsetzen. WWW-Browser (Firefox, Internet-Explorer, Konqueror, ) und Dateimanager unterstützen ftp recht komfortabel. Als Adresse (URL) wird vor dem Servernamen lediglich das Protokoll ftp:// eingetippt. Mit der Verwendung des Browsers wird die Nutzung von ftp für den Anwender transparent. Der Benutzer transferiert Dateien direkt von einem HTML-Link aus, ohne dass er sich um die Details des ftp-dienstes kümmern muss. ftp arbeitet unverschlüsselt. Es sollten deshalb keine Passworte und private Daten übertragen werden und ftp wird meist anonym genutzt. Dazu werden die speziellen Benutzernamen anonymous oder ftp verwendet. Als Passwort wird oft die Email-Adresse eingetippt. Anonym hat man nur Lesezugriff auf öffentliche Daten. Bei Textdateien werden Zeilenende und -vorschub auf den verschiedenen Plattformen (UNIX/LINUX, Windows, Mac-OS) unterschiedlich codiert. Das bedeutet, dass auf eine andere Plattform kopierte Textdateien eventuell falsch dargestellt werden. Im ASCII-Modus konvertiert FTP diese Zeichen entsprechend der Quell- und Zielplattform. Im Binär-Modus werden die Daten nicht konvertiert. Der Binär-Modus ist deshalb zwingend für Programme und andere binär codierte Dateien (z.b. Archive und Bilder). A.5 und das Ganze verschlüsselt HTTP, telnet und FTP werden in der Regel ohne Usernamen und Passwort also anonym genutzt. Deshalb darf nur das Lesen öffentlich zugänglicher Informationen erlaubt sein. HTTP: Webseiten sollen unkompliziert von vielen Leuten gesehen werden können -> Online-Banking, Auto-Reservationen, Webmail müssen passwortgeschützt und verschlüsselt nur für berechtigte Personen freigegeben werden. HTTPS (HTTP Secured) bietet diesen Service. Im Browser ist das erkennbar am Protokoll https:// in der URL und am geschlossenen Vorhängeschloss-Symbol in der Statusleiste. telnet: Zugriff ohne Authentifizierung direkt auf die Kommandozeile eines Rechner darf es nicht geben. Für normale Benutzer wurde es durch das komfortablere WWW ersetzt. -> SSH (Secure Shell) ist die verschlüsselte Version von telnet und ist das Standard-Bordmittel für den Kommandozeilen-Zugriff auf entfernte Rechner. Shell ist der englische Name für die Unix- Kommandozeile. Je nach Betriebssystem und wird diese auch als Terminal, Konsole, Befehlsfenster, Eingabeaufforderung oder Kommandozeile bezeichnet. FTP: Freie Software, Treiber, Handbücher, etc. können vom Server kopiert werden. -> Hochladen, Löschen und Verschieben von Dateien auf einem Server muss durch Username und Passwort geschützt werden. Mit SFTP (Secure FTP) erhält ein Benutzer via FTP die gleichen Rechte an den Dateien und Verzeichnissen, wie wenn er direkt beim Server angemeldet wäre. SCP (Secure Copy): scp arbeitet wie der Unix-Befehl cp, aber via SSH (also verschlüsselt und passwortgeschützt) zwischen entfernten Rechnern. Die Verschlüsselung ist für die Benutzer völlig transparent, sie müssen sich lediglich mit Name und Passwort anmelden. Unter Linux kann ssh, sftp und scp auf der Kommandozeile gestartet werden. Im Dateimanager Konqueror kann sftp durch Voranstellen des Protokolls sftp:// vor den Rechnernamen sehr einfach genutzt werden. Windows kennt von Haus aus weder ssh noch sftp noch scp. Es gibt jedoch spezielle Programme die einem Dateimanager ähnlich sehen oder auf der Eingabeaufforderung gestartet werden können. www-http-ftp.doc Seite 4 / 12 25.09.2007
B. Praktikumsübungen B.1 Hands on HTTP Den Datenaustausch im Hintergrund zwischen Web-Browser und -Server mittels http-protokoll kann man selbst sehr einfach ausprobieren. Da das http-protokoll textbasiert ist, kann man es von Hand nachvollziehen. Wir werden den Web-Browser simulieren, indem wir Befehle zum Webserver schicken und die Antworten auf dem Bildschirm beobachten. Dazu benötigt man lediglich das Programm telnet, das den Zugriff auf entfernte Rechner erlaubt. Nachdem die Telnet-Verbindung zum Webserver aufgebaut ist, wird alles was man tippt zum entfernten Rechner übertragen und alles was der Rechner antwortet, erscheint auf dem Bildschirm. Für den Aufbau der Verbindung sind zwei Angaben erforderlich: der Rechner-Name: z.b. home.zhaw.ch und die Port-Nummer: im Beispiel "80" (für den WWW-Server). Wenn keine Portnummer angegeben wird, verwendet der Browser defaultmässig die Portnummer 80. Die Kombination von IP- und Port-Nummer heisst Socket (= Sockel) und identifiziert einen Kommunikations-Endpunkt eindeutig. B.1.1 Abrufen und Darstellung der Datei im Browser Tippen Sie im Web-Browser diese Adresse (URL) ein: http://labts101.zhaw.ch/~hhrt/hallo.html Damit wird eine HTML-Datei (= Web-Seite) vom Server geholt, die textbasierten HTML- Formatieranweisungen werden interpretiert und die Seite wird im Browser angezeigt. Mit dem Menupunkt Ansicht -> Seitenquelltext anzeigen können Sie die effektiv übertragene HTML-Datei ansehen: Das dient als Vergleich für die nächsten Schritte. B.1.2 Verbindungsaufbau mit "telnet" telnet aufstarten Linux (KDE): Start System Terminals Konsole oder das Icon Terminal-Programm in der Kontrollleiste anwählen. Im neuen Konsolenfenster geben Sie den Befehl telnet ein. Der nachfolgende Prompt telnet> zeigt an, dass Telnet gestartet ist und auf Ihre Eingaben wartet. Windows XP: Start Ausführen, dann telnet eingeben und OK anklicken. Der Prompt Microsoft Telnet> zeigt an, dass telnet gestartet ist und auf Eingaben wartet. www-http-ftp.doc Seite 5 / 12 25.09.2007
und Verbindung aufbauen "open labts101.zhaw.ch 80" eintippen und mit der Enter -Taste ausführen. Ein weiteres Mal die Enter -Taste drücken, stellt die Verbindung her (darf nicht vergessen werden). Nun ist die Verbindung zum Port 80 des Webservers mit telnet aufgebaut. Der Webserver wartet jetzt auf ein HTTP-Kommando für das Senden einer Webseite. Auf dem Bildschirm erscheint deshalb vorerst auch keine Rückmeldung vom Server. B.1.3 Holen einer Datei von Webserver Eine Datei kann vom Server mit dem HTTP-Befehl GET angefordert werden. Tastatur Bildschirm Client (Telnet) GET... Infos+Datei WEB- Server (Port 80) Beispiel: Die Datei befindet sich auf dem Webserver im www-verzeichnis des Users hhrt ( /~hhrt/ ) und heisst hallo.html. Als Protokoll wird HTTP/1.0 verwendet. GET /~hhrt/hallo.html HTTP/1.0 auf einer Zeile eintippen und mit der Enter -Taste ausführen. Tipp: Vor der Eingabe des GET-Befehls kann man zur besseren Übersicht die Enter-Taste sooft drücken, bis der Cursor auf einer freien Zeile steht. Das HTTP-Protokoll erwartet als Abschluss der Anfrage noch eine Leerzeile. Also Enter -Taste nochmals drücken (das darf auch nicht vergessen werden). Achtung: Es darf kein einziger Tippfehler gemacht werden. Das HTTP-Protokoll ist für die Kommunikation zwischen zwei Rechnern konzipiert worden, die keine Tippfehler machen. Gegebenenfalls muss also wieder ganz von vorne begonnen werden. Alternativ kann man die Eingabezeilen auch in einem Editor vorbereiten und mit copy/paste in das telnet-fenster (tippfehlerfrei) übertragen. Auf diesen GET-Befehl antwortet der Webserver mit einem http-header mit Angaben zum Server und Informationen zur Datei, wie Grösse, Änderungsdatum und Dateityp. Nach einer Leerzeile folgt dann der HTML-Datei-Inhalt. Ein Vergleich mit dem Quelltext im Browser zeigt, dass es sich um den gleichen Inhalt handelt. Die Verbindung zum Server wird nach der Auslieferung der Datei automatisch abgebrochen. Bemerkungen: Wenn die erhaltene Webseite Verweise auf eingebettete Graphiken und Multimedia-Dokumente enthält, muss der Browser diese in nachfolgenden, separaten http-requests anfordern. Der manuelle Einsatz in diesem Beispiel soll das Prinzip des HTTP-Protokolls aufzeigen und ist nicht für den produktiven Einsatz gedacht. www-http-ftp.doc Seite 6 / 12 25.09.2007
B.1.4 Fakultative Aufgaben: Holen Sie sich aus dem Internet die RFC-Beschreibungen des HTTP-Protokolls und studieren Sie die Beschreibungen der GET- und POST-Befehle. B.2 FTP kopiert Dateien von einem Server auf den PC Mit dem http-protokoll kann man jeweils eine Datei von einem Server auf den PC übertragen und im Browser anzeigen. Wenn mehrere Dateien oder ganze Verzeichnisbäume von einem Server auf den PC kopiert werden sollen, ist ftp effizienter. B2.1 FTP im Browser Web-Browser kennen neben dem http-protokoll auch das ftp-protokoll. In der Adressleiste muss als URL lediglich ftp:// vor dem Servernamen eingetippt werden. Geben Sie die Adresse ftp://mirror.switch.ch/ in einem beliebigen Browser ein. Der Verzeichnis-Inhalt wird ausgelesen und wie im Dateimanager dargestellt. Klicken Sie nacheinander auf doc -> standard -> rfc -> 19xx -> 1945.txt So wird mittels ftp-protokoll die Internet-Norm zum Protokoll HTTP1.0 kopiert und direkt im Browser angezeigt. Natürlich könnte man auch direkt ftp://mirror.switch.ch/doc/standard/rfc/19xx/1945.txt in die Browser-Adressleiste eintippen, wenn man weiss wo das Gewünschte liegt. B.2.2 FTP auf der Kommandozeile B.2.2.1 ftp starten und Verbindungsaufbau Linux (KDE): Start System Terminals Konsole oder das Icon Terminal-Programm in der Kontrollleiste anwählen. Im neuen Konsolenfenster geben Sie den Befehl ftp ein. Windows XP: Start Ausführen, dann ftp eingeben und OK anklicken. Funktioniert leider nur teilweise, da der ftp- Client von Microsoft den von der Firewall verlangten Passiv-Modus nicht unterstützt. Der Prompt ftp> zeigt an, dass ftp gestartet ist und auf Eingaben wartet. Verbindungsaufbau: open mirror.switch.ch eintippen und mit der Enter -Taste ausführen. Als Name ftp oder anonymous eintippen, als Passwort kann man die Email-Adresse angeben. B.2.2.2 Datei- und Verzeichnisnamen anzeigen und das Verzeichnis wechseln Die ftp-befehle werden beim Eintippen von help angezeigt. Mit ls kann der Inhalt des Verzeichnisses angezeigt werden. Ein Vergleich mit der Anzeige im Browser bestätigt, dass es sich um die gleichen www-http-ftp.doc Seite 7 / 12 25.09.2007
Inhalte handelt. Mit dem cd -Befehl (change directory) kann auf dem Server das Verzeichnis gewechselt werden. Nacheinander cd doc, cd standard, cd rfc, und cd 19xx oder cd doc/standard/rfc/19xx eintippen führt ins gewünschte Verzeichnis. Ausgabe des Verzeichnis-Inhalts mit ls ergibt die gleiche Liste wie im Browser. Tipp: cd.. wechselt jeweils in übergeordnete und cd / ins oberste Verzeichnis. B.2.2.3 Datei vom Server auf den PC kopieren und ansehen Mit dem ftp-befehl get werden Dateien vom Server kopiert. get 1945.txt holt die Datei und speichert sie auf der lokalen Festplatte. quit beendet die ftp-verbindung zum Server. Nun befinden wir uns wieder auf dem PC. Mit ls ( dir unter Windows) wird der Verzeichnis-Inhalt angezeigt. Die Datei 1945.txt ist wie erwartet aufgeführt. cat 1945.txt zeigt unter Linux den Inhalt der Datei auf dem Bildschirm an. Mit cat 1945.txt less kann mit den PageUp/PageDown-Tasten vor- und rückwärts geblättert werden. Das -Zeichen macht man mit den Tasten AltGr und 1 oder AltGr und 7. Selbstverständlich kann man die Datei auch im Dateimanager anklicken und ansehen. Ist es die gleiche Datei, wie jene, die vorher mit dem Browser geholt wurde? B.3 Verschlüsselter Zugriff Beim verschlüsselten Zugriff auf die Server wird meist ein Loginname und ein Passwort verlangt. Da diese verschlüsselt übertragen werden, können sie auch mit einem Netzwerk-Sniffer nicht abgehört werden. Weil man nun weiss, wer sich eingeloggt hat, kann man dem Benutzer auch mehr Rechte geben. Z.B. ist es möglich auf die eigenen privaten Dateien zuzugreifen und Dateien auf den Server hochzuladen. Tipp: labts101.zhaw.ch ist ein Labor-Rechner auf dem Sie im Praktikum (fast) gefahrlos experimentieren können. In den Praktika arbeiten Sie mit Vorteil auf dem Server labts101.zhaw.ch Ihre wichtigen Daten speichern Sie besser auf dem anderen Server mustang.zhaw.ch, dem Windows-Laufwerk M:. B3.1 ssh-, sftp- und scp-programme B3.1.1 ssh-, sftp- und scp-programme für Windows Windows unterstützt von Haus aus ssh und sftp nicht. Man muss also Programme installieren. Wir empfehlen als Kommandozeilen-Tool PUTTY. Es kann hier gratis bezogen werden: http://www.chiark.greenend.org.uk/~sgtatham/putty/. Für die grafische Oberfläche (mit Drag and Drop) kann der SSH Tectia Client eingesetzt werden. An der ZHaW kann es hier bezogen werden: https://its.zhwin.ch/download/tectiaclient-4.0.7.1.exe. Im PUTTY-Projekt ist ein scp-programm enthalten. Es kann nur von der Eingabeaufforderung gestartet werden durch Eingabe von: C:\Programme\putty\pscp login@labts101.zhaw.ch:pfad/datei ziel www-http-ftp.doc Seite 8 / 12 25.09.2007
B3.1.2 ssh-, sftp- und scp-programme für Linux Die notwendigen Programme sind standardmässig installiert. Auf der Kommandozeile kann ssh durch Eintippen von ssh gestartet werden. Auf der Kommandozeile kann sftp durch Eintippen von sftp gestartet werden. Der Dateimanager Konqueror unterstützt sftp ebenfalls. Dazu muss in der Adressleiste nur das Protokoll sftp:// vor dem Rechnernamen angegeben werden. Auf der Kommandozeile kann scp durch Eintippen von scp gestartet werden. B3.2 ssh = verschlüsseltes telnet Loggen Sie sich mit dem SSH Tectia Terminal Client unter Windows auf dem Labor-Server labts101.zhaw.ch ein. Für User Name geben Sie Ihren ZHaW- Loginnamen an. Später wird da das ZHaW-Passwort verlangt. Tippen Sie den Befehl date ein, um Zeit und Datum auf dem Server abzufragen. Mit dem Befehl who -a sehen Sie wer gerade auf dem Server eingeloggt ist. Mit dem Befehl exit beenden Sie die ssh-sitzung. Öffnen Sie unter Linux, wie bei telnet beschrieben, eine Konsole und tippen Sie ssh login@labts101.zhaw.ch ein ( login ersetzen durch Ihren ZHaW-Loginnamen). Nach Eingabe des Passworts sind Sie auf dem Server eingeloggt. Probieren Sie die gleichen Befehle wie oben beschrieben aus. B3.3 sftp = verschlüsseltes ftp Loggen Sie sich mit dem SSH Tectia File Transfer Client unter Windows auf dem Labor- Server labts101.zhaw.ch ein. Welche Dateien und Verzeichnisse liegen im Verzeichnis /home/staff/hhrt/www? Kopieren Sie die Datei hallo.html in Ihr eigenes www -Verzeichnis auf labts101.zhaw.ch. Da auf dem Labor-Server auch ein Web-Server läuft, können Sie im Browser die Adresse http://labts101.zhaw.ch/~login/hallo.html eintippen (dabei login ersetzen durch Ihren ZHaW-Loginnamen) und die Datei ansehen. Loggen Sie sich mit dem Konqueror (Linux-Dateimanager) auf labts101.zhaw.ch ein, indem Sie als Adresse sftp://login@labts101.zhaw.ch eingeben. Sehen Sie dieselben Dateien und Verzeichnisse im Verzeichnis /home/staff/hhrt/www? Löschen Sie die Datei hallo.html in Ihrem www -Verzeichnis. B3.4 scp = verschlüsselter Kopierbefehl (wie Unix-Befehl: cp) Kopieren Sie mit scp die Datei hallo.html die auf dem Server labts101.zhaw.ch im Verzeichnis /home/staff/hhrt/www liegt, in ein Verzeichnis auf Ihrem lokalen Rechner. Tipp: die Angabe für das aktuelle Verzeichnis ist einfach ein. (Punkt). Mit der Option -r können Verzeichnisbäume rekursiv kopiert werden. Kopieren Sie mit scp alle Dateien und Verzeichnisse vom Verzeichnis /home/staff/hhrt/public auf dem Rechner labts101.zha.ch, in ein Verzeichnis auf Ihrem lokalen Rechner. www-http-ftp.doc Seite 9 / 12 25.09.2007
B3.5 Fakultative Aufgaben Loggen Sie sich unter Windows mit PUTTY auf labts101.zhaw.ch ein und geben Sie dieselben Befehle ein. Loggen Sie sich mit PSFTP (im Lieferumfang von PUTTY unter Windows) ein und versuchen Sie das gleiche auf der Kommandozeile zu machen. Die sftp -Befehle sind die gleichen wie für ftp. Probieren Sie das Programm PSCP (im Lieferumfang von PUTTY unter Windows) aus. Loggen Sie sich mit sftp auf der Linux-Kommandozeile ein und www-http-ftp.doc Seite 10 / 12 25.09.2007
C. Kontrollfragen 1. Wie lange besteht eine Verbindung zwischen dem WWW-Client und Server? 2. Mit welchen HTTP-Kommandi kann man Dateien von Webserver anfordern? 3. Eine Webseite enthält zwei Bilder. Wie viele HTTP-GET-Requests wird der Browser generieren? 4. Was ermöglicht Telnet? 5. Mit welchem Telnet-Kommando kann eine Verbindung zum Server x.y.ch via Port 8080 aufgenommen werden. 6. Auf welchem Port erwartet ein Webserver normalerweise Anfragen? 7. Mit welchem URL im Browser müssen Sie eine Datei index.html adressieren, die sich auf dem Datenserver mustang.zhaw.ch in Ihrem Unterverzeichnis www/test befindet? 8. Welches RFC enthält die Beschreibung von HTTP/1.0? Was steht auf der Seite 3 ganz oben? Wozu dient das POST-Kommando? 9. Nennen Sie alle 7 http-kommandi (GET,. ) und beschreiben Sie, was sie bewirken. 10. Wie weiss der Browser, wie er die empfangene Datei darstellen muss (z.b. ist es reiner Text oder eine HTML-Datei). 11. Was ist der Unterschied zwischen ssh und telnet? 12. Über welchen sftp-server können Sie an der Schule auf Ihre Daten in den Netzdrives M: und N: zugreifen? 13. Was machen folgende Unix-Kommandos: ls, cd, who, cat? 14. Auf welchem Linux-Server können Sie sich als remote-user anmelden und dort mit der Shell- Kommandoschnittstelle arbeiten? 15. Wozu dient ssh und wozu sftp? 16. Wie lautet die Befehlsfolge um mit einem sftp-kommandozeilen-tool die Datei hallo.html im www -Verzeichnis des Users hhrt vom Server labts101.zhaw.ch auf den PC zu kopieren? 17. Kann man mit einem http-befehl ein ganzes Verzeichnis mit Inhalt kopieren? 18. Was findet man auf dem Server ftp://mirror.switch.ch? 19. Was findet man auf ftp://ftp.heise.de/? Wie geschieht der Zugriff auf diesen FTP-Server normalerweise? 20. Sie haben sowohl mit Linux als auch mit Windows gearbeitet. Welche Unterschiede gibt es? D. Selbststudium 1. Falls Sie zu Hause mit Windows arbeiten, installieren Sie ein ssh/sftp-programm. 2. Kopieren sie von zu Hause eine Datei auf Ihr Laufwerk M: ins Verzeichnis private. 3. Geben Sie der Datei auf dem Server einen anderen Namen. 4. Kopieren Sie die Datei wieder zurück auf Ihren Heim-PC. Vergleichen Sie die Datei mit dem Original. 5. Loggen Sie sich mit ssh auf labts101.zhaw.ch ein. Ist sonst noch jemand eingeloggt? 6. Loggen Sie sich zusätzlich ein zweites Mal ein. Erklären Sie weshalb das möglich ist. 7. Welche Dateien und Verzeichnisse sind im public-verzeichnis Ihres Dozenten oder ihrer Dozentin? www-http-ftp.doc Seite 11 / 12 25.09.2007
E. Zugriffsmöglichkeiten auf einige ZHaW-Server Anstelle von login setzen Sie den eigenen ZaHW-Loginnamen (= ZaHW-Benutzername) ein. Tipp: Speichern Sie diese URLs als Profile und Lesezeichen im Browser und in den ssh- und sftp-programmen ab. Zugriffsart Netzlaufwerk ZHaW-intern und mit VPN Programm Betriebs- System Explorer Windows Konqueror Linux SFTP Tectia graphisch Client Windows Konqueror Linux SFTP PSFTP Konsole Windows sftp Linux SSH PUTTY Konsole Windows ssh Linux SCP PSCP Konsole (PUTTY) Windows scp Linux Windows-Laufwerk M: persönliche Daten auf mustang M: \\mustang.zhaw.ch\login Windows-Laufwerk N: Daten aller User auf mustang N: \\mustang.zhaw.ch Labor-Server labts101 = Spielwiese \\labts101 oder \\labts101\login Netzlaufwerk verbinden smb://login@mustang.zhaw.ch/login smb://login@mustang.zhaw.ch smb://login@labts101.zhaw.ch/login edudata.zhaw.ch edudata.zhaw.ch labts101.zhaw.ch sftp://login@edudata.zhaw.ch/n/... users/stud/klasse/login sftp://login@edudata.zhaw.ch/n/... users/staff/login (ganzen Pfad angeben, wegen bug) open login@edudata.zhaw.ch cd M sftp login@edudata.zhaw.ch cd M sftp://login@edudata.zhaw.ch/n/... users/stud sftp://login@edudata.zhaw.ch/n/... users/staff (ganzen Pfad angeben, wegen bug) open login@edudata.zhaw.ch cd N sftp login@edudata.zhaw.ch cd N sftp://login@labts101.zhaw.ch open login@labts101.zhaw.ch sftp login@labts101.zhaw.ch gesperrt gesperrt login@labts101.zhaw.ch gesperrt gesperrt ssh login@labts101.zhaw.ch C:\Programme\putty\pscp... login@edudata.zhaw.ch:/m/pfad/datei ziel (Eintippen in Eingabeaufforderung) C:\Programme\putty\pscp... login@edudata.zhaw.ch:/n/pfad/datei ziel (Eintippen in Eingabeaufforderung) C:\Programme\putty\pscp... login@labts101.zhaw.ch:/pfad/datei ziel (Eintippen in Eingabeaufforderung) (Fehlermeldung, wegen bug) (Fehlermeldung, wegen bug) scp login@labts101.zhaw.ch:/pfad/datei ziel Tipp: Da edudata.zhaw.ch nicht richtig mit Linux zusammenarbeitet, muss man manchmal den Umweg über labts101.zhaw.ch machen. www-http-ftp.doc Seite 12 / 12 25.09.2007