ind
Hacking.Pl
Security Service
Cdr-Info
 Hello!!!
 Redakcyjne
 Pc Zone
 Internet
 Muzyka
 Telekomunikacja
 Download
Komputerowy Serwis Informacyjny
Anty Lamy !!
Multum in Parvo
Unity 2000 Hardcore
Netpress
Picture
Bankrut
Horna Off-line Magazine no.2
Internet Explorer
Netscape Navigator
Picture
 Telnet

Pisze ten tekst, poniewaz wielu z was (uzytkownikow sieci) nie potrafi (lub szuka informacji) na temat, ktory chcialbym w miare szczegolowo omowic w jednym tekscie, jako ze takiej pracy, rozpatrujacej temat dokladnie, nie napotkalem jeszcze. Nie bede sie rozwodzil nad tym, jakie korzysci to przynosi, jesli ktos takowych nie widzi, niech nadal uzywa LookOut'a :), ale zatrzyma ten tekst, bo pozniej na pewno (?) mu sie przyda. Dla zainteresowanch zdecydowalem sie napisac ten wlasnie skromny dokument. Jesli ktos jest zainteresowany bardziej szczegolwymi informacjami i moj tekst nie wydaje mu sie wystarczajacy, odsylam do letkury RFC 821 oraz RFC 1725. I.

PROTOKOLY PRZESYLU POCZTY

Poczta przesylana jest przez internet przy pomocy dwoch bardzo prostych protokolow - SMTP (Simple Mail Transmission Protocol) oraz, najczesciej choc niekoniecznie, POP3 (Post Office Protocol ver. 3). Ogolnie rzecz ujmujac, cala sprawa opiera sie na dialogu z serwerem przy pomocy serii znakow ASCII zakonczonych znakiem 1013 (CRLF). To co wysyla klient to tzw. polecenie, to co serwer - odpowiedz. Serwer nigdy nie wysyla odpowiedzi nie proszony o nia, odpowiedz jest zawsze jedynie reakcja na polecenie. Polecenia i odpowiedzi skladaja sie na dialog. Teraz przejde juz do konkretow.

KONKRETY

 1. Wysylanie poczty - SMTP Na protokole SMTP opiera sie caly system przesylanie wiadomoscie e-mail. Standardowo przypisuje sie mu 25 port i z tym portem serwera pocztowego nalezy sie laczyc. Telnetujemy sie zatem na rzeczony port serwera pocztowego i co dalej ? Dalej trzeba sie przywitac :). HELO nazwa.domeny W ten sposob przedstawiamy sie serwerowi pocztowemu, choc argument nie zawsze jest wymagany (czasami wystarcza samo HELO). Jesli serwer "przyjmie nas" odpowie kodem 250, w innym przypadku moze zwrocic bledy o kodach : 421, 500, 501, 504 (kody odpowiedzi omowie w dalszej czesci dokumentu). MAIL FROM:adres@zwrotnyPoleceniem tym rozpoczynamy procedure wysylania wiadomosci. adres@zwrotny to nic innego jak podawany przez nas adres nadawcy listu (moze byc dowolny, ale w formacie nazwa@dome.na). Jesli wszystko pojdzie ok serwer odpowie kodem 250, w przeciwnym przypadku beda to odpowiedzi: 552, 451, 452 lub 500, 501, 421. RCPT to:adres@docelowyTym poleceniem okreslamy adresata naszej wiadomosci, moze ono byc uzyte kilka razy jesli jest wiecej niz jeden adresat. adres@docelowy to po prostu adres e-mail adresata naszej wiadomosci. Jesli bedzie ok to serwer odpowie kodem 250, 251, w przeciwnym przypadku moga wystapic odpowiedzi o kodach: 550, 551, 552, 553, 450, 451, 452 lub 500, 501, 503, 421. DATAPo tym poleceniu mozemy zaczac wpisywac tresc naszej wiadomosci. Zakonczenie tekstu stanowi "." (kropka) jako jedeny znak w linii. Polecenie to jest jednoczesnie komenda konczaca cala transakcje przesylania wiadomosci. Poprawna odpowiedzia serwera, przed podaniem tresci wiadomosci, bedzie 354, bledna - 451, 554 lub 500, 501, 503, 421. Po odpowiedzi poprawnej wpisujemy tresc mail'a i po jej zakonczeniu znowu otrzymujemy odpowiedz serwera - poprawna 250, niepoprawna : 552, 554, 451, 452. RSETTo jest polecenie, ktorego zadaniem jest przerwanie rozpoczetej transakcji przesylania wiadomosci. W rezultacie mozemy uzyskac odpowiedzi o nastepujacych kodach : 250 jesli wszytko ok, w przeciwnym wypadku 500,501,504, 421. QUITTa komenda konczymy dialog z serwerem. Po jego wydaniu serwer pozegna sie z nami wysylajac odpowiedz o kodzie 221. I jeszcze jedna komenda, ktorej sensu szczerze mowiac nie rozumiem, ale podaje ja dla porzadku :) NOOPPolecenie to nie robi nic :)). Po nim serwer zwraca odpowiedz 250 jesli wszystko jest ok, jesli nie, to 500, 421. 1a. Kody odpowiedzi serwera Wszystkie kody sa trzycyfrowe. Najwazniejsze sa jednak dwie pierwsze cyfry (znaczenie trzeciej jest nieokreslone). 2xx - wszystko OK3xx - czesciowo OK, serwer czeka na dodatkowe dane4xx - odpowiedz tylko chwilowo negetywna (w danym momencie serwer nie moze zrealizowac rzadania)5xx - bladx0x - blad skladnix1x - informacjax2x - odnosi sie do polaczeniax3x - nieokreslonex4x - nieokreslonex5x - odnosi sie do statusu serweraTeraz konkretne kody : 221 - informacja o systemie lub pomoc214 - pomoc220 - powitanie serwera221 - pozegnanie serwera250 - przyjecie wiad. do wyslania251 - podany adres odbiorcy jest nieaktualny, ale serwer przekierowuje wiadomosc pod nowy adres354 - oczekiwanie na tekst wiadomosci421 - sesja zostanie przerwana przez serwer (przyczyna nieokreslona)450 - chwilowo wiadomosc nie moze byc wyslana451 - wysylanie wiadomosci przerwane452 - wiadomosc nie moze byc wyslana z powodu braku pamieci500 - nie ma takiego polecenia501 - blad skladni polecenia502 - polecenie rozpoznane, ale nieobslugiwane503 - blad w kolejnosci polecen504 - podany parametr jest nieobslugiwany550 - nie mozna wyslac wiadomosci551 - podany adres odbiorcy jest nieaktualny, serwer zna nowy, ale nie moze przekierowac552 - wiadomosc nie moze byc wyslana z powodu braku pamieci553 - blad w adresie odbircy554 - niepoprawnie wykonana transakcjaNo i to byloby na tyle jesli chodzi o wysylanie wiadomosci. Teraz czas przejsc do protokolu odbioru poczty POP3.

ODBIERANIE POCZTY

POP3 No dobra, mamy jakas skrzynke pocztowa, umiemy wysylac poczte, ale czasem ktos do nas cos napisze i dobrze byloby to przeczytac :). Telnetujemy sie na port 110 i zaczyna sie zabawa :). W przypadku tego protokolu serwer nie zwraca odpowiedzi z zadnymni kodami liczbowymi, jesli poszlo ok to odpowiedz brzmi "+OK komunikat",a w razie bledu "-ERR komunikat" USER nazwaNajpierw nalezy podac nazwe uzytkownika (czyli to co mamy przed @ w adresie skrzynki :)). PASS hasloPo podaniu nazwy uzytkownika trzeba podac haslo jakie ustalilismy dla naszej skrzynki. STATPolecenie to jest pytaniem o zawartosc skrzynki uzytkownika. W odpowiedzi otrzmujemy "+OK a b", gdzie a - ilosc wiadomosci, b - laczny rozmiar wszystkich wiadomosci w bajtach. LIST xPoleceniem tym sprawdzamy rozmiar wiadomosci nr x, lub wszystkich (w postaci listy) jesli nie podalismy argumentu. Odpowiedz serwera to "+OK x b", gdzie x to podany numer wiadomosci, a b - rozmiar w bajtach. RETR xW ten sposob odczytujemy wiadomosc nr x (qiadomosc ta nie moze byc oznaczona do usuniecia). Jesli nie wystapi blad to otrzymyma odpowiedz "+OK b", gdzie b to rozmiar wiadomosci w bajtach, pod spodem bedzie tresc. DELE xTym poleceniem zaznaczamy wiadomosc x do usuniecia. To nie powoduje natychmiastowego usuniecia, stan zostanie uaktualniony dopiero po wydaniu polecenia QUIT konczocego dialog (wiadomosc zostanie wtedy fizycznie skasowana). RSETPolecenie to odznacza wiadomosci do usuniecia. QUITKomenda ta konczy dialog i po usunieciu zaznaczonych wiadomosci zrywa polaczenie. NOOPTo znowu polecenie, ktore nie robi nic, ale za to zawsze daje odpowiedz pozytywna :). To tyle jesli chodzi o polecenie podstawowe, ktore na pewno obslugiwane sa przez kazdy serwer POP3. Omowie jeszcze kilka dodatkowych, ktore uwazam za uzyteczne, aczkolwiek istnieje szansa, ze konkretny serwer nie bedzie ich rozpoznawal. APOP nazwa zaszyfrowane_hasloTo alternatywa dla polecen USER i PASS. Przesyla ona haslo w postaci zaszyfrowanej (w przeciwienstwie do PASS). Klopot polega na tym, ze jako drugi argument musimy podac haslo juz zaszyfrowane :). Sprawa szyfrowania tego hasla zajme sie nieco pozniej. TOP x yPolecenie dziala podobnie do RETR, z ta roznica, ze wyswietla tylko naglowek i y poczatkowych linii wiadomosci nr x. I to wszystko co trzeba wiedziec zeby wymieniac poczte poslugujac sie jedynie telnetem. Autor: TyBoer

¬ródło: www.hacking.pl

2001 Horna Magazine - Wszelkie prawa zastrzeżone !