Protokolle D. Jonietz, Prof. Dr. P. Müller Technische Universität Kaiserslautern, AG Integrated Communication Systems Staatl. Studienseminar für das Lehramt an Gymnasien Kaiserslautern Burggymnasium Kaiserslautern E-Mail: jonietz@rhrk.uni-kl.de Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 1
Protokolle oder: Wie man E-Mail fälscht Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 2
Protokolle!? Ein forschender Zugang zur Entwicklung von Erklärungsmodellen für Kommunikation in Rechnernetzen Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 3
PAP Hilfe welches denn? POP3 LLC SMTP IPv6 Ethernet STP HTTP NTP RIP ICMP WAP IPX TCP PPP SNMP IP PPTP UDP IEEE 802.3 ISDN SCP Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 4
Argumente für POP3 & SMTP SMTP und POP sind recht alt (um 1982) nicht effizient geschwätzig de-facto-standards sehr verbreitet in RFCs definiert, die Definitionen sind zugänglich (www.rfcs.org) und gut lesbar Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 5
Gespräch mit sendmail Connected to smtp.uni-kl.de. Escape character is '^]'. 220 mailgate1.uni-kl.de ESMTP Sendmail 8.13.4/8.13.4/Debian-3sarge3; Sun, 17 Sep 2006 13:39:21 +0200; (No UCE/UBE) logging access from: adacta.studsem.uni-kl.de(ok)-adacta.studsem.uni-kl.de [131.246.209.41] helo adacta.studsem.uni-kl.de 250 mailgate1.uni-kl.de Hello adacta.studsem.unikl.de [131.246.209.41], pleased to meet you Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 6
(Darstellung stark vereinfacht) SMTP senden POP abholen Bitübertragungsschicht Benutzerschicht Anwendungsschicht Internet Transportschicht Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 7
Definition Ein Protokoll ist eine Spezifikation der Vorschriften und Regeln zum Informationsaustausch zwischen zwei Partnern eines Kommunikationssystems. Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 8
Formate und Vokabular ASCII, Unicode, EBCDIC,, Schreibweisen Keywords and arguments consist of printable ASCII characters. Keywords and arguments are each separated by a single SPACE character. Keywords are three or four characters long. Each argument may be up to 40 characters long. Commands in the POP3 consist of a case-insensitive keyword, possibly followed by one or more arguments. Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 9
Verhalten i.d.r. zustandsorientiert: erweiterte Endlichen Automaten spezielle Beschreibungssprachen (z.b. SDL) Server muss Server kann Server darf, wenn auch nicht gerne gesehen Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 10
Wir spielen E-Mail-Client Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 11
Spielregeln: Wir holen E-Mail POP-Server versteht u.a. folgende Befehle: USER, PASS, LIST, STAT, RETR, DELE, NOOP, RSET, QUIT antwortet genau mit +OK oder -ERR führt den Befehl wenn möglich aus manche der Befehle benötigen Argumente POP-Client muss die Reihenfolge der Befehle einhalten auf das entsprechende Format achten wissen wie die Daten zu interpretieren sind Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 12
Beispiel-Sitzung +OK ready <724.1048085272@europa.local> USER jonietz +OK Password required for jonietz. PASS geheim +OK jonietz has 1 visible message (0 hidden) in 567 octets. RETR 1 +OK 567 octets Return-Path: <root@europa> Received: from europa.burg.bildung-rp.de ([192.168.0.76]) by europa.local... Date: Wed, 19 Mar 2003 15:46:27 +0100 From: root <root@europa> Message-Id: <200303191446.h2JEjwr00711@europa.local> To: undisclosed-recipients:; X-UIDL: HV#"!jd]!!`_'"!kOM"! Hallo, wie gehts?. DELE 1 +OK Message 1 has been deleted.. QUIT +OK Pop server at europa.local signing off. Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 13
POP als Zustandsgraph? * AUTH1 Hier fehlen durch Timeouts hervorgerufene Übergänge. Konzept in Erweiterten Automaten * USER... QUIT AUTH2 QUIT STOP * PASS... QUIT TRANS LIST RETR n Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 14
POP in SDL AUTH2 AUTH1 PASS... QUIT * USER... QUIT * prüfen... +OK -ERR +OK +OK -ERR OK? nein AUTH2 AUTH2 AUTH1 +OK -ERR Hier wären Timeouts jetzt prinzipiell möglich, SDL bietet entsprechende Möglichkeiten TRANS Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 15
POP in SDL (2) TRANS RETR n QUIT * LIST NOOP STAT Mail n holen und ausgeben +OK Liste ermitteln und ausgeben Statistik ausgeben OK? nein +OK -ERR -ERR +OK +OK +OK TRANS TRANS TRANS TRANS TRANS TRANS Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 16
Spielregeln: Wir senden E-Mail SMTP-Server versteht HELO, MAIL, RCPT, DATA, QUIT Das Ende einer E-Mail wird dann als erreicht angesehen, wenn in einer Zeile allein ein einzelner Punkt steht <CRLF>. <CRLF> SMTP-Client muss von der Sonderbedeutung von <CRLF>. <CRLF> wissen und entsprechend damit umgehen! Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 17
SMTP in SDL Start HELO... QUIT NOOP * prüfen... OK ERR OK? nein Start Start OK ERR Hallo gesagt Start Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 18
SMTP in SDL (2) Hallo gesagt MAIL... QUIT NOOP * prüfen... OK ERR OK? nein Hallo gesagt Hallo gesagt OK ERR Absender bekannt Hallo gesagt Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 19
SMTP in SDL (3) Absender bekannt RCPT... QUIT NOOP * prüfen... OK ERR OK? nein Absender bekannt Absender bekannt OK ERR Adressat bekannt Absender bekannt Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 20
SMTP in SDL (4) Adressat bekannt RCPT... QUIT NOOP DATA * prüfen... OK OK ERR OK? nein Absender bekannt Empfange Daten Absender bekannt OK ERR Adressat bekannt Adressat bekannt Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 21
SMTP in SDL (5) Empfange Daten. * Text absenden OK? nein Merke Text Empfange Daten OK ERR Hallo gesagt? Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 22
Beispielsitzung 220 europa.local ESMTP Sendmail 8.10.2/8.10.2/SuSE Linux 8.10.0-0.3; Wed, 19 Mar 2003 15:45:34 +0100 HELO europa.burg.bildung-rp.de 250 europa.local Hello [192.168.0.76], pleased to meet you MAIL FROM:<root@europa> 250 2.1.0 <root@europa>... Sender ok RCPT TO:<jonietz@europa> 250 2.1.5 <jonietz@europa>... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Hallo, wie gehts?. 250 2.0.0 h2jejwr00711 Message accepted for delivery QUIT 221 2.0.0 europa.local closing connection Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 23
Vorgehensweise Erforschen Protokolle, indem wir an die Stelle eines E-Mail-Clients treten 1. POP: Schüler erhalten Vokabeln erforschen Bedeutung, einzuhaltende Regeln und das Verhalten des Servers 2. Versuch, das alles aufzuschreiben SDL 3. SMTP: Schüler erhalten Verhaltensbeschreibung in SDL Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 24
Neugierig geworden? K. Merkert, D. Jonietz: Modellnetz Mini-Netz u.a. über die serielle Schnittstelle http://www.hsg.region-kl.de/faecher/inf/netze/index.php J. Jessl: Optische Telegrafie. Unterrichtsreihe zur Entwicklung von Erklärungsmodellen für moderne Kommunikationssysteme im Wahlfach Informatik. (Hausarbeit am Studienseminar Kaiserslautern) Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 25
Details zu diesem Ansatz Artikelreihe in LOG IN Informatische Bildung und Computer in der Schule Nr. 133 bis 137 Printversion unter www.jonietz.de http://www.jonietz.de/personen/daniel/ publikationen/protokolle_infos2003.pdf Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 26
Fragen? Daniel Jonietz, AG ICSY, Technische Universität Kaiserslautern 27