37714

Протокол SMTP

Лабораторная работа

Информатика, кибернетика и программирование

Щоб доставити повідомлення до адресата необхідно переслати його поштовому серверу домену в якому знаходиться адресат. Сервер відповідає на кожну команду рядком що містить код відповіді і текстове повідомлення відокремлене пропуском. У результаті цього спам став практично нерозв'язною проблемою так як було неможливо визначити хто насправді є відправником повідомлення фактично можна відправити лист від імені будьякої людини. DT CRLF Вказує на початок повідомлення.

Украинкский

2013-09-25

805.5 KB

6 чел.

1.1

Протокол SMTP

SMTP (англ. Simple Mail Transfer Protocol - простий протокол передачі пошти) - це мережевий протокол, призначений для передачі електронної пошти в мережах TCP / IP.

ESMTP (англ. Extended SMTP) - масштабоване розширення протоколу SMTP. В даний час під "протоколом SMTP», як правило, мають на увазі ESMTP і його розширення.

SMTP використовується для відправки пошти від користувачів до серверів і між серверами для подальшої пересилки до одержувача. Для прийому пошти поштовий клієнт повинен використовувати протоколи POP3 або IMAP.

Щоб доставити повідомлення до адресата, необхідно переслати його поштовому серверу домену, в якому знаходиться адресат. Для цього використовується запис типу MX (англ. Mail eXchange - обмін поштою) системи DNS. Якщо MX запис відсутній, то для тієї ж мети може бути використаний запис типу A. Деякі сучасні реалізації SMTP-серверів (наприклад, Exim [1]) для визначення сервера, що обслуговує пошту в домені адресата, також можуть задіяти SRV-запис (RFC 2782).

Широке поширення SMTP отримав на початку 1980-х років. До нього використовувався протокол UUCP, який вимагав від відправника знання повного маршруту до одержувача і явної вказівки цього маршруту в адресі одержувача, або наявності прямого комутованого або постійного з'єднання між комп'ютерами відправника і одержувача.

Sendmail був одним з перших (якщо не першим) агентом відправки повідомлень, який почав працювати з SMTP. На сьогодні протокол SMTP є стандартним для електронної пошти і його використовують всі клієнти і сервери.

Протокол був розроблений для передачі тільки тексту в кодуванні ASCII, крім того, перші специфікації вимагали обнулення старшого біта кожного переданого байта. Це не дає можливості відсилати текст на національних мовах (наприклад, кирилиці), а також відправляти двійкові файли (наприклад, зображення, відеофайли, програми або архіви). Для зняття цього обмеження був розроблений стандарт MIME, який описує спосіб перетворення двійкових файлів у текстові. Зараз більшість серверів підтримують 8BITMIME, що дозволяє відправляти двійкові файли так само просто, як і текст.

Сервер SMTP - це кінцевий автомат з внутрішнім станом. Клієнт передає на сервер рядок команда <пробіл> параметри <переклад рядка>. Сервер відповідає на кожну команду рядком, що містить код відповіді і текстове повідомлення, відокремлене пропуском. Код відповіді – число від 100 до 999, представлене у вигляді рядка, який трактується таким чином:

  2ХХ - команда успішно виконана

  3XX - очікуються додаткові дані від клієнта

  4хх - тимчасова помилка, клієнт повинен зробити наступну спробу через деякий час

  5хх - невиправна помилка

Текстова частина відповіді носить довідковий характер і призначений для людини, а не програми.

ESMTP - розширюваний протокол, на відміну від SMTP. При встановленні з'єднання сервер оголошує про набір підтримуваних розширень (як відповідь на команду EHLO). Відповідні розширення можуть бути використані клієнтом при роботі. Необхідно пам'ятати, що якщо сесія починається з команди HELO (яка використовується в «класичному» SMTP, RFC 821), то перелік розширень виводитися не буде.

Безпека SMTP і спам

Спочатку SMTP не підтримував єдиної схеми авторизації. У результаті цього спам став практично нерозв'язною проблемою, так як було неможливо визначити, хто насправді є відправником повідомлення - фактично можна відправити лист від імені будь-якої людини. В даний час проводяться спроби вирішити цю проблему за допомогою специфікацій SPF, Sender ID, Yahoo Domain Keys. Єдиної специфікації на сьогодні не існує.

Команди SMTP

HELO <SP> <string><CRLF> — Ідентифікує SMTP-сервер відправника, відкриває сеанс

QUIT<CRLF> — Завершує SMTP-сеанс

MAIL <SP> FROM:<reverse-path> <CRLF> — Задає адресу відправника. Адресу слід вказувати в кутових дужках. Деякі сервери можуть проігнорувати те, що їм передають адресу без кутових дужок, але ті сервери, що детально виконують опис RFC, відхилять таку адресу.

RCPT <SP> TO:<forward-path> <CRLF> — Задає адресу одержувача. Адресу слід вказувати в кутових дужках. Деякі сервери можуть проігнорувати те, що їм передають адресу без кутових дужок, але ті сервери, що детально виконують опис RFC, відхилять таку адресу.

DATA <CRLF> — Вказує на початок повідомлення. Для завершення повідомлення вказується <CRLF>.<CRLF>

VRFY <SP> <string><CRLF> — перевіряє існування одержувача.

EXPN <SP> <string><CRLF> — показує перелік адрес для списку розсилки.

NOOP<CRLF> — пуста операція

TURN<CRLF> — сервер та клієнт міняються ролями после відповіді сервера 200 OK

RSET<CRLF> — скидання сесії в початковий стан

HELP<CRLF> — інформація про команди, які підтримуються. Деякі сервери підтримують довідку по окремим командам, наприклад, HELP MAIL (sendmail), деякі виводять за цією командою лише список можливих команд без пояснення (Microsoft Exchange Server)

Внаслідок проблем зі спамом, майже всі сучасні сервери ігнорують команди VRFY и EXPN, тому що вони розкривають інформацію про користувача.

Розширення ESMTP

RFC 1869 предписує починати сесію не командою HELO, а командою EHLO. У випадку, якщо сервер не підтримує розширений протокол, то він відповість на EHLO помилкою, в цьому разі клієнт повинен надіслати команду HELO і не використовувати розширення протоколу.

Якщо ж сервер підтримує ESMTP, то крім привітання він повідомить перелік підтримуємих розширень протоколу SMTP.

2.2 Протокол POP3

POP3 (англ. Post Office Protocol Version 3 - протокол поштового відділення, версія 3) використовується поштовим клієнтом для отримання повідомлень електронної пошти з сервера. Зазвичай використовується в парі з протоколом SMTP.

Попередні версії протоколу (POP, POP2) застаріли.

Стандарт протоколу POP3 визначений в RFC 1939. Розширення та методи авторизації визначені в RFC 2195, RFC 2449, RFC 1734, RFC 2222, RFC 3206, RFC 2595.

Існують реалізації POP3-серверів, що підтримують TLS та SSL.

Альтернативним протоколом для збору повідомлень з поштового сервера є IMAP.

Стани сеансу

У протоколі POP3 передбачено 3 стану сеансу:

Авторизація: клієнт проходить процедуру аутентифікації

Транзакція: клієнт отримує інформацію про стан поштової скриньки, приймає і видаляє пошту

Оновлення: сервер видаляє обрані листи і закриває з'єднання

Опис протоколу POP3

Конструкція протоколу РОРЗ забезпечує можливість користувачеві звернутися до свого поштового сервера та вилучити пошту, яка накопичилася для нього. Користувач може отримати доступ до РОР-серверу з будь-якої точки доступу до Інтернет. При цьому він повинен запустити спеціальний поштовий агент (UA), що працює по протоколу РОРЗ, та налаштувати його для роботи зі своїм поштовим сервером. Отже, на чолі моделі POP знаходиться окремий персональний комп'ютер, що працює виключно в якості клієнта поштової системи (сервера). Повідомлення доставляються клієнтові за протоколом POP, а надсилаються, як і раніше, за допомогою SMTP. Тобто на комп'ютері користувача існують два окремих агента-інтерфейсу до поштової системи - доставки (POP) і відправки (SMTP). Розробники протоколу РОРЗ називають таку ситуацію "роздільні агенти" (split UA). Концепція роздільних агентів коротко обговорюється в специфікації РОРЗ.

Команди POP3

APOP [ім’я] [digest]

Команда використовується для передачі серверу імені користувача та зашифрованого паролю (digest)

Аргументи

[ім’я] - рядок, який вказує ім’я поштового ящику.

[digest]- зашифрована паролем користувача по алгоритму MD5 мітка часу. Якщо ця команда підтримується, мітка часу одержується при з’єднанні з сервером:

+OK POP3 server ready <1896.698370952@meshach.smallorg.org>

Обмеження

Її підтримка не є обов’язковою.

Можливі відповіді

  •  +OK maildrop has n message
  •  -ERR password suplied for [ім’я] is incorrect

DELE [повідомлення]

Сервер позначає вказане повідомлення для видалення

Аргументи

[повідомлення] - номер сообщения.

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK message deleted
  •  -ERR no such message

LIST [повідомлення]

Якщо був переданий аргумент, то сервер видає інформацію про зазначене повідомлення. Якщо аргумент не був переданий, то сервер видає інформацію про всі повідомлення, що знаходяться в поштовій скриньці. Повідомлення, помічені для видалення не перераховуються.

Аргументи

[повідомлення]-номер повідомлення (необов’язковий аргумент)

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK scan listing follows
  •  -ERR no such message

NOOP

Сервер нічого не робить, завжди відповідає позитивно

Аргументи

Немає.

Обмеження

Немає.

Можливі відповіді

  •  +OK

PASS [пароль]

Передає серверу пароль поштової скриньки

Аргументи

[пароль] - пароль для поштової скриньки

Обмеження

Працює після успішної передачі імені поштової скриньки.

Можливі відповіді

  •  +OK maildrop locked and ready
  •  -ERR invalid password
  •  -ERR unable to lock maildrop

RETR [повідомлення]

Сервер передає повідомлення з вказанным номером

Аргументи

[повідомлення] - номер повідомлення

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK message follows
  •  -ERR no such message

RSET

Якщо якісь повідомлення були позначені для видалення, то з них знімається ця мітка.

Аргументи

Немає.

Обмеження

Доступна після і до вдалої ідентифікації

Можливі відповіді

  •  +OK

STAT

Сервер повертає кількість повідомлень в поштовій скриньці плюс розмір поштової скриньки

Аргументи

Немає

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK a b

TOP [повідомлення] [кількість рядків]

Сервер повертає вказану кількість рядків після заголовку

Аргументи

[повідомлення] - номер повідомлення

[кількість рядків] – скільки рядків треба вивести

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK n octets
  •  -ERR no such message

USER [ім’я]

Передає серверу ім’я користувача

Аргументи

[ім’я] - рядок, якмй вказує ім’я поштової скриньки

Обмеження

Немає.

Можливі відповіді

  •  +OK name is a valid mailbox
  •  -ERR never heard of mailbox name

QUIT

Аргументи

Немає.

Обмеження

Немає.

Можливі відповіді

  •  +OK

2.3

2.4

2.6

2.7

2.8

2.9

3.0

3.1

3.2

3.3

3.4

3.5

3.6

3.7


 

А также другие работы, которые могут Вас заинтересовать

26404. Зейгоподий тазовой конечности и коленный сустав 22.5 KB
  Они формируют с бедренной костью самый сложный сустав в организме коленный art. Сустав характеризуется большим количеством внутрисуставных связок крестовидные менискоберцовые менискобедренная межменисковая. К этому суставу относится коленная чашка patella которая представляет из себя сесамовидную кость которая развилась в сухожилии четырехглавого мускула бедра.
26405. Зубы — dentes 24.5 KB
  В короткокоронковых зубах обозначают следующие части: а коронку возвышающуюся над десной. Эмаль самая твердая ткань зуба содержит 95 минеральных веществ устойчива к воздействию химических веществ корма и к механическим воздействиям. Под эмалью находится дентин костная ткань зуба с канальцами. Цвет дентина темноватый; б шейка зуба на месте перехода коронки в корень зуба.
26406. Классификация, строение, топография мышц 20.5 KB
  пластинчатые – в области туловища шеи прикрепляют грудную конечность к туловищу брюшные стенки; 2. В их составе тонкие и длинные мышечные волокна область туловища и поясов конечностей; 2. В области туловища на поверхности блестящее сухожильное зеркало; 3.
26407. Кожный покров: строение, назначение, классификация производных 20.5 KB
  В общий кожный покров integumentum communis входят кожа cutis и её производные. Эпидермис образует производные кожи является многослойным плоским ороговевающим эпителием выполняет защитную и нейросенсорную функции. Дерма содержит производные эпидермиса выполняет опорную трофическую и иммунологическую функции. Производные кожного покрова: роговые волосы рога мякиши копыто копытце коготь и железистые обычные: потовые сальные; молочные: вымя множественное вымя специфические: пахучие защитные сигнальные параанальные и др.
26408. Концевой мозг (telencephalon) 21.5 KB
  В ней заложены центры НД. Кора гирифицирована и условно делится на доли: затылочные – высшие зрительные центры лобные – высшие двигательные центры теменные – чувствительные центры височные – слуховые центры. Под корой – белое вещество плаща который образует проводящие пути 3 типов: коммисуральные полушария между собой – мозолистое тело ассоциативные центры в 1 полушарии проекционные кора с подкоркой и спинным мозгом.
26409. Круп 20 KB
  Крестцовоподвздошный сустав: тугой капсула вентральная связка дорсальная коротная и длинная крестцовоседалищная связка широкая тазовая. ТБС:: простой многоосный чашеобразный; по краю суставной впадины – хрящевая губа над вырезкой впадины – поперечная связка впадины помимо капсулы – круглая связка у лошадей – добавочная связка.
26410. Лёгкие (pulmones, pneumones) 24.5 KB
  На каждом легком различают поверхности: латеральную реберную медиальную средостенную каудовентральную диафрагмальную а также междолевые. На средостенной поверхности заметны вдавления: сердечное аортальное пищеводное и желоб задней полой вены как отпечатки расположенных между легкими соответствующих органов. На правом легком со стороны средостенной поверхности имеется добавочная доля. На средостенной поверхности имеется углубление ворота легкого.
26411. Лимфатическая система 22 KB
  проток правый непарный проток правый и левый трахеальный стволы кишечный ствол чревный ствол у КРС правый и левый поясничные стволы. В неё открывается правый и левый поясничные стволы несущие лимфу с каудальных отрезков туловища и тазовых конечностей. С правой стороны головы шеи грудной конечности лимфа оттекает в непарный правый проток который принимает лимфу из правого трахеального протока и впадает в краниальную полую вену.
26412. Матка uterus 23 KB
  Полость матки каудально переходит в узкий канал шейки открывающейся во влагалище. У КРС матки изогнуты спирально заострены имеют форму бараньего рога. Тело матки снаружи длинное но внутри в большей своей части разделено срединной перегородкой. У свиньи рога матки очень длинные до 140 см извиты наподобие кишечных петель.