200 likes | 334 Views
Protokol POP3 Post Office Protocol version 3. Vypracoval: Josef Ježek Dne: 10. dubna 2006 Pro předmět: KIV/PSI. Úvod. POP3 (Post Office Protocol version 3) je internetový protokol, který se používá pro stahování emailových zpráv ze vzdáleného serveru na klienta.
E N D
Protokol POP3Post Office Protocol version 3 Vypracoval: Josef Ježek Dne: 10. dubna 2006 Pro předmět: KIV/PSI
Úvod • POP3 (Post Office Protocol version 3) je internetový protokol, který se používá pro stahování emailových zpráv ze vzdáleného serveru na klienta. • je následníkem protokolů POP1 a POP2 (označení POP už dnes téměř výhradně znamená POP3). • jedná se o aplikační protokol pracující přes TCP/IP připojení. • POP3 protokol byl standardizován v roce 1996 v RFC1939.
Zabezpečení • Jako mnoho jiných starších internetových protokolů, POP3 původně podporoval jenom nešifrované přihlašovací mechanismy. • Ačkoli v POP3 je běžný jednoduchý (nezabezpečený) přenos hesel, podporuje současně několik metod ověřování k provedení proměnlivých úrovní ochrany před nezákonnými vstupy do cizího e-mailu. • Jedna taková metoda, APOP (kterou základní specifikace definuje jako „volitelný příkaz“), užívá MD5 hash funkci pro zabezpečený přenos hesla od klienta na server. • Klienti podporující APOP jsou například Mozilla, Thunderbird, Eudora a Novell Evolution. • Klienti mohou také kódovat celou POP3 komunikaci užitím SSL.
Komunikace • Protokol má pro své účely vyhrazen TCP port 110. • Komunikace probíhá na principu výměny zpráv mezi klientem a serverem. • Příkaz vždy začíná na začátku řádky, v základní implementaci POP3 mají příkazy 3 nebo 4 znaky. • Příkazy nerozlišují velká a malá písmena. • Za příkazem můžou následovat další argumenty, oddělené mezerami. • Řádky jsou oddělovány pomocí CRLF. • Každá odpověď od serveru musí začínat indikací stavu operace - buď +OK, nebo -ERR. • Následovat může textový řetězec s popsaným důvodem stavu.
Představa protokolů elektronické pošty • User Agent (UA) - uživatelský aplikační program, který zajišťuje komunikaci s uživatelem. • Message Transfer Agent (MTA) - aplikační program serveru, tzv. poštovní úřad.
Fáze protokolu POP3 • Po zahájení TCP spojení se server nachází ve stavu autentizace. • V tomto stavu server očekává příkazy USER a PASS, pomocí kterých mu uživatel sdělí svoje přihlašovací údaje (cleartext). • Ve stavu transakční fáze přijímá příkazy STAT, RETR, DELETE, LIST a další. Nakonec se příkazem QUIT přejde do stavu UPDATE, kde se uživatelem naznačené změny (mazání zpráv) provedou.
Příkazy protokolu POP3 • USER name poslání přihlašovacího jména uživatele • PASS string poslání přihlašovacího hesla uživatele • QUIT příkaz pro uzavření komunikačního kanálu • STAT příkaz pro zjištění aktuálního stavu komunikace Příklad: C: STAT S: +OK 2 320 První číslo nás informuje o počtu zpráv, které se nacházejí v poštovní schránce. V pořadí druhá hodnota představuje součet velikostí zpráv, které se v daném čase nacházejí v poštovní schránce (tato hodnota se udává v oktetech).
Příkazy protokolu POP3 • LIST [msg] umožňuje zjistit počet zpráv uložených na serveru (v poštovní schránce) a velikost zpráv v oktetech. Argument příkazu je volitelný a obsahuje číslo zprávy. Příklad: C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 ... C: LIST 2 S: +OK 2 200 ... C: LIST 3 S: -ERR no such message, only 2 messages in maildrop
Příkazy protokolu POP3 • RETR msg Příkazem se přenese požadovaná zpráva ze serveru ke klientovi. Argument příkazu musí obsahovat číslo zprávy. Příklad: C: RETR 1 S: +OK 120 octets • DELE msg Příkaz vymaže zadanou zprávu ze serveru. Argument příkazu musí obsahovat číslo zprávy. Příklad: C: DELE 1 S: +OK messages 1 deleted ... C: DELE 2 S: -ERR message 2 already deleted
Příkazy protokolu POP3 • NOOP Tento příkaz nemá žádnou funkci, žádné argumenty a používá se na otestování spojení. Server POP3 posílá odpověď +OK. Příklad: C: NOOP S: +OK • RSET Příkaz umožňuje předčasně ukončit aktuální poštovní transakci. Server POP3 posílá odpověď +OK. Příklad: C: RSET S: +OK maildrop has 2 messages (320 octets)
Příkazy protokolu POP3 • APOP name digest Volitelný příkaz, který se používá v průběhu autorizace uživatele na server. Argumentem příkazu je řetězec identifikující poštovní schránku a MD5 řetězec, který je definovaný v dokumentaci RFC 1321 [20] (oba dva argumenty jsou povinné). Příklad: S: +OK POP3 sever ready <1896.697170952@dbc.mtview.ca.us> C: APOP peterg c4c9334bac560ecc979e58001b3e22fb S: +OK maildrop has 1 message (369 octets)
Příkazy protokolu POP3 • TOP msg n Argument "msg" označuje číslo zprávy a argument "n" označuje počet řádků těla zprávy. Například po zadání příkazu TOP 1 10 server POP3 pošle záhlaví zprávy, prázdny řádek a prvních 10 řádků těla zprávy. Příklad: C: TOP 1 10 S: +OK ... C: TOP 100 3 S: -ERR no such message
Příkazy protokolu POP3 • UIDL [msg] Příkaz s volitelným argumentem, který určuje číslo zprávy, vrací jedinečný identifikátor zprávy „unique-id listing“ v „maildrop“. Platnost identifikátoru je během spojení a maximální délka je 70 znaků. Příklad: C: UIDL S: +OK S: 1 whqtswo00WBw418f9t5JxYwZ S: 2 QhdPYR:00WBw1Ph7x7 ... C: UIDL 2 S: +OK 2 QhdPYR:00WBw1Ph7x7 ... C: UIDL 3 S: -ERR no such message, only 2 messages in maildrop
Příklad komunikace mezi klientem a serverem • S: <wait for connection on TCP port 110> • C: <open connection> • S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> • C: APOP mrose c4c9334bac560ecc979e58001b3e22fb • The client may instead use USER and PASS --> • C: USER mrose • S +OK User accepted • C: PASS mrosepass • S +OK Pass accepted • S: +OK mrose's maildrop has 2 messages (320 octets) • C: STAT • S: +OK 2 320 • C: LIST • S: +OK 2 messages (320 octets) • S: 1 120 • S: 2 200 • S: .
Příklad komunikace mezi klientem a serverem • C: RETR 1 • S: +OK 120 octets • S: <the POP3 server sends message 1> • S: . • C: DELE 1 • S: +OK message 1 deleted • C: RETR 2 • S: +OK 200 octets • S: <the POP3 server sends message 2> • S: . • C: DELE 2 • S: +OK message 2 deleted • C: QUIT • S: +OK dewey POP3 server signing off (maildrop empty) • C: <close connection> • S: <wait for next connection>
POP3 RFCs • RFC 1939 - "Post Office Protocol - Version 3„ • RFC 2449 - "POP3 Extension Mechanism„ • RFC 1734 - "POP3 AUTHentication command„ • RFC 2222 - "Simple Authentication and Security Layer (SASL)„ • RFC 3206 - "The SYS and AUTH POP Response Codes"
Použité zdroje • http://cs.wikipedia.org/wiki/POP3 • http://www.linuxzone.cz/index.phtml?ids=4&idc=1301 • http://www.earchiv.cz/a94/a421c110.php3?roura=1