Verteilte Systeme. Axel-Tobias Schreiner Fachbereich Mathematik-Informatik Universität Osnabrück

Größe: px
Ab Seite anzeigen:

Download "Verteilte Systeme. Axel-Tobias Schreiner Fachbereich Mathematik-Informatik Universität Osnabrück"

Transkript

1 1 Verteilte Systeme Axel-Tobias Schreiner Fachbereich Mathematik-Informatik Universität Osnabrück Eine Einführung in praktische Client-Server Programmierung unter UNIX vor allem im Bereich der TCP/IP-Protokolle, mit der Tool-Command-Language (TCL) und mit C und Objective C. Dieser Band enthält Kopien der OH-Folien, die in der Vorlesung verwendet wurden. Diese Information steht außerdem auf NeXT-Systemen online zur Verfügung; sie ist in sich und mit der Systemdokumentation über Hypertext-Links verbunden und für den Librarian aufbereitet. Die Beispielprogramme werden maschinell aus diesem Text extrahiert. Der Band stellt kein komplettes Manuskript der Vorlesung dar. Zum Selbststudium müßten zusätzlich ein Buch über Client-Server-Programmierung sowie ein Teil der Systemdokumentation konsultiert werden; Kenntnisse von ANSI-C und Objective C werden vorausgesetzt. Inhalt 0 Einführung 1 1 Schichten 5 2 TCL 25 3 TCP-Programmierung 53 4 TCP-Programmierung mit Objective C 73 5 TCP-Tools für die Shell 93 6 Pseudo-Terminals Datagramm-Sockets Eine grafische Oberfläche notes ein Beispiel für Groupware Remote Procedure Calls mit rpcgen Verteilte Objekte Ein Web-Browser als Frontend NFS 217

2 2 Kalender Oktober 10. Einführung. Schichten-Modell. telnet, traffic, netstat Client/Server: Prozesse, Programme. TCL TCP-Verbindungen. bind, accept, connect, echo, doecho RPC. dp_makerpc*, Stubs, Sicherheit RPC, schrittweiser Ablauf. Telefonbuch-Objekt Verteilte Objekte: Telefonbuch, Portmapper arp, ifconfig, rpcinfo, nfsstat, spray, netstat, snmp 01 November 2. TCL: Grundbegriffe, trace TCL: Ausdrücke, string, Listen, Kontrollstrukturen TCL: Prozeduren, Blockstruktur, exec, file, cat, return TCL: info level, return. Sockets [krank] 21. [Skalla, RZ] Routing und WAN-Anschluß 23. TCP-Programmierung in C Klient mit select. Klassen für Sockets Klassen für Sockets: Object, Address, Inet, Unix, Fd 04 Dezember 5. Socket, Tcp, Acceptor. TCP-Tools: tcp, tcpd, snoop Implementierung der Shell-TCP-Tools. Pseudo-Terminals Pseudo-Terminals, stty-modes. use-server, Parsierung Datagramme. use-server und -Klient in TCL und C TK, grafische Oberfläche für use-klient 08 Januar 9. Client/Server-Prinzip bei X. use-oberfläche use: Anschluß am Server, asynchrone/robuste Version notes: Idee, Architektur, Parser, grafische Oberfläche notes: Verbindung zum Server XDR, RPC. xin, xout, Darstellung auf dem Netz. High-level rpcgen Prinzip und Sprache. mbox/mboxd Java. rpcgen: Dummy-Funktionen, Monolith, Klient. 10 Februar 1. rpcgen: mbox-funktionen. Verteilte Objekte: tel leaky und tel. Protokolle für mbox mbox httpd, HTML plus Objective C NFS 13

3 3 Termine Vorlesung Dienstag, 10:15 31/449a Schreiner Donnerstag, 10:15 31/449a Übungen Freitag, 8:15 31/449a Gremeyer Freitag, 10:15 31/322 Sprechstunde Donnerstag ab 10:00 n.v. 31/321 Schreiner (2480, axel) 31/325 Gremeyer (2482, gremeyer) Literatur Diese Folien befinden sich als Dateien im Katalog../skript und gedruckt in der Lehrsammlung. Bitte nicht per Laserdrucker drucken. Es gibt heute sehr viele Bücher über UNIX, verteilte Systeme und Client-Server Programmierung. Manche behandeln die Protokolle, andere die Programmierung von Verbindungsmechanismen und wieder andere den Umgang mit Klienten. Die folgenden Bücher sind nützlich. Soweit vorhanden, befinden sie sich in der Lehrsammlung. Comer Internetworking with TCP/IP Comer/Stevens Design, Implementation, and Internals Comer/Stevens X... Client-Server Programming and Applications Kerninghan/Ritchie Programmieren in C Kernighan/Pike Der UNIX-Werkzeugkasten Ousterhout X Tcl and the Tk Toolkit Stevens UNIX Network Programming Stevens TCP/IP Illustrated, Vol. 1: The Protocols Wall/Schwartz Programming perl Welch Practical Programming in Tcl and Tk Einige meiner Beispiele habe ich in Artikeln in unix/mail behandelt. Die Manual-Seiten befinden sich online im Katalogbereich /NextLibrary/Documentation/ManPages und können mit dem Kommando NeXT mit dem Librarian betrachtet werden. man oder auf

4 4 leere Seite

5 5 1 Schichten Letztlich sollen Applikationen zusammenarbeiten. Die dazu nötige Software wird in Schichten aufgebaut, die von den elektrischen Aspekten bis zu den Anwendungsprogrammen reichen. Das sogenannte OSI-Modell hat sieben Schichten, bei der TCP/IP-Protokollfamilie unterscheidet man vier Schichten, die zum Teil mit OSI übereinstimmen: Application Presentation Session TFTP SNMP NFS NIS NSP portmapper RPC XDR FTP LPD SMTP TELNET Transport UDP TCP Network IP ICMP ARP RARP Data Link IEEE Ethernet andere Physical

6 6 Klienten- und Serverprozesse Auf dem eigenen Rechner erfährt man Datum und Uhrzeit mit date: $ date Sat Apr 9 16:24:40 MET DST 1994 $ Wenn man zugreifen kann, erfährt man Datum und Uhrzeit von einem fremden Rechner etwa so: $ rsh linux -l axel date Sat Apr 9 15:37:35 GMT 1994 $ Mit rsh wird hier unter dem Benutzernamen axel auf dem Rechner linux das Kommando date ausgeführt. Dazu ist eine Anmeldung auf dem fremden Rechner nötig. Auch ohne Berechtigung funktioniert folgendes: $ telnet linux daytime Trying Connected to linux. Escape character is ^]. Sat Apr 9 15:45: Connection closed by foreign host. $ telnet linux daytime 2>/dev/null Connected to linux. Escape character is ^]. Sat Apr 9 15:51: $ Mit telnet wird hier eine Verbindung zum Rechner linux und dort zum Port des daytime-service aufgebaut. Dieser Service liefert eine Zeile mit einem Datumstempel, die telnet dann ausgibt. In jedem Fall arbeiten ein Klient und ein Server zusammen: der Klientenprozeß, wie rsh oder telnet, wird vom Benutzer an einem Rechner aufgerufen und liefert die gewünschte Leistung. der Klient kontaktiert einen Service, wie shell oder daytime, auf einem (anderen) Rechner und läßt vom dafür zuständigen Serverprozeß, wie rshd oder inetd, die gewünschte Leistung erbringen. Die Programmierprobleme bestehen einerseits darin, daß der Klient und der Serverprozeß Verbindung aufnehmen müssen der Serverprozeß muß eigentlich existieren, bevor man mit ihm Verbindung aufnehmen kann und andererseits in der programmtechnischen Verpackung der Vorgänge.

7 7 Klienten- und Serverprogramme Da das Betriebssystem alle Peripheriegeräte verwaltet, braucht man letztlich (neue) Systemaufrufe, mit denen Prozesse auf verschiedenen Rechner Kontakt aufnehmen und Daten transferieren können. In C benötigt man reichlich verwickelte Strukturen. In TCL-DP sind die Abläufe prinzipiell gleich, aber durchschaubarer: {01/echo #!/usr/local/bin/dptcl -f # echo -- tcl-script for an echo client puts -nonewline "host: "; set host [gets stdin] puts -nonewline "port: "; set port [gets stdin] set data [lindex [dp_connect $host $port] 0] while {! [eof stdin] { puts $data [gets stdin] puts [gets $data] exit 0 { TCL ist eine Shell-artige Kommandosprache, TCL-DP enthält zusätzlich eingebaute Kommandos für Distributed Programming. Für den echo-klienten wesentlich ist, daß dp_connect eine Verbindung zu einem Rechner und einem Port (also einem File-Deskriptor bei einem Prozeß) aufbaut und als Resultat eine Liste liefert, deren erster Eintrag ein File-Deskriptor ist. echo kann so benutzt werden: $./echo host: linux port: 7 hi there, linux hi there, linux ^D $./echo host: localhost port: daytime Tue Apr 12 04:37: ^C $

8 8 Ein eigener doecho-server muß vorher gestartet werden. Er kann ungefähr so programmiert werden: #!/usr/local/bin/dptcl -f # doecho -- tcl-script for an echo server set service [dp_connect -server 0] puts "echo server on port [lindex $service 1]" close stdout set call [lindex $service 0] set data [lindex [dp_accept $call] 0] catch { exit 0 while 1 { puts $data [gets $data] {01/doEcho { In dieser Form konstruiert dp_connect einen File-Deskriptor für einen Server und liefert als zweites Listenelement die vom System vergebene Port-Nummer. dp_accept nimmt den File-Deskriptor call und wartet, bis jemand anruft. Die davon resultierende Liste enthält als erstes Element dann den File-Deskriptor, über den Daten transferiert werden können. catch schnappt sich hier den Fehler, der beim Abbruch des echo-klienten ankommt. Das funktioniert dann etwa so: $ set `doecho &` $ echo echo server on port 2660 $./echo host: next port: 2660 hi there hi there ^D [1]+ Done doecho $ Über die Byte-Verbindung kann man nun Daten so zwischen Prozessen auf verschiedenen Rechnern austauschen, wie das auf einem Rechner mit (zwei!) Pipes möglich wäre. Es bleibt das Problem der Datenformate, Synchronisation, etc.

9 9 Klienten- und Serverprozeduren Remote Procedure Calls (RPC) sind eine höchst elegante Verpackung von Kommunikation über eine Byte-Verbindung. Abgesehen vom Aufwand der Einrichtung einer Verbindung hat der Klient den Eindruck, daß er lokale Prozeduren aufruft: #!/usr/local/bin/dptcl -f # rpc -- tcl-script to execute RPCs {01/rpc set server {; set host { # leere Liste proc server { { global server host if {$server == { { puts -nonewline "host: "; set host [gets stdin] puts -nonewline "port: "; set port [gets stdin] set server [dp_makerpcclient $host $port] return $server proc GetDate { { dp_rpc [server] GetDate proc GetUsers { { dp_rpc [server] GetUsers puts [GetDate] puts "$host:[getusers] user(s)" exit 0 { dp_makerpcclient baut eine Verbindung auf, über die mit dp_rpc ein Prozeduraufruf verschickt und Resultate empfangen werden können. Typischerweise verkleidet man die Remote Procedure mit einer gleichnamigen lokalen Prozedur.

10 10 #!/usr/local/bin/dptcl -f # dorpc -- tcl-script for an RPC server {01/doRpc puts "[pid] RPC server on port [dp_makerpcserver 0]" close stdout proc GetDate { { exec date # RPC: date proc GetUsers { { # RPC: numer of users exec who wc -l { Der Server ist in TCL-DP noch einfacher zu schreiben. dp_makerpcserver richtet die Verbindung ein und liefert die Port-Nummer. Im Server werden dann lokale Prozeduren per Namen für den Klienten ausgeführt. Die Prozeduren müssen natürlich geschlossen sein, das heißt, sie können nur auf globale Variablen im Server und auf Argumente vom Klienten zugreifen. Das funktioniert ungefähr so: $ set `dorpc &` $ echo 2008 RPC server on port 2672 $ rpc host: next port: 2672 Sat Apr 9 20:15:19 MET DST 1994 next: 7 user(s) $ kill $1 Bei korrekter Verpackung muß man die lokalen Prozeduren aus dem Server unverändert in den Klienten einfügen können, damit der Klient autark arbeiten kann. Eigentlich ist die Verpackung ideal aber wenn man beliebige Argumente über verschiedene Rechnerarchitekturen verschicken will, hat man zum Beispiel auch Probleme mit der Byte-Reihenfolge. Außerdem handelt man sich ein Sicherheitsproblem ein.

11 11 Verteilte Objekte Mit Prozeduren kann man ein primitives Telefonbuch in TCL so implementieren: set tel { {axel 2480 {bischof 2534 {gremeyer 2482 {jutta 2491 {gskalla 2486 {01/tel.tcl proc tel {name args { global tel set n [lsearch $tel "$name *"] if {$n >= 0 { return [lindex [lindex $tel $n] 1] if {[llength $args] { lappend tel [list $name [lindex $args 0]] return { Das Programm müßte man interaktiv verwenden, und es sammelt seine Daten nur während der Laufzeit in einer Liste von 2-elementigen Listen: $ dptcl % source tel.tcl % tel axel 2480 % tel gerhard % tel gerhard 2487 % tel gerhard 2487 %

12 12 Will man mehrere verschiedene Telefonbücher, muß man den Prozeduren das Telefonbuch als Argument geben. Man kann aber auch in TCL-DP so implementieren, daß man das Telefonbuch als Objekt ansieht, an das man die Anfragen in Form von Nachrichten schickt: {01/phoneBook.dp proc phonebook {book args { # constructor dp_objectcreateproc phonebook $book dp_objectslotset $book tel { {axel 2480 {bischof 2534 {gremeyer 2482 {jutta 2491 {gskalla 2486 eval $book configure $args; # fuer DP return $book proc phonebook.tel {book name args { # <book> tel <name> [number] set tel [dp_getf $book tel] set n [lsearch $tel "$name *"] if {$n >= 0 { return [lindex [lindex $tel $n] 1] if {[llength $args] { lappend tel [list $name [lindex $args 0]] dp_setf $book tel $tel return { Ein Objekt ist in TCL-DP eine Prozedur. Die Instanzenvariablen sind sogenannte Slots, auf die man mit entsprechenden Vokabeln eigentlich wie auf Strukturkomponenten zugreifen kann. Jetzt kann man mehrere Telefonbücher verwenden: $ dptcl % source phonebook.dp % phonebook inf inf % inf tel axel 2480 % inf tel gerda 2480 % inf tel gerda 2480 % phonebook math math % math tel gerda % math tel voges 2561 % inf tel voges %

13 13 Da man mit Objekten bereits über Nachrichten verkehrt, bietet sich an, Objekte auf verschiedene Rechner zu verteilen und die Nachrichten über RPC zu vermitteln. Wenn der Mechanismus entsprechend implementiert ist, sollte man zwischen lokalen und verteilten Objekten keinen Unterschied merken können. Bei TCL-DP benötigt die Klasse noch drei Methoden : {01/phoneBook.dp proc phonebook.configure {book args { # fuer DP eval dp_objectconfigure phonebook $book $args proc phonebook.slot-value {book slot { dp_objectslot $book $slot # fuer DP proc phonebook.destroy {book { # destructor dp_objectfree $book { Jetzt kann ein Serverprozeß ein Telefonbuch anlegen und auf Wunsch verteilen: {01/doTel #!/usr/local/bin/dptcl -f source phonebook.dp phonebook informatik puts "[pid] phonebook on port [dp_makerpcserver]" close stdout proc access { { global dp_rpcfile dp_distributeobject informatik $dp_rpcfile phonebook {

14 14 Ein Klient legt eine RPC-Verbindung an und bittet den Server durch Aufruf von access, ihm Zugriff auf das Telefonbuch zu geben. dp_makerpcclient verwendet dp_connect; ein leerer String wird als Namen des lokalen Rechners interpretiert. {01/tel #!/usr/local/bin/dptcl -f source phonebook.dp switch [llength $argv] { 2 { dp_rpc [dp_makerpcclient { [lindex $argv 0]] access puts [informatik tel [lindex $argv 1]] 3 { dp_rpc [dp_makerpcclient { [lindex $argv 0]] access informatik tel [lindex $argv 1] [lindex $argv 2] default { puts stderr "usage: tel port name \[number\]" exit 0 { Es geht hier nur um die Verpackung: entscheidend ist, daß nach dem Aufbau der Verbindung die Benutzung des verteilten Objekts informatik nicht von einer lokalen Benutzung zu unterscheiden ist das liegt an der Verwendung der besonderen Vokabeln dp_setf und dp_getf zum Zugriff auf die Slots. $ set `dotel &` $ echo 834 phonebook on port 2687 $ tel $5 axel 2480 $ tel $5 vornberger 2481 $ tel $5 vornberger 2481 $ kill $1

15 15 Portmapper Damit ein RPC-Klient seinen Server bequem finden kann, muß man natürlich Port und Rechner des Servers unsichtbar zur Verfügung stellen das ist die Aufgabe des portmapper, der an einer öffentlichen Adresse per RPC die Zugriffsinformation für RPC-Services liefert. {01/portMapper.dp # PMset <program> <host> <port> installs {<program> <host> <port> # PMset <program>?<host>? removes {<program> <host> * # PMfind <program> returns first {host port for <program> # PMfind <program> <host> returns {<host> port for <program> proc portmapper { { # client s connection global portmapper if {[llength $portmapper] > 1 { # connect upon first access set portmapper [eval dp_makerpcclient $portmapper] return $portmapper; # always return socket proc PMset {args { eval dp_rpc [portmapper] PMset $args proc PMfind {args { eval dp_rpc [portmapper] PMfind $args set portmapper {{ 12345; #!/usr/local/bin/dptcl -f # published {host port {01/doPortMapper source portmapper.dp set map [list [concat portmapper $portmapper]] dp_makerpcserver [lindex $portmapper 1] proc PMset {program {host * args { global map while {[set n [lsearch $map "$program $host *"]] >= 0 { set map [lreplace $map $n $n] if {[llength $args] { lappend map [list $program $host [lindex $args 0]] proc PMfind {prog {host * { global map if {[set n [lsearch $map "$prog $host *"]] >= 0 { return [lrange [lindex $map $n] 1 2] return {

16 16 Ähnlich wie im Telefonbuch speichern wir Programmname, Server-Adresse und Port als Liste in einer Liste map. Anders als das das offizielle Programm portmap tut, verwenden wir einen einzigen Portmapper im Netz, dessen Adresse zurest in der Variablen portmapper im Paket portmapper.dp gespeichert ist, das jeder Klient des Portmappers verwendet. Ein Portmapper-Klient wie unser Telefonbuch-Server meldet sich an, wenn er gestartet wird: {01/doTel2 #!/usr/local/bin/dptcl -f source portmapper.dp; # publish this host as server PMset phonebook [exec hostname] [dp_makerpcserver] dp_closerpc [portmapper] source phonebook.dp proc access {book { # [make and] distribute a phonebook global dp_rpcfile if {[info commands $book] == { { phonebook $book dp_distributeobject $book $dp_rpcfile phonebook { Mit access kann ein Telefonbuch-Klient den Server bitten, ein neues Telefonbuch anzulegen, falls es noch nicht existiert (es muß eine Prozedur sein!).

17 17 Ein Telefonbuch-Klient ist zuerst ein Portmapper-Klient und erfährt dort, wo er den Telefonbuch-Server finden kann: {01/tel2 #!/usr/local/bin/dptcl -f source portmapper.dp; set host [PMfind phonebook] dp_closerpc [portmapper] # find the phonebook server source phonebook.dp set books $argv; # skript arguments are phonebooks set server [eval dp_makerpcclient $host] foreach book $books { dp_rpc $server access $book while 1 { # cycle through phone books foreach book $books { while 1 { # ask for name?number? puts -nonewline "$book: "; set ask [gets stdin] if [eof stdin] { puts "" exit 0 dp_update if [llength $ask] { set answer [eval $book tel $ask] if {$answer!= "" { puts $answer else break { dp_update ist nötig, da sonst nur in der Hauptschleife implizit Anrufe verarbeitet werden. $ doportmapper & portmapper=$! $ dotel2 & tel2=$! $ tel2 inf math inf: voges inf: math: voges 2561 math: voges 2561 math: inf: voges inf: ^D $ kill $tel2 $portmapper

18 18 Network-Layer Es gibt verschiedene Kommandos, mit denen man sich Informationen auf dieser Ebene ansehen kann: $ arp -a linux ( ) at 2:60:8c:3d:8d:3c esix ( ) at 0:0:c0:20:72:2d arp zeigt und manipuliert die Informationen für ARP, also die Abbildung von IP- zu Ethernet-Adressen. $ ifconfig lo0 lo0: flags=69<up,loopback,notrailers,running> inet netmask ff $ ifconfig en0 en0: flags=63<up,broadcast,notrailers,running> inet netmask fffff000 broadcast ipconfig zeigt und manipuliert beim Systemstart die Einstellung der Interface-Struktur im Kern, also die Festlegung der eigenen IP-Adresse und die Parameter für eine Netz-Schnittstelle. $ rpcinfo -p esix program vers proto port udp 111 portmapper udp 111 portmapper tcp 111 portmapper tcp 111 portmapper udp 2049 nfs udp 1027 mountd tcp 1028 mountd rpcinfo zeigt, welche Programme beim offiziellen portmapper angemeldet sind, um zu zeigen, auf welchem Port sie RPC empfangen. Außerdem kann man die Prozedur 0 der Programme anrufen, um zu sehen, ob die Programme überhaupt antworten: $ rpcinfo -u esix program version 2 ready and waiting $ rpcinfo -t esix program version 1 ready and waiting $ rpcinfo -b next next ^C

19 19 nfsstat zeigt speziell die Statistik der NFS-RPCs. $ nfsstat... Client nfs: calls badcalls nclget nclsleep null getattr setattr root lookup readlink read 0 0% 38 29% 0 0% 0 0% 66 50% 0 0% 18 13% wrcache write create remove rename link symlink 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% mkdir rmdir readdir fsstat 0 0% 0 0% 4 3% 5 3% Mit spray kann man Erreichbarkeit und Antwortverhalten für RPCs untersuchen: $ spray next sending 1162 packets of lnth 86 to next packets (21.343%) dropped by next 605 packets/sec, bytes/sec

20 20 netstat zeigt verschiedene Netz-Datenstrukturen und Statistiken: $ netstat Active Internet connections Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp 0 0 next.time esix.1304 TIME_WAIT tcp 0 0 next.1023 esix.login ESTABLISHED tcp next.799 next.802 ESTABLISHED tcp 0 0 next.802 next.799 ESTABLISHED $ netstat 5 input (en0) output input (Total) output packets errs packets errs colls packets errs packets errs colls ^C $ netstat -i Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll en next lo loopback localhost en0* 1500 none none $ netstat -m 76/256 mbufs in use: 4 mbufs allocated to packet headers... $ netstat -s ip interrupt queue:... ip: total packets received 0 bad header checksums... icmp: 0 calls to icmp_error... tcp: 5571 packets sent 2398 data packets ( bytes) 10 data packets (9744 bytes) retransmitted packets received 3128 acks (for bytes) 988 duplicate acks... udp: 0 incomplete headers 0 bad data length fields 0 bad checksums

21 21 Adressierung Im Netzwerk-Layer werden physikalische Adressen (zum Beispiel 6-Byte-Ethernet) mit logischen Adressen (4-Byte Internet) verknüpft. Mit Name-Service (NIS, DNS) kann man zu einem Rechnernamen die Internet-Adresse erfahren. Mit ARP kann man zu einer Internet- die Ethernet-Adresse erfahren. Internet-Adressen sind hierarchisch vergeben. Wenn ein Paket an eine bestimmte Internet-Adresse geschickt werden soll, zeigen die Route-Tabellen, wie man vorgehen muß. $ netstat -r Routing tables Destination Gateway Flags Refs Use Interface localhost localhost UH lo next U en0 $ netstat -rn Routing tables Destination Gateway Flags Refs Use Interface UH lo U en0 Die Zieladresse paßt entweder insgesamt oder in einem Netz-Teil (von links her) zu einer Destination; dann wird das Paket an die Ethernet-Adresse des zugehörigen Gateway geschickt. Normalerweise gibt es noch einen Eintrag default, an den die übrigen Pakete geschickt werden. Ob man einen Rechner erreicht, kann man mit ping prüfen. traceroute manipuliert die Pakete so, daß sie nur jeweils einen Rechner weit(er) kommen und zeigt, wie ein Rechner erreicht wird: $ ping esix PING esix: 56 data bytes 64 bytes from : icmp_seq=0. time=30. ms 64 bytes from : icmp_seq=1. time=2. ms ^C ----esix PING Statistics packets transmitted, 2 packets received, 0% packet loss round-trip (ms) min/avg/max =/usr/local $ traceroute rzserv traceroute to rzserv ( ), 30 hops max, 38 byte packets 1 rzrouter ( ) 9 ms 3 ms 3 ms 2 neptun ( ) 5 ms 4 ms 4 ms 3 rzserv ( ) 7 ms 6 ms 6 ms

22 22 Netzwerk-Management snmp Bei NeXTSTEP 3.2 kann man in der NetInfo-Datenbasis etwa folgendes eintragen: locations/snmp/ enabled communities/ public/ yes networks Jetzt wird beim Systemstart von /etc/rc aus das Programm /usr/etc/snmpd erfolgreich gestartet und folgende Anfragen sind möglich: $ snmp status localhost localhost (NeXT.1.1), Uptime: 0:13:03 NeXT Mach 3.2: Mon Oct 18 21:57:41 PDT 1993; root(rcbuilder):mk obj~2/rc_m68k/release_m68k Name Speed Type Stat Ibyte Obyte Ierr Oerr Physical Address en0 other up 88KB 87KB <.1% <.1% 00:00:0F:00:B3:36 lo0 other up 1.6MB 1.6MB <.1% <.1% en0 10Mb ethernet up 88KB 87KB <.1% <.1% $ snmp localhost snmp> walk system system.sysdescr.0 NeXT Mach 3.2: Mon Oct 18 21:57:41 PDT 1993; root(rcbuilder):mk obj~2/rc_m68k/release_m68k (OCTET STRING) system.sysobjectid.0.iso.org.dod.internet.private.enterprises.next.1.1 (OBJECT IDENTIFIER) system.sysuptime.0 0:02:41 (Timeticks, 16165) snmp> ^D $ snmpnetstat localhost Active Internet Connections Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp 0 0 next.time esix.2413 TIMEWAIT tcp 0 0 next.700 next.703 ESTABLISHED tcp 0 0 next.700 next.761 ESTABLISHED tcp 0 0 next.703 next.700 ESTABLISHED tcp 0 0 next.761 next.700 ESTABLISHED Allgemein kann man in /etc/snmp.mib erahnen, welche Anfragen beantwortet werden: system interfaces at ip icmp tcp udp egp Grundsätzlich ist für SNMP eine erweiterbare, hierarchische Datenbasis vereinbart, in der Variablen einzeln oder in Gruppen abgefragt oder gesetzt werden können. NeXT verwendet PD-Software, um wenigstens die Netzaspekte abfragen zu lassen.

23 23 Monitore Für den Super-User gibt es verschiedene Programme, mit denen man den Netzverkehr auf der Basis von Internet-Adressen beobachten kann. etherfind und tcpdump wählen Pakete nach verschiedenen Kriterien und geben sie decodiert aus, traffic und etherman stellen den Verkehr grafisch dar. traffic

24 24 etherman

25 25 2 TCL John Ousterhouts Tool Command Language (TCL) ist eine zeilenorientierte, Shell-ähnliche Kommandosprache, deren Interpreter als C-Funktion in andere Programme eingebettet und mit neuen Kommandos in Form von C-Funktionen leicht erweitert werden kann. Sie kann deshalb als Standard und Basis für Kommandosprachen verwendet werden. Diese Beschreibung bezieht sich wie Ousterhouts Buch auf TCL Version 7.3 und TK Version 3.6. Lexikalische Aspekte Ein TCL-Skript besteht aus einem oder mehreren Kommandos, die durch Zeilentrenner oder Semikolon getrennt sind. Ein Kommentar reicht von # bis zum nächsten Zeilentrenner, aber nur, wenn # das erste Zeichen des ersten Worts eines Kommandos ist. Ein Kommando besteht aus einem oder mehreren Worten, die durch Leerzeichen oder Tabulatorzeichen getrennt sind. Jedes Zeichen eines TCL-Skripts wird bei jedem Durchgang durch den TCL-Interpreter exakt einmal bearbeitet, dabei wird exakt einmal ersetzt und/oder bewertet.

26 26 Ersatz für Variablen Mit $ wird der Wert einer Variablen abgerufen, die allerdings existieren muß: $ tclsh % set var 2 2 % expr $var*3 6 Der Variablenname ist fast beliebig, bei Bedarf kann er mit { abgetrennt werden. Der Wert einer Variablen ist immer eine Liste von Werten, die beim Ersatz jedoch eine Liste bleibt. Ein einzelner Wert ist immer ein String, der von Kommandos aber oft speziell interpretiert wird. Ersatz für Kommandos Mit [] wird der Wert des eingeschlossenen Kommandos abgerufen: % set % set 66 [expr ${33*2] 66 Auch hier kann der Wert eine Liste sein, oder er kann Teil eines Worts werden: % set ab {a b a b % set c ${abc a bc % llength $c 2 Anscheinend wird von links her abgearbeitet man sollte also wohl eingebettete Nebeneffekte vermeiden: % set b 4 4 % set b [expr $b+ [set b 6]] 10 % Ersatz für Gegenschrägstrich Mit dem Gegenschrägstrich erreicht man dasselbe wie in C: Darstellen von Sonderzeichen; Verhindern, daß Zeichen wie ; $ [] { interpretiert werden, sowie Fortsetzen von Zeilen.

27 27 Zitieren mit Doppelanführungszeichen Innerhalb von Doppelanführungszeichen verlieren Leerzeichen, Tabulatorzeichen, Zeilentrenner und Semikolon ihre besondere Bedeutung, aber die drei Ersatz-Operationen werden nach wie vor vorgenommen. % puts "\$c enthaelt \"$c\"" $c enthaelt "a bc" Es entsteht allerdings eine Liste, deren Trennzeichen offenbar intern gespeichert werden: % set a "b c"; # mit tab b c % puts $a b c % llength $a 2 % puts "\$a enthaelt \"[lindex $a 0]\" und \"[lindex $a 1]\"" $a enthaelt "b" und "c" % set a "a b c" a b c % llength $a 3 % puts $a a b c % puts [lrange $a 1 2] b c Zitieren mit geschweiften Klammern Alles zwischen balancierten geschweiften Klammern wird nicht interpretiert, ausgenommen daß innere geschweifte Klammern gezählt werden, daß die Folge \{ weder gezählt noch verändert wird und daß fortgesetzte Zeilen bereits zusammengefügt werden: % puts {$a \{ \ b $a \{ b Aus dem Inhalt der geschweiften Klammern entsteht eine Liste, die dann oft als Folge von TCL-Kommandos interpretiert wird. % set body { puts $a puts $a % foreach a {1 2 3 $body 1 2 3

28 28 Worte Da jedes Zeichen nur einmal gelesen und ersetzt wird, sind die Argumente (Worte) der Kommandos leicht aus den Zwischenräumen im Quelltext ersichtlich: % set city "New York" New York % set bigcity New York wrong # args: should be "set varname?newvalue?" % set bigcity $city New York Wenn ein Wert eine Liste ist, die einzelne Argumente eines Kommandos werden sollen, kann man mit eval einen weiteren Durchgang durch den Interpreter einleiten: % eval set city "New York" wrong # args: should be "set varname?newvalue?" $ tee a.o b.o c.o < /dev/null $ tclsh % rm [glob *.o] rm: a.o b.o c.o: No such file or directory child process exited abnormally % eval rm [glob *.o] % exit $ ls *.o eval ist fast immer nötig, wenn eine variable Argumentliste mit $args übergeben werden soll oder wenn das Resultat einer glob-expansion einem Kommando übergeben wird. Außerdem kann man eine Art Zeiger auf Zeiger realisieren: % set g h h % set f g g % puts $f g % puts $$f $g % eval puts $$f h

29 29 Kommandos Das erste Wort eines Kommandos muß der Name einer internen oder definierten TCL-Prozedur sein. Für unbekannte Worte wird die Prozedur unknown aufgerufen, die beliebig definiert werden kann. Nach Voreinstellung werden auto-loading und auf der obersten Ebene bei interaktiver Benutzung auto-execute, history und Abkürzungen unterstützt siehe /usr/local/lib/tcl/init.tcl. auto-loading sucht auf den Pfaden in der Liste auto_path nach Dateien mit Namen tclindex, die mit dem Kommando auto_mkindex directory pattern erzeugt oder aktualisiert werden. Prozeduren, die von auto_mkindex in tclindex eingetragen wurden, werden beim ersten Zugriff automatisch gefunden und geladen. auto_execute führt ein UNIX-Kommando für ein unbekanntes TCL-Kommando so aus, als ob exec angegeben worden wäre, allerdings nur interaktiv auf der äußeren Ebene: % date Wed Apr 27 17:15:34 MET DST 1994 % foreach a {1 2 date Wed Apr 27 17:15:42 MET DST 1994 Wed Apr 27 17:15:42 MET DST 1994 % proc d { { date % d invalid command name "date" history ist ein Kommando, das von unknown mit Abkürzungen im Stil der Shells unterstützt wird: history history keep count history nextid history redo?event? history substitute old new?event? zeigt Liste legt Länge fest zeigt nächste Position führt nochmals aus ersetzt und führt nochmals aus!! history redo!event history redo event ^old^new history substitute old new

Klienten und Server mit TCL

Klienten und Server mit TCL Klienten und Server mit TCL Axel-Tobias Schreiner, Universität Osnabrück Im letzten Heft hat Dieter Glauß die Tool Command Language TCL vorgestellt und gezeigt, wie leicht man damit X-Applikationen programmieren

Mehr

Alles Text Sockets à la Plan 9

Alles Text Sockets à la Plan 9 Alles Text Sockets à la Plan 9 Petra Gremeyer, Axel-Tobias Schreiner, Fachbereich Mathematik/Informatik, Universität Osnabrück Plan 9, das neue verteilte Betriebssystem der UNIX-Schöpfer, hat bekanntlich

Mehr

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät NAT und Firewalls Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April 2005

Mehr

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

Lösung Übungszettel 6

Lösung Übungszettel 6 Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include

Mehr

Rechnernetze. 6. Übung

Rechnernetze. 6. Übung Hochschule für Technik und Wirtschaft Studiengang Kommunikationsinformatik Prof. Dr. Ing. Damian Weber Rechnernetze 6. Übung Aufgabe 1 (TCP Client) Der ECHO Service eines Hosts wird für die Protokolle

Mehr

shri Raw Sockets Prof. Dr. Ch. Reich

shri Raw Sockets Prof. Dr. Ch. Reich shri Raw Sockets Prof. Dr. Ch. Reich Szenario: Verschicken einer gespooften Ping-Message IP-Source-Adresse ist Adresse des Opfers Nachrichtenformat: IP-Header (normal, außer IP-Source-Address ist einstellbar)

Mehr

Teil 1: Ein einfacher Chat

Teil 1: Ein einfacher Chat Teil 1: Ein einfacher Chat Verteilte Systeme / Chat Der Weg ist das Ziel Im Laufe dieses Projektes werden Sie schrittweise ein Chat-Programm entwickeln. Dabei werden Sie einiges über den Aufbau des Internets

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h> 182. stdio Eingabe int getchar (), getc (FILE * fp), fgetc (FILE * fp); char * gets (char * buf), * fgets (char * buf, int len, FILE * fp); int scanf (const char * fmt,...); int fscanf (FILE * fp, const

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 1 Telnet und FTP SS 2003 Inhaltsverzeichnis 2. Übungen mit Telnet und FTP...1 2.1. Testen der Verbindung mit ping...1 2.2. Arbeiten

Mehr

Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung

Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung [RN] Sommer 2012 Socket - Programmierung 1 Überblick Allgemeine Grundlagen für die Socket-Programmierung Elementare

Mehr

UDP-, MTU- und IP- Fragmentierung

UDP-, MTU- und IP- Fragmentierung UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

IP Adressen & Subnetzmasken

IP Adressen & Subnetzmasken IP Adressen & Subnetzmasken Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April

Mehr

Befehlsreferenz. Copyright Stefan Dahler 11. Oktober 2010 Version 3.0. Seite - 1 -

Befehlsreferenz. Copyright Stefan Dahler 11. Oktober 2010 Version 3.0. Seite - 1 - Befehlsreferenz Copyright Stefan Dahler 11. Oktober 2010 Version 3.0 Seite - 1 - 12. Befehlsreferenz ps Optionen Bedeutung -e Listet alle Prozesse -f Komplette Liste -j Gibt Prozessgruppen-ID aus -l Lange

Mehr

Organisatorisches. Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss06/netzsicherheit Aufgaben

Organisatorisches. Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss06/netzsicherheit Aufgaben Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss06/netzsicherheit Aufgaben Mittwochs im Netz Vorbesprechung Freitag/Montag in der Übung

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Grundkurs Routing im Internet mit Übungen

Grundkurs Routing im Internet mit Übungen Grundkurs Routing im Internet mit Übungen Falko Dressler, Ursula Hilgers {Dressler,Hilgers}@rrze.uni-erlangen.de Regionales Rechenzentrum der FAU 1 Tag 4 Router & Firewalls IP-Verbindungen Aufbau von IP

Mehr

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11 Vorwort.................................................... 5 Vorwort zur deutschen Übersetzung........................... 11 1 Einführung................................................ 23 1.1 Einführung................................................

Mehr

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15

Mehr

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

Mehr

Linux im Windows-Netzwerk Franzis Verlag, Poing 2 2001 ISBN 3-7723-6065-3 (DM 89,95) www.linuxbu.ch

Linux im Windows-Netzwerk Franzis Verlag, Poing 2 2001 ISBN 3-7723-6065-3 (DM 89,95) www.linuxbu.ch 7HLO, X www.samba.org 5HVVRXUFHQ X Eckstein, R.; Collier-Brown, D.: Samba. Ein Datei- und Druckserver für heterogene Netzwerke O'Reilly-Verlag, Köln 2000 ISBN 3-89721-16-0 (DM 74,-) X Burre, B.; Debacher

Mehr

Internet Routing am 14. 11. 2006 mit Lösungen

Internet Routing am 14. 11. 2006 mit Lösungen Wissenstandsprüfung zur Vorlesung Internet Routing am 14. 11. 2006 mit Lösungen Beachten Sie bitte folgende Hinweise! Dieser Test ist freiwillig und geht in keiner Weise in die Prüfungsnote ein!!! Dieser

Mehr

7 TCP/IP-Dienste konfigurieren

7 TCP/IP-Dienste konfigurieren 7 TCP/IP-Dienste konfigurieren In diesem Kapitel lernen Sie die Begriffe Ports,Sockets und Connections kennen (LPI 1: 109.1). den Zusammenhang der Ports von TCP/IP-Diensten mit der Datei /etc/services

Mehr

7 Transportprotokolle

7 Transportprotokolle 7 Transportprotokolle 7.1 Transmission Control Protocol (TCP) 7.2 User Datagram Protocol (UDP) 7.3 Ports 7.1 TCP (1) IP-Pakete (Datagramme) von A nach B transportieren reicht nicht interaktive Verbindungen

Mehr

Stefan Dahler. 1. Konfiguration der Stateful Inspection Firewall. 1.1 Einleitung

Stefan Dahler. 1. Konfiguration der Stateful Inspection Firewall. 1.1 Einleitung 1. Konfiguration der Stateful Inspection Firewall 1.1 Einleitung Im Folgenden wird die Konfiguration der Stateful Inspection Firewall beschrieben. Es werden Richtlinien erstellt, die nur den Internet Verkehr

Mehr

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm sven@elektro-klemm.de

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm sven@elektro-klemm.de Grundlagen TCP/IP C3D2 Chaostreff Dresden Sven Klemm sven@elektro-klemm.de Gliederung TCP/IP Schichtenmodell / Kapselung ARP Spoofing Relaying IP ICMP Redirection UDP TCP Schichtenmodell Protokolle der

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Connection Architecture Teil 3 CICS Transaction Gateway el0100 copyright W. G. Spruth,

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Aus Eins mach Viele. Der Einzelplatz Zugang für die ganze WG. Sprecher: Rene cavac Schickbauer

Aus Eins mach Viele. Der Einzelplatz Zugang für die ganze WG. Sprecher: Rene cavac Schickbauer Aus Eins mach Viele Der Einzelplatz Zugang für die ganze WG Sprecher: Rene cavac Schickbauer Die Ausgangslage Internet Modem 10.0.0.138 213.229.50.215 Computer1 10.0.0.140 Computer2 Computer1 Die Zielkonfiguration

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

select Einführung in Perl Dateien, Verzeichnisse und Prozesse II Autoflush - Bsp (1) Autoflush

select Einführung in Perl Dateien, Verzeichnisse und Prozesse II Autoflush - Bsp (1) Autoflush Einführung in Perl Dateien, Verzeichnisse und Prozesse II Dateihandle - select - ungepufferte Ausgabe - open, ergänzt - In-place Bearbeitung Dateien manipulieren - löschen - umbenennen Verzeichnisse manipulieren

Mehr

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Firewalling. Michael Mayer IAV0608 Seite 1 von 6

Firewalling. Michael Mayer IAV0608 Seite 1 von 6 Firewalling Ausgangssituation: Das Netzwerk besteht aus einem Gateway, mehreren Subservern und dessen Subnetzwerken. Aufgabe ist es eine Firewall auf dem Subserver zu installieren, welche das Netzwerk

Mehr

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842.

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mail_02.lib Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Inhalt Mail_02.lib 3 MAIL_SmtpClient...

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Kommunikation im Netzwerk

Kommunikation im Netzwerk Kommunikation im Netzwerk Die Client-Server Beziehung Der Client stellt eine Frage (Request) an den Server, dieser sendet eine Antworte (Response) zurück. Grundlage ist die Verfügbarkeit von Sockets, die

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Mac Firewall etc. Mark Heisterkamp heisterkamp@rrzn.uni-hannover.de. 10. August 2009. Mark Heisterkamp, Mac Firewall etc., 10. August 2009 Seite 1/25

Mac Firewall etc. Mark Heisterkamp heisterkamp@rrzn.uni-hannover.de. 10. August 2009. Mark Heisterkamp, Mac Firewall etc., 10. August 2009 Seite 1/25 Mac Firewall etc. Mark Heisterkamp heisterkamp@rrzn.uni-hannover.de 10. August 2009 Mark Heisterkamp, Mac Firewall etc., 10. August 2009 Seite 1/25 Leopard Seit Mac OS X 10.5 zwei Firewalls: Applikationsspezifisch

Mehr

Linux 08. Linux WS 04/05 by www.realtec.de - 1 - 1. DNS - named: in /etc/named.conf. DNS Top-Level-DNS

Linux 08. Linux WS 04/05 by www.realtec.de - 1 - 1. DNS - named: in /etc/named.conf. DNS Top-Level-DNS 1. DNS - named: in /etc/named.conf DNS Top-Level-DNS O o => keine Konfiguration: Anfragen werden an Top-Level-DNS gegeben und von dort verteilt (z.b. Europa(--> Belgien, Luxemburg, Deutschland,...), USA,...)

Mehr

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

Scanner, Sniffer und Scanlogger

Scanner, Sniffer und Scanlogger Scanner, Sniffer und Scanlogger Sniffer Sniffer Grundlagen Promiscuous Mode Ethernet Gefahren und Nutzen von Sniffer Praxis mit Buttsniff und Sniffit Sniffer Grundlagen Ein Sniffer ist ein Device, ob Software

Mehr

1. Netzwerkprogrammierung für mobile Geräte

1. Netzwerkprogrammierung für mobile Geräte 1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Klausur - Computernetzwerke

Klausur - Computernetzwerke Klausur - Computernetzwerke Márk Félegyházi Zeit: 1.5 Stunden, keine Hilfmaterialien Gesamtpuntke: 50 2011.04.12 Name der/den Studenten(innen): NEPTUN: ===================================================

Mehr

Wie benutzt der NetWorker Remote Procedure Calls (RPC)?

Wie benutzt der NetWorker Remote Procedure Calls (RPC)? NetWorker - Allgemein Tip 298, Seite 1/7 Wie benutzt der NetWorker Remote Procedure Calls (RPC)? Der NetWorker - wie jede andere Client/Server (Backup) Software - benutzt immer diese zwei grundlegenden

Mehr

KV Betriebssysteme: IP Minifassung

KV Betriebssysteme: IP Minifassung 1 SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) IP (Minifassung) (Nach Folien von Rudolf Hörmanseder) ICMP Internet Control Message Protocol 1 2 ICMP Basisaufgaben IP bietet ja nur

Mehr

KN 20.04.2015. Das Internet

KN 20.04.2015. Das Internet Das Internet Internet = Weltweiter Verbund von Rechnernetzen Das " Netz der Netze " Prinzipien des Internet: Jeder Rechner kann Information bereitstellen. Client / Server Architektur: Server bietet Dienste

Mehr

Switching. Übung 2 System Management. 2.1 Szenario

Switching. Übung 2 System Management. 2.1 Szenario Übung 2 System Management 2.1 Szenario In der folgenden Übung werden Sie Ihre Konfiguration sichern, löschen und wieder herstellen. Den Switch werden Sie auf die neueste Firmware updaten und die Funktion

Mehr

http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu

http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu gdb: debugging code In der Vorlesung hatte ich Teile von http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu und ein eigenes Beispiel diskutiert. Ein Debugger soll helfen Fehler im Programm, die sich

Mehr

Eine Einführung in die TclMySQL Bibliothek

Eine Einführung in die TclMySQL Bibliothek LinuxFocus article number 331 http://linuxfocus.org Eine Einführung in die TclMySQL Bibliothek by Diego Alberto Arias Prad About the author: Abstract: Ich bin Ingenieur für Telekommunikation

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Rechnernetze Übung 12

Rechnernetze Übung 12 Rechnernetze Übung 12 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Sie kennen sicherlich sogenannte Web-Mailer, also WWW-Oberflächen über die Sie Emails lesen und vielleicht

Mehr

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

Der LINUX-Rechner ans Netzwerk anschliessen Doc-Ver.:1.0

Der LINUX-Rechner ans Netzwerk anschliessen Doc-Ver.:1.0 Der LINUX-Rechner ans Netzwerk anschliessen Doc-Ver.:1.0 Technische Berufsschule Zürich IT Seite 1 Als root einloggen! Technische Berufsschule Zürich IT Seite 2 Dem TBZ-Netzwerk unbekannte PC's werden

Mehr

Client Server -Anwendungen mit UML und Java

Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW Client-Server mit UML und Java - 1/40 29.3.2004 Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW 29.3.04 Barbara Leipholz-Schumacher Euregio-Kolleg, Würselen 3. Informatiktag

Mehr

R e m o t e A c c e s s. Cyrus Massoumi

R e m o t e A c c e s s. Cyrus Massoumi R e m o t e A c c e s s Präsentation im Seminar Internet-Technologie im Sommersemester 2008 von Cyrus Massoumi I n h a l t Was versteht man unter Remote Access Unsichere Remotezugriffe TELNET Remote Shell

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

An Open Interface for Network Programming under Microsoft Windows. DI. Dr. Peter René Dietmüller

An Open Interface for Network Programming under Microsoft Windows. DI. Dr. Peter René Dietmüller Windows Sockets An Open Interface for Network Programming under Microsoft Windows DI. Dr. Peter René Dietmüller Institut für Informationsverarbeitung und Mikroprozessortechnik Johannes Kepler Universität

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

U8-3 Netzwerkkommunikation und Byteorder. U8-2 Evaluation. U8-4 Sockets. U8-1 Überblick. Wiederholung: Byteorder. 0 1 2 3 14 a2 b5 c8 0x14a2b5c8

U8-3 Netzwerkkommunikation und Byteorder. U8-2 Evaluation. U8-4 Sockets. U8-1 Überblick. Wiederholung: Byteorder. 0 1 2 3 14 a2 b5 c8 0x14a2b5c8 U8 8. Übung U8 8. Übung U8-3 Netzwerkkommunikation und Byteorder U8-3 Netzwerkkommunikation und Byteorder U8-1 Überblick Wiederholung: Byteorder Besprechung der Miniklausur Online-Evaluation big endian

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen:

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen: MySql und PHP Apache2: Konfigurieren für php4...\apache2\conf\httpd.conf aufrufen Folgende Zeilen einfügen: LoadModule php4_module "c:/php/php4apache2.dll" AddType application/x-httpd-php.php Wichtig!!

Mehr

Graphing - SNMP DATA - MRTG II

Graphing - SNMP DATA - MRTG II Graphing - SNMP DATA - MRTG II Netzwerkmanagement Software hat sich in den letzten Jahren vom hilfreichen Produkt zur integralen Grundlage für den professionellen IT Betrieb gewandelt. Grosse und leistungsfähige

Mehr

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Theorie Linux und Unix Unix bezeichnet eine Familie von Betriebssystemen: HP-UX, AIX, Solaris, Mac OS X, GNU/Linux. Linux ist eine freie und quelloffene

Mehr

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1 Telekommunikationsnetze 2 Breitband ISDN Lokale Netze Internet Martin Werner WS 2009/10 Martin Werner, November 09 1 Breitband-ISDN Ziele Flexibler Netzzugang Dynamische Bitratenzuteilung Effiziente Vermittlung

Mehr

Grundlagen der Informatik - 6. Praktikum

Grundlagen der Informatik - 6. Praktikum Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Arktur-Netz mit festen IPs

Arktur-Netz mit festen IPs Arktur-Netz mit festen IPs Standardmäßig ist Arktur so eingestellt, dass die Clients im Netz ihre Netzwerkadressen (IP-Adressen) automatisch über den DHCP-Dienst erhalten (DHCP = Dynamic Host Configuration

Mehr

IP routing und traceroute

IP routing und traceroute IP routing und traceroute Seminar Internet-Protokolle Dezember 2002 Falko Klaaßen fklaasse@techfak.uni-bielefeld.de 1 Übersicht zum Vortrag Was ist ein internet? Was sind Router? IP routing Subnet Routing

Mehr

Netzwerk Linux-Kurs der Unix-AG

Netzwerk Linux-Kurs der Unix-AG Netzwerk Linux-Kurs der Unix-AG Benjamin Eberle 5. Februar 2015 Netzwerke mehrere miteinander verbundene Geräte (z. B. Computer) bilden ein Netzwerk Verbindung üblicherweise über einen Switch (Ethernet)

Mehr

3 Netzdienste im Internet. vs3 1

3 Netzdienste im Internet. vs3 1 3 Netzdienste im Internet vs3 1 Netzdienste = über Ports ansprechbare Dienste, die hauptsächlich (aber nicht nur) für die Fernnutzung gedacht sind Anwendungssoftware Anwendungssoftware zusätzliche Dienste,

Mehr

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung 6. Zone Defense 6.1 Einleitung Im Folgenden wird die Konfiguration von Zone Defense gezeigt. Sie verwenden einen Rechner für die Administration, den anderen für Ihre Tests. In der Firewall können Sie entweder

Mehr

Vortrag über die Unix-Programme netstat, tethereal und nmap

Vortrag über die Unix-Programme netstat, tethereal und nmap Vortrag über die Unix-Programme netstat, tethereal und nmap Oliver Büttler Thorsten Curschmann Internet APM 3 - WS 04/05 Inhaltsverzeichnis 1 netstat 2 1.1 Einführung............................ 2 1.2

Mehr

Telekommunikationsnetze 2

Telekommunikationsnetze 2 Telekommunikationsnetze 2 Breitband-ISDN Lokale Netze Internet WS 2008/09 Martin Werner martin werner, January 09 1 Breitband-ISDN Ziele Flexibler Netzzugang Dynamische Bitratenzuteilung Effiziente Vermittlung

Mehr

UNIX-Rechnernetze in Theorie und Praxis

UNIX-Rechnernetze in Theorie und Praxis Mathias Hein, Thomas Weihrich UNIX-Rechnernetze in Theorie und Praxis An International Thomson Publishing Company Bonn Albany Belmont Boston Cincinnati Detroit Johannesburg London Madrid Melbourne Mexico

Mehr

3 Nameserver Registrieren, Abfragen und Ändern eines Nameserver(Host)-Handles

3 Nameserver Registrieren, Abfragen und Ändern eines Nameserver(Host)-Handles 1. Allgemeines Über die SGAP-Schnittstelle lassen sich folgende Anträge stellen: 1 Person(Contact)-Handle Registrieren, Abfragen und Ändern eines Contact-Handles. 2 Domain-Name Registrieren, Abfragen,

Mehr

GmbH, Stettiner Str. 38, D-33106 Paderborn

GmbH, Stettiner Str. 38, D-33106 Paderborn Serial Device Server Der Serial Device Server konvertiert die physikalische Schnittstelle Ethernet 10BaseT zu RS232C und das Protokoll TCP/IP zu dem seriellen V24-Protokoll. Damit können auf einfachste

Mehr

check_multi Matthias Flacke Nagios Workshop 26. Juni 2007

check_multi Matthias Flacke Nagios Workshop 26. Juni 2007 check_multi Matthias Flacke Nagios Workshop 26. Juni 2007 Was ist check_multi? check_multi ist ein Wrapper-Plugin (Parent), das andere Plugins (Childs) aufruft. In einer Headerzeile wird eine Zusammenfassung

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets.

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 19 2 / 19 Über einen Socket kann eine Anwendung die Implementierung des Netzwerkprotokolls des darunter liegenden Betriebssystems

Mehr

Networking - Überblick

Networking - Überblick Networking - Überblick Netzwerkgrundlagen René Pfeiffer Systemadministrator GNU/Linux Manages! lynx@luchs.at rene.pfeiffer@paradigma.net Was uns erwartet... Hardware (Ethernet, Wireless LAN) Internetprotokolle

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Remote Tools. SFTP Port X11. Proxy SSH SCP. christina.zeeh@studi.informatik.uni-stuttgart.de

Remote Tools. SFTP Port X11. Proxy SSH SCP. christina.zeeh@studi.informatik.uni-stuttgart.de Remote Tools SSH SCP Proxy SFTP Port X11 christina.zeeh@studi.informatik.uni-stuttgart.de Grundlagen SSH Inhalt Remote-Login auf marvin Datentransfer Graphische Anwendungen Tunnel VPN SSH für Fortgeschrittene

Mehr

Netzwerk Teil 2 Linux-Kurs der Unix-AG

Netzwerk Teil 2 Linux-Kurs der Unix-AG Netzwerk Teil 2 Linux-Kurs der Unix-AG Zinching Dang 17. Juni 2015 Unterschied Host Router Standardverhalten eines Linux-Rechners: Host nur IP-Pakete mit Zieladressen, die dem Rechner zugeordnet sind,

Mehr

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Netzwerk Basics: 18. August 2004. Jeder Rechner hat eine eindeutige Adresse, wie eine Telefonnummer:

Netzwerk Basics: 18. August 2004. Jeder Rechner hat eine eindeutige Adresse, wie eine Telefonnummer: Netzwerk Basics: 18. August 2004 Was ist ein Computernetzwerk? Eine Verbindung zwischen zwei oder mehreren Computern Netzwerkkommuniktion nach TCP/IP Jeder Rechner hat eine eindeutige Adresse, wie eine

Mehr