Kontrola dostępu do portu TCP 25 (SMTP) przy pomocy telnetu

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

W tym artykule pokazujemy jak za pośrednictwem telnetu skontrolować dostęp do serwera mailowego przez port TCP 25.

Podstawy protokołu SMTP

SMTP[1][2] jest względnie prostym protokołem tekstowym. Dzięki czemu za pośrednictwem poleceń telnetu możliwa jest w dość prosty sposób symulacja klienta pocztowego i w ten sposób kontrola dostępu do portu 25.

Konieczne są do tego następujące kroki z wiersza poleceń w Linuksie:

  1. Wykonanie telnet SERVERNAME 25. Przez co telnet łączy się z serwerem o nazwie SERVERNAME przez port 25. Nazwa lub adres IP serwera danej domeny może zostać ustalony przez dig DOMAIN -t MX (np. dig example.com -t MX). Jeżeli domena nie posiada własnego MX-Record to należy zastosować odpowiedni A-Record.
  2. Jeżeli możliwe jest utworzenie połączenia TCP to telnet odpowiada Conntected to SERVERNAME. jak i Escape character is '^]'.
  3. Teraz przez protokół SMTP może zostać wysłany e-mail. Najlepiej do tego wykorzystać adres odbiorcy z połączonego serwera mailowego. Należy wprowadzić następujące wiersze:
    1. EHLO test.example.com
    2. MAIL FROM:<ADRES NADAWCY>
    3. RCPT TO:<ADRES ODBIORCY>
    4. DATA
    5. Subject: Wiadomosc testowa
    6. (spacja, Enter)
    7. To jest test.
    8. (spacja, Enter)
    9. .
    10. QUIT

Przykład

W następującym przykładzie wysyłany jest jeden mail. W poniższym przykładzie do dokumentacji wykorzystywana jest domena example.com [3], prosimy o zastąpienie jej własnym serwerem mailowym:

[user@fedora9 user]$ telnet mail.example.com 25
Trying 192.0.2.10...
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix (Debian/GNU)
EHLO test.example.com
250-mail.example.com
250-PIPELINING
250-SIZE 30720000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN DIGEST-MD5 PLAIN CRAM-MD5
250-AUTH=LOGIN DIGEST-MD5 PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM:<test@example.com>
250 2.1.0 Ok
RCPT TO:<user@example.com>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Wiadomosc testowa

To jest test.

.
250 2.0.0 Ok: queued as 83398728027
QUIT
221 2.0.0 Bye
Connection closed by foreign host.
[user@fedora9 user]$ 

Odnośniki

Powiązane artykuły

Analiza wydajności w Linuksie programem kSar
Podstawowe informacje o Page Cache w Linuksie
Pomiar wydajności z vmstat w Linuksie