Zadanie 3 poczta.pdf

(153 KB) Pobierz
Zadanie 3
file:///C:/Documents%20and%20Settings/AMH/Pulpit/uslugaPoczty.html
Ostatnioaktualizowano15kwietnia2006r.
Usługapoczty
Teoria:
*POPPostOfficeProtocol(potoczniezwanyprotokołempocztowym)makilkapodstawowych
zastosowań, najwaŜniejszym jest zarządzanie komunikacją między klientem ( stacją roboczą z
odpowiednimoprogramowaniem)aserwerem(pocztowymprzechowującymwiadomości).POP
pozwala na dynamiczny dostęp do przechowywanej na serwerze poczty, operacje na
przechowywanej na serwerze poczcie, standardowo poczta jest zaraz po pobraniu jej przez
uŜytkownika usuwana, moŜna jednak wymusic przechowanie jej na serwerze ( jest to przykład
dostępnych operacji inną moŜe być moŜliwość usuwania poczty z z serwera bez pobierania jej
przezklienta).
Podstawoweoperacjekomunikacjaklientserwer
Na samym początku naleŜy sobie powiedzieć, Ŝe uŜywając stwierdzenia "klient" mamy na myśli
hostakorzystającegozusługiPOP,a"serwer"jakohostaudostępniającegousługePOP.Wersji
protokołu było kilka w latach 80tych uŜywany był protokół POP2, obecnie stosuje się protokół
POP3,któryjestbierzącymstandardem(opisanywRFC1939,orazzarysiestandarduSTD53)
Serwer udostępnia standardowo usługę POP3 nasłuchując na porcie TCP 110, jeŜeli klient ma
zamiarskorzystaćzusługiłączysięzserweremnawspomnianymporcie.Gdypołączeniezostanie
ustanowione serwer wysyła komunikat powitalny, później następuje wymiana serii komend i
odpowiedzinanie,aŜdozamknięcialubzerwaniapołączenia.
Komendy w POP3 zawierają "niewraŜliwe" na wielkość słowa kluczowe, za którymi podawanych
jestod1dokilkuparamnetrów.WszystkiekomendyzakończonesąznakamiCRLF(CarrigeReturn
LineFeed).Słowakluczoweorazparametrypodawane dokomend"zawierają"drukowalnezanki
ASCII,oddzielonesąodsiebie(zarównosłowakluczowejakiparametry)pojedyńczymznakiem
spacji. Słowa kluczowe mają dlugość do 4 znaków, a kaŜdy z argumentów moŜe mieć do 40
znakówdługości.
Odpowiedzi w POP3 zawierają znacznik statusu i słowa kluczowe po których występują często
dodatkowe informacje. Wszystkie odpowiedzi zakończone są znakami CRLF. Odpowiedzi mogą
mieć długość do 512 znaków wliczając w to znaki CRLF, obecnie stosowane są wyłącznie dwa
znaczniki statusu pozystywny: "+OK" oraz negatywny: "ERR". Serwer musi wysłać te znaczniki
duŜymiliterami.
Odpowiedzi na poszczególne komendy mogą być i często są wieloliniowe. W takim przypadku
kaŜda linia z wieloliniowej odpowiedzi zakańczana jest znakami CRLF. Gdy wszystkie linie
odpowiedzizostanąwysłane,wysyłanajestkońcowaliniaskładającasięzznaków"."orazznaku
CRLF.
Sesja POP3 składa się z kilku stanów w trakcie swego czasu "Ŝycia". Raz gdy połączenie TCP,
zostanie nawiązane a serwer POP3 wyśle powitanie, sesja wchodzi w stan uwierzytelniania (
autoryzacji AUTHORIZATION state ). Podczas tego stanu klient musi zidentyfikować się. Gdy
klientowizpowodzeniemudasięprzejśćautoryzacjęserwerprzydzielaodpowiedniezasobyznim
związaneisesjaprzechodziwstanTranzakcji(TRANSACTIONstate),wtymstanieklientwydaje
komendy dotyczące zarządania jego przestrzenią na serwerze. Wraz z wydaniem przez klienta
komendy QUIT sesja przechodzi w stan Aktualizacji ( Update ), w tym stanie serwer zwalnia
wszystkiezasobyzajęcteprzedrozpoczęciemstanuTranzakcjipoczym"Ŝegnasię".Zarazpotym
zamykanejestpołączenieTCP.
Serwer musi na nie rozpoznaną lub nie zaimplementowaną komendę negatywnym znacznikiem
1 z 20
07-05-07 02:24
849798577.004.png 849798577.005.png
 
Zadanie 3
file:///C:/Documents%20and%20Settings/AMH/Pulpit/uslugaPoczty.html
statusu,podobniejestwprzypadkukomendywysłanejwtrakcieniewłaściwegostanusesji.
StanAutoryzacjigdynastapiłopoprawnepołączenieTCP,serwerwysyłajednoliniowepozytywne
powitanie,przykłademmoŜebyć:
S: +OK POP3 server ready
Sesja POP3 znajduje się wtedy w stanie Autoryzacji. Klient musi wtedy zidentyfikowac się i
potwierdzić swoją "toŜsamość" serwerowi POP3. Sposobami na uwierzytelnianie sa kombinacje
komend USER i PASS lub komenda APOP, niezaleŜnie od tego Ŝe istnieje kilka sposobów
autoryzacji, serwer POP3 musi implementować przynajmniej jedną. Gdy klient poprawnie się
zidentyfikuje serwer rezerwuje zasoby związane z poczta klienta i sesja przchodzi w stan
Tranzakcji.
StanTranzakcjiwtrakcietegostanuklientmoŜewydawaćwielokrotnienastępującekomendy,
lub wydać komendę QUIT powodująca przejście sesji w stan Aktualizacji. PoniŜej lista komend
dostępnychwstanieTranzakcji:
*STATbrakparametrówwywołaniapowysłaniutejkomendyserwerPOP3zwracaodpowiedź,
zawierającą liczbę wiadomości oraz rozmiar zasobu wiadmości wyraŜoną w oktetach. Format
odpowiedzimoŜewyglądaćnastepująco:
+OKnnmm
PoniŜejprzykład:
K: STAT
S: +OK 2 320
* LIST [msg] w komendzie występuje opcjonalny parametr określający numer wiadmości, nie
moŜesięodnosicdowiadmościoznaczonejjakousuniętej.JeŜelipodanyzostałparametr,serwer
POP3 zwraca tzw.: "scan listing" dotyczący wiadmości linia zawierająca wiadmości dotyczące
wybranejwiadmości.JeŜelikomendazostała wydanabezparametru,serwerzwracainformacje
dlakaŜdejwiadmościzawartejwzasobach.FormatodpowiedzimoŜewyglądaćnastępująco:
+OKscanlistingfollows
ERRnosuchmessage
K: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
...
K: LIST 2
S: +OK 2 200
...
K: LIST 3
S: -ERR no such message, only 2 messages in maildrop
* RETR msg parametrem komendy jest ( wymagany ) numer wiadmości, numer ten nie moŜe
dotyczyćwidomościoznaczonejjakousuniętej.JeŜeliserwerzwrócipozytywnąodpowiedź,jest
toodpowiedźwieloliniowa.SerwerwysyłaklientowiŜądanąwiadmość.Wprzypadkuodpowiedzi
negatywnejserwerwysyłaodpowiedźobrakuwiadmościoŜądanymnumerze.Formatodpowiedzi
moŜewyglądaćnastępująco:
+OKmessagefollows
ERRnosuchmessage
K: RETR 1
S: +OK 120 octets
2 z 20
07-05-07 02:24
849798577.006.png
 
Zadanie 3
file:///C:/Documents%20and%20Settings/AMH/Pulpit/uslugaPoczty.html
S: <the POP3 server sends the entire message here>
S: .
* DELE msg parametrem komendy jest ( wymagany ) numer wiadmości, numer ten nie moŜe
dotyczyćwidomościoznaczonejjakousuniętej.SerwerPOP3oznaczawiadmośćjakousuniętą,nie
usuwa jej jednak fizycznie dopóki sesja nie przejdzie w stan Aktualizacji. Jakie kolwiek próby
odwoływania sie do wiadmości oznaczonej jako usunięta, spowodują powstanie błędu. Format
odpowiedzimoŜewyglądaćnastępująco:
+OKmessagedeleted
ERRnosuchmessage
K: DELE 1
S: +OK message 1 deleted
...
K: DELE 2
S: -ERR message 2 already deleted
*NOOPbrakparamterówwywołania,serwerPOP3niewykonuje,Ŝadnejoperacjipróczwysłania
pojedyńczejliniipozytywnejodpowiedzi+OK.
K: NOOP
S: +OK
*RSETbrakparametrówwywołania,JeŜelinaserwerzeznajdująsięwiadmościoznaczonejako
usunięte,zostająone"odznaczone".SerwerPOPzwracaodpowiedź+OK
K: RSET
S: +OK maildrop has 2 messages (320 octets)
Stan Aktualizacji ( Update State ) wraz z wydaniem przez klienta komendy QUIT, sesja
przechodziwstanAktualizacji,inczaej niŜ jesttow przypadkuwydania przezklientakomendy
QUITwtrakciesesjiAutoryzacji,gdziesesjajestodrazuzakańczanaizakańczanejestpołączenie.
GdysesjazostaniezakończonazinnegopowoduniŜkomendaQUITzestronyklienta,sesjaPOP3
niewchodziwstanAktualizacji,niemoŜeskasować,Ŝadnychzaznaczonychwiadmości.
*QUITbrakargumentówserwerusuwawszystkiewiadmościoznaczonejakousunięte.Zwraca
odpowiedźokreślającąpowodzenieoperacjipoczymzamykapołączenie.
K: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)
...
K: QUIT
DodatkoweKomendyprotokołuPOP3
Komendy wymienione w sekcji opisującej stan Tranzakcji stanowią bazę komend określających
minimalną implementację protokołu POP, która powinnna znaleźć sie na serwerze.PoniŜej jest
zestawkomend,któredająklientowiPOPwiększaswobodęwkontrolowaniucałegopołączeniaz
serwerem.
* TOP msg n w komendzie występują dwa wymagane parametry, numer wiadmości który nie
moŜesięodnosićdowiadmościoznaczonejjakousuniętej,orazdodatnialiczbaokreślającailość
linii. Komeda moŜe być wydana wyłącznie w stanie Tranzakcji. Serwer POP3 wysyła określoną
liczbęliniinagłówkawybranejwiadomości,jeŜeliŜądanailośćliniiprzekraczarozmairnagłówka
serwerPOPzwracacałąwiadmość.
3 z 20
07-05-07 02:24
849798577.001.png
 
Zadanie 3
file:///C:/Documents%20and%20Settings/AMH/Pulpit/uslugaPoczty.html
C: TOP 1 10
S: +OK
S: the POP3 server sends the headers of the
message, a blank line, and the first 10 lines
of the body of the message
S: .
...
K: TOP 100 3
S: -ERR no such message
* UIDL [msg] w komendzie występuje opcjonalny parametr określający numer wiadmości, nie
moŜesięodnosicdowiadmościoznaczonejjakousuniętej.KomedamoŜebyćwydanawyłączniew
stanie Tranzakcji. JeŜeli numer wiadmości został podany serwer POP zwraca tzw.: "uniqueid
listing" dla Ŝądanej wiadmości. JeŜeli komenda została wydana bez parametru, serwer zwraca
"uniqueid listing" dla kaŜdej wiadmości. "uniqueid listing" wiadmości jest to łańcuch znaków
określany przez serwer, zwierający od jednego do 70 znaków z przedziału od 0x21 do 0x7E,
jednoznacznieidentyfikującywiadmośćwtrakciesesjiPOP3.
K: UIDL
S: +OK
S: 1 whqtswO00WBw418f9t5JxYwZ
S: 2 QhdPYR:00WBw1Ph7x7
S: .
...
K: UIDL 2
S: +OK 2 QhdPYR:00WBw1Ph7x7
...
K: UIDL 3
S: -ERR no such message, only 2 messages in maildrop
*USERnameparametrwymagany,jednoznacznieokresla"konto"naserwerze.Komendamoze
byćwyłączniewydanawstanieAutoryzacji,pootrzymaniupoitaniaodserweralubniepomyślnej
identyfikacji komendami USER i PASS. Po otrzymaniu poztywnej odpowiedzi od serwera klient
moŜe wydac albo komendę PASS podajac haslo albo komendę QUIT kończącą sesję oraz
połączenie.
K: USER frated
S: -ERR sorry, no mailbox for frated here
...
K: USER mrose
S: +OK mrose is a real hoopy frood
PASSstringparametrwymagany,zawierahaslona"konto"naserwerzePOP3,komendamoŜebyć
wydana jedynie po pozytywnej odpowiedzi na komende USER. Serwer moze zwrocic pozytywna
odpowiedź,oznaczającapozwolenienazarzadzaniezasobami"konta",lubblędyoznaczającealbo
niepoprawnehaslolubbrakmoŜliwoscizarezerwowaniazasobowdlakonta.
K: USER mrose
S: +OK mrose is a real hoopy frood
K: PASS secret
S: -ERR maildrop already locked
...
K: USER mrose
S: +OK mrose is a real hoopy frood
K: PASS secret
4 z 20
07-05-07 02:24
849798577.002.png
 
Zadanie 3
file:///C:/Documents%20and%20Settings/AMH/Pulpit/uslugaPoczty.html
S: +OK mrose's maildrop has 2 messages (320 octets)
* APOP name digest dwa parametry oba wymagane, łańcuch znaków name jednoznacznie
określający skrzynkę pocztową oraz łańcuch znaków digest zawierający zbiór MD5. Jedyną
restrykcją jest to, Ŝe komenda moŜe być wydana jedynie w trakcie stanu autoryzacji, po
powitaniuzestronyserweralubnieudanymlogowaniuzapomocąkomendUSERiPASS.Komenda
APOP sluzy do wielokrotnego logowania na serwer POP3 w krótkich odstępach czasu, wiele
serwerówjest zabezpieczonychprzedwielokrotnymlogowaniezapomocą komendUSER iPASS,
zliczająonedostępdokontaetc.lientwydającykomendęAPOPmusipodaćnazwęurzytkownika(
konta)orazhashMD5obliczonyz'msgid'orazłańcuchaznanegojedynieserwerowiiklientowi.
KomunikatyktóremoŜezwrócićserwertokomendazezwalającanadalszewydawaniepoleceń(
przejście w stan autoryzacji +OK ) lub zabronienie dostępu ERR. PoniŜej przykładowa
komunikacja:
S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
K: APOP mrose c4c9334bac560ecc979e58001b3e22fb
S: +OK maildrop has 1 message (369 octets)
W tym przykładzie współdzielony przez klienta i serwer łańcuch znaków to `tanstaaf'. Więc
algorytmMD5jestzastosowanynałańcuchuznakówtakiemujakponiŜej
<1896.697170952@dbc.mtview.ca.us>tanstaaf
Algorytmdlatakiegołańcuchaprodukujenastępującyhash:
c4c9334bac560ecc979e58001b3e22fb
* SMTP jest to skrót, który rozwijany jest w nazwę Simple Mail Transfer Protocol projekt
protokołuSMTPopartyjestnanastępującymmodelukomunikacji:
-------------------------------------------------------------
+----------+ +----------+
+------+ | | | |
| User |<-->| | SMTP | |
+------+ | Sender- |Commands/Replies| Receiver-|
+------+ | SMTP |<-------------->| SMTP | +------+
| File |<-->| | and Mail | |<-->| File |
|System| | | | | |System|
+------+ +----------+ +----------+ +------+
Sender-SMTP Receiver-SMTP
-------------------------------------------------------------
Schemat działa tak: w wyniku zapytania wysłanego przez uŜytkownika senderSMTP ustanawia
połączenie, dwustronny kanał transmisyjny z receiverSMTP. ReceiverSMTP moŜe być miejscem
docelowym dostarczenia poczty lub jedynie pośrednim węzłem w komunikacji. Pomiędzy
SenderSMTPaReceiverSMTP wymienianesą komendyoraz odpowiedzi na te komendy. Wraz z
otwarciem połączenia senderSMTP wysyła komendę MAIL jednoznacznie identyfikującą
wysyłającego pocztę, jeŜeli receiverSMTP moŜe zaakceptować wysłane dane odsyła odpowiedź
OK. Po odebraniu pozytywnej odpowiedzi senderSMTP wysyła komende RCTP identyfikujaca
odbiorcewiadomosci.JeŜelireceiverSMTPmoŜeprzyjąćŜądanegoodbiorcę,zwracaodpowiedź
5 z 20
07-05-07 02:24
849798577.003.png
 
Zgłoś jeśli naruszono regulamin