- Menu g³ówne
- Newsy
- Forum
- Hackme 1.0
- Hackme 2.0
- Hackme 3.0
- Audiobooki
- Videoarty
- B³edy w PHP
- Linux
- Kurs PHP
- Kurs MySQL
- Kurs Smarty

- JavaScript
- ReverseCraft
- Assembler
- Delphi
- Pozostale
- Materia³y
- Artyku³y
- Security
- Linux
- Software
- Protoko³y
- Poka¿ wszystkie
..:: Protokó³ SMTP ::..
SMTP - (Simple Mail Transfer Protocol) to jak wskazuje angielskie rozwiniêcie skrótu ³atwy protokó³ do transmisji poczty elektronicznej. SMTP jest protoko³em tekstowym, dzia³aj±cym na serwerze smtp na porcie nr. 25.
Nawi±zywanie po³±czenia
W celu nawi±zania po³±czenia z serwerem smtp piszemy polecenie:
telnet jakis.serwer.smtp.pl 25Po nawi±zaniu po³±czenia
Pierwsz± czynno¶ci± jak± musimy zrobiæ po po³±czeniu, jest przywitanie siê z serwerem pocztowym poleceniem:
HELO jakas.nazwa
Gdy wszystko jest ok, przystêpujemy do wydania kolejnego polecenia. Je¶li serwer zwróci³ nam kod wykonania inny ni¿ 250, to zamiast HELO wpiszmy EHLO.
Ponizsze polecenie wydajemy w zaleznosci od tego, czy serwer smtp wymaga autoryzacji, czy tez nie. Jesli wymaga, to musimy miec na nim zalozone konto pocztowe.
Piszemy wiec:
AUTH PLAIN zakodowany_login_i_haslo
W celu otrzymania zakodowanego loginu i hasla piszemy w linuxie polecenie:
printf 'login\0login\0has³o'|mimencode
w miejsce loginu i has³a wstawiamy naturalnie swoje dane.
Czyli dla uzytkownika USER o ha¶le TAJNE wydajemy polecenie:
printf 'USER\0USER\0TAJNE'|mimencodeCo daje nam wynik:
VVNFUgBVU0VSAFRBSk5FCzyli nasze kompletne polecenie wydawane serwerowi wygl±da teraz nastêpuj±co:
AUTH PLAIN VVNFUgBVU0VSAFRBSk5FPowinien nam siê pojawiæ kominikat:
235 2.0.0 OK AuthenticatedTeraz przyszed³ czas na zdefiniowanie 'cia³a' wiadomo¶ci do wys³ania. Robimy to wpisuj±c kolejne polecenia:
MAIL FROM: adres@nadawcy.pl RCPT TO: adres@odbiorcy.pl DATA TO: adres@odbiorcy.pl FROM: adres@nadawcy.pl SUBJECT: Temat listu
Teraz zaczynamy pisaæ tre¶æ naszej wiadomo¶ci, a gdy skoñczymy, wpisujemy kropkê w nowej linii. Po jej wpisaniu otrzymamy komunikat, ¿e nasza wiadomo¶æ zosta³a wys³ana. Roz³±czamy siê z serwerem pisz±c:
QUITWa¿ne uwagi:
Kody zwracane przez serwer
Po ka¿dym wykonanym poleceniu, serwer smtp wy¶wietla nam kod numeryczny wraz z jego krótkim opisem. Nie zawsze wiemy, co on oznacza. W zrozumieniu kodów pomo¿e poni¿sze dwie tabelki:
| 1yz | odpowied¼ pozytywna (przyjêcie komendy) |
| 2yz | operacja zakoñczona sukcesem |
| 3yz | dane przyjête, oczekiwanie na dalsze parametry |
| 4yz | komenda odrzucona przez serwer |
| 5yz | polecenie nie zostanie wykonane z powodów bezpieczeñstwa |
| x0z | prawdopodobny b³±d sk³adni polecenia |
| x1z | Odpowiedz na polecenie informacyjne (np. HELP) |
| x2z | kody zwiazane z po³±czeniem i transmisj± danych |
| x5z | zg³asza aktualny status serwera smtp |
Przyk³adowy wygl±d sesji smtp
Ok. wiemy ju¿ jak dzia³a protokó³ SMTP.
Teraz zobaczny jak to wygl±da w praktyce:
[unknow@darkstar]$ telnet testowy.com 25 Trying 123.123.123.123... Connected to mail.testowy.com. Escape character is '^]'. 220 mail.testowy.pl ESMTP EHLO unknow 250 mail.testowy.pl 250-PIPELINING 250 8BITMIME mail from: ja@ty.pl 250 ok rcpt to: tester@ktostam.gdziestam.pl 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) rcpt to: test@testowy.pl 250 ok data 354 go ahead asas . 250 ok 1104233568 qp 7498 quit
Kolor niebieski to polecenia wydawane przeze mnie.
Kolorem br±zowym oznaczone s± komunikaty zwracane przez program telnet.
Kolorem zielonym oznaczono komunikaty zwracane przez serwer smtp po poprawnym
wydaniu polecenia.
Zwróc uwagê na fragment oznaczony na czerwono. Jest to typowy b³±d zwracany przez serwer (b³±d bezpieczeñstwa). W tym przypadku chcia³em wykorzystaæ serwer do wys³ania listu na adres spoza domeny, do czego poprawnie skonfigurowany serwer smtp nie powinien dopu¶ciæ. Po zauwa¿eniu b³±du poprawi³em siê i poda³em to samo polecenie poprawnie, podaj±c adresata z domeny serwera.
Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!
- Subskrypcja
- Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail




Shell status: 

