360 likes | 582 Views
Elektronická pošta. Jiří Marchalín Praktikum z informatiky 2003/2004 MFF-UK. Stru čný obsah . Historie Protokoly Komunikace mezi s ítěmi s různými formáty (UUCP,Fidonet,Bitnet…) Spam a jak se mu bránit. 1962 CTSS MIT ( Compatible Time Sharing System)
E N D
Elektronická pošta Jiří Marchalín Praktikum z informatiky 2003/2004 MFF-UK
Stručný obsah • Historie • Protokoly • Komunikace mezi sítěmi s různými formáty (UUCP,Fidonet,Bitnet…) • Spam a jak se mu bránit
1962 CTSS MIT (Compatible Time Sharing System) 1965 SDC - Q32 (inter-user), BBN – Mercury 1965 Multics(Multiplexed Information and Computing Service) 1969 ARPANET poprvé použit “@” ~ Internet 1980 SMTP protokol Historie elektronické poštypravěk před internetem
Historie elektronické poštyINTERNET • 1969 RFC 1, Steve Crocker • Requests for Comments, soubor standardů • DNS & MX record (Mail Exchange) • SMTP, POP, IMAP, UUCP, NNTP
SMTP aneb co bude následovat • Popis SMTP protokolu • Odesílání e-mailu • Struktura SMTP spojení • Chybová hlášení SMTP
Popis SMTP protokolu • Simple Mail Transfer Protocol • RFC 821 • RFC 2821 • Transportní protokol • Obvykle používá port 25
Fáze odesílaní I. (SMTP) klient ~ server II. (SMTP)server ~ server
I. (SMTP)klient ~ server Odesílatel odesilatel@seznam.cz • Navázání komunikace se serverem • SMTP server odesílatele akceptuje zprávu pro její další doručení • Mail Transfer Agent • Mail User Agent MUA SMTP server smtp.seznam.cz MTA
II. (SMTP)server ~ server • Komunikace mezi servery • SMTP server odesílatele naváže spojení se SMTP serverem příjemce • DNS server lookup(MX,MB record) • Relaying, DNS Spoofing
Schéma doručeníDNS lookup smtp.seznam.cz mx3.hotmail.com odesilatel@seznam.cz DNS server
Schéma doručeníRelaying Relay server mx3.hotmail.com Local IP Local IP Local IP DNS server
Struktura SMTP • Příklad SMTP spojení • Příkazy SMTP • Návratové hodnoty SMTP • Jak poslat e-mail přes telnet pomocí SMTP protokolu
Příkazy SMTP • HELO/EHLO – přivítání se se serverem • MAIL FROM - odesílatel • RCPT TO - příjemce • DATA – text zprávy • RSET – reset spojení • EXPN – (Expand Mailing list) • NOOP – udržuje spojení, nemá efekt • ETRN – pro DNS lookup bude použit první záznam • VRFY – server ověří adresu příjemce • QUIT – ukončení spojení • Každý příkaz musí mít argmunety (vyjma RSET A QUIT)
Návratové hodnoty SMTP • Informuje o stavu SMTP spojení a stavu stroje • Každý příkaz generuje právě jednu odpověď (RFC) • Sestává z tří číslic a textu • Každé číslo v odpovědi má svůj vlastní význam • První číslice udává typ chyby • Druhá a třetí udává přímo, o kterou chybu se jedná
Význam čísel • Význam první číslice • 1 – Positive preliminary reply • 2 – Positive completion reply • 3 – Positive intermediate reply • 4 – Transient negative completion reply • 5 – Permanent negative completion reply • Význam druhé číslice • 0 – Sytax • 1 –Information • 2 – Connections • 5 – Mail system
Příklad chyb • 502 • Command not implemented • 500 • Syntax error, command unrecognized • 501 • Syntax error in parameters or arguments • 552 • Requested mail action aborted: exceeded storage allocation
Rozšířený návratový kód • Informuje o stavu Mail serveru • Následuje po trojčíslí stavu • Podpora není nutná • RFC 2034 • třída "." předmět "." detail
E-mail ~ Telnet • Spojení s vybraným serverem • Přihlášení • Správná sekvence příkazů
E-mail ~ Telnet HELO jirka // přivítání se se serverem 250 mujserver.cz HELLO jirka [127.0.0.1] Please to meet you MAIL FROM: pokusny@mail.com // odesilatel 250 2.1.0 <pokusny@mail.com>... Sender ok RCPT TO: uzivatel@naserveru.cz // příjemce 250 2.1.5 <uzivatel@naserveru.cz>... Recipient ok DATA // tělo zprávy 354 Enter mail, end with “.” on a line by itself. Text . 250 2.6.0 9 bytes received in 00:00:03; Message accepted for delivery
Tvar zprávy • V RCPT TO: může být smyšlená adresa • Rozdíl mezi Sender From a Header • Hlavička – není nutná, zprávy bez hlavičky většinou mazány jako spam
Hlavička zprávy • Oddělena od textu e-mailu prázdným řádkem – není nutné, standard RFC From: moje@adresa.cz To: prijemcova@adresa.cz Cc: nekdo@jiny.cz BCc: tajny@prijemce.cz Subject: zkouska CR/LF
Protokol POP3 • Post Office Protocol • TCP/IP port 110 • Poslední část přenosu e-mailu • Slouží ke komunikaci příjemce s cílovým serverem • RFC 1225, poslední verze 1460 • Pošta je nahrána k uživateli (podstatný rozdíl oproti IMAP)
POP3 – schéma spojení smtp.seznam.cz mx3.hotmail.com POP3 odesilatel@seznam.cz prijemce@hotmail.com DNS server
Příkazy POP3 • USER – login, musí následovat příkaz PASS • PASS – zadání hesla • STAT – vrací velikost MAILBOX a počet zpráv • LIST – vrací seznam čísel zpráv • LAST – vrací číslo poslední zprávy • RETR – vrací text specifikované zprávy (mar) • TOP – počet řádek specifikované zprávy • DELE – smaže specifikovanou zprávu • RSET – označí všechny zprávy jako nepřečtené • NOOP – udržuje spojení, nemá efekt • APOP – autentifikace s MD5 • QUIT – ukončí spojení
Příklad spojení POP3 +OK QPOP (version 2.53) at pop3.server.com starting. USERuzivatel +OK Password required for uzivatel. PASSheslo +OK uzivatel has 2 messages (773 octets). STAT +OK 2 773 LIST +OK 2 messages (773 octets) 1 391 2 382 QUIT +OK Pop server at pop3.server.com signing off.
IMAP 4 • Internet Mail Acces Protocol • 1986, RFC 2060, Stanford University • Veškeré operace jsou prováděny výhradně na serveru. • Nemá charakter transportního protokolu • Nezáleží na formátu uložené zprávy
Příkazy IMAP 4 • AUTHENTICATE – zabezpečené spojení • LOGIN – login pouze přes plaintext • LIST – obsah účtu • SELECT – výběr MAILBOXu • EXAMINE – statistika účtu • CREATE – vytvoření MAILBOX/adresář • DELETE – smazání zprávy/adresáře/MB • RENAME – přejmenování adresáře/MB
Spojení přes IMAP4 * OK Merak 7.2.0 IMAP4rev1 Sun, 22 Feb 2004 <<< 001N CAPABILITY <<< 001O LOGIN "pokus" ******* >>> 001O OK LOGIN Completed <<< 001P SELECT "INBOX" >>> 001Q OK UID FETCH Completed <<< ZZZZ LOGOUT >>> * BYE IMAP4rev1 Server terminating connection
UUCP • Unix to Unix Copy Protocol • Staré RS 232 (seriové linky) • RFC 976, 1970 • Spojení mezi dvěma UUCP moduly • 3 fáze • Inicializační handshake • Přenos souboru • Finální handshake
Implementace UUCP • BNU (Basic Networking Utilities) • HDB (HoneyDanBer) • Honeymana, D. A. Novitze a B. E. Redmana • Taylor, nejnovější, Linux • Výhodné pro Unixové systémy • (různá práva k doručování)
Komunikace s UUCP • Začíná ^P, \020 a končí \000 nebo \012 • \020Shere=hostname\000 • Forma úkolů, priority • 020\0000000\012 • 020\00000000\012
NNTP • Net News Transfer Protocol • RFC 977 • Port 119 • Princip zcela shodný se SMTP
Komunikace mezi různými sítěmi • E-mail do sítě používající jiný protokol • Přenos e-mailu přes tyto sítě • Poštovní brány (Princip Gateway) • (konverze mezi aplikačními protokoly)
Poštovní brána Gateway MS MAIL X 25 Internet X 400 MS MAIL SMTP Gateway
SPAM • 1978 První článek o Spamu (Brad Templeton) • DEC první spam o DEC-20 (Arpanet) • Spam filtry, Analýza obsahu (Content filter) • Black & White listy, Challenge Response, Bayesianské filtry