Заголовки электронных писем [ спецификация ARPA (RFC-822) и MIME (RFC-1341) ]
Вместо предисловия. Все началось с заказа на взлом электронной почты одного предприятия. Поиск дополнительной информации посредством поисковиков дал нулевой результат. Единственной зацепкой был фотоальбом в соц. сети "Мой мир", в котором лежали фотографии комплектующих для производства пластиковых окон и дверей.
Был зарегестрирован сайт на бесплатном хостинге, на ту же тематику, по электронной почте завязалась "деловая" переписка с предприятием "целью". Изучением заголовков в письмах-ответах установлено, что о почтовых программах на предприятии имели лишь смутное представление.
Посему было принято решение ловить на "фейк". В очередной раз отправлено письмо с ссылкой на "прайс", а на самом деле фейк, с последующей переадресацией на настоящий прайс-лист. Финита ля комедия, дело сделано.
В ходе выполнения такого заказа я заинтересовался, что же именно означают конкретные поля в заголовках писем. Об этом и статья.
В интернете достаточно информации по данной теме, однако у меня возникло желание собрать перечитанное воедино. Надеюсь будет полезным.
1. Вступление.
1.1. Электронная почта в Internet.
Электронная почта- один из важнейших информационных ресурсов Internet. Она является самым массовым средством электронных коммуникаций. Любой из пользователей Internet имеет свой почтовый ящик в сети. Если учесть, что через Internet можно принять или послать сообщения еще в два десятка международных компьютерных сетей, некоторые из которых не имеют on-line сервиса вовсе, то становится понятным, что почта предоставляет возможности в некотором смысле даже более широкие, чем просто информационный сервис Internet. Через почту можно получить доступ к информационным ресурсам других сетей. Хорошим примером может служить доступ к архивам сети
BITNET
1.2. Структура электронного письма.
Электронное письмо состоит из следующих частей:
- заголовков SMTP-протокола, полученных сервером. Эти заголовки могут включаться, а могут и не включаться в тело письма в дальнейшем, так что возможна ситуация, когда сервер обладает большей информацией о письме, чем содержится в самом письме. Так, например, поле RCPT TO указывает получателя письма, при этом в самом письме получатель может быть не указан.
- самого письма.
Непосредственно
письмо в свою очередь, состоит из следующих частей, разделённых пустой строкой:
-
заголовков письма, иногда называемых по аналогии с бумажной почтой конвертом (англ. envelope).
-
тело письма. В теле письма находится, собственно, текст письма.
Формат почтового сообщения был определен в документе
RFC-822 ((Standard for ARPA Internet Text Message, опубликован в 1982 г.). Это довольно большой документ объемом в 47 страниц машинописного текста.
2.1. Спецификация ARPA (RFC-822)
Минимально необходимыми являются следующие поля "Date:«, »From:«, »Cc:" и/или "To:"
Все возможные поля заголовка, согласно стандарту ARPA (RFC-822):
Код:
Date: 27 Aug 76 0932
From: Ken Davis
Subject: Re: The Syntax in the RFC
Sender: KSecy@Other-host
Reply-To: Sam.Irving@Reg.Organization
To: George Jones
cc: Important folks:
Tom Softwood ,
"Sam Irving"@Other-Host;,
Standard Distribution:
/main/davis/people/standard@Other-Host
Comment: Sam is away on bisiness.
In-Reply-To: , George`s message
X-Special-action: This is a sample of user-defined field-
names.
Message-ID:
Received: from [96.118.147.161] (port=45090 helo=pro)
by smtp6.mail.ru with asmtp
id 1Q1Rfi-0003lN-00
for senyka@mail.ru; Mon, 21 Mar 2011 02:04:30 +0300
Message-ID:
Reply-To: =?koi8-r?B?79TL0tnUy8kgTWFpbC5SdQ==?=
From: =?koi8-r?B?79TL0tnUy8kgTWFpbC5SdQ==?=
To:
Subject: =?koi8-r?B?98HNINDSydvMwSDGzNzbLc/Uy9LZ1MvBIQ==?=
Date: Mon, 21 Mar 2011 01:08:14 -1200
Organization: =?koi8-r?B?79TL0tnUy8kgTWFpbC5SdQ==?=
MIME-Version: 1.0
Content-Type: multipart/related;
Type="multipart/alternative";
boundary="----=_NextPart_000_0000_01CBE764.746F7B00"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Spam: Not detected
X-Mras: Ok
Остановимся подробнее на форме и назначении полей, определяемых стандартом.
Поле версии MIME (MIME-Version). Поле версии указывается в заголовке почтового сообщения и позволяет определить программе рассылки почты, что сообщение подготовлено в стандарте MIME.
Формат поля выглядит как:
Поле версии указывается в общем заголовке почтового сообщения и относится ко всему сообщению целиком. Здесь уместно отметить, что в отличие от стандарта RFC822, стандарт MIME позволяет перемешивать поля заголовка сообщения с телом сообщения. Поэтому все поля делятся на два класса: общие поля заголовка, которые записываются в начале почтового сообщения и частные поля заголовка, которые относятся только к отдельным частям составного сообщения и записываются перед ними.
Поле типа содержания тела почтового сообщения (Content-Type)
Поле типа используется для описания типа данных, которые содержатся в теле почтового сообщения. Это поле сообщает программе чтения почты какого сорта преобразования необходимы для того, чтобы сообщение правильно проинтерпретировать. Эта же информация используется и программой рассылки при кодировании/декодировании почты. Стандарт MIME определяет семь типов данных, которые можно передавать в теле письма: текст (text); смешанный тип (multipart); почтовое сообщение (message); графический образ (image); аудио информация (audio); фильм или видео (video); приложение (application). Общая форма записи поля выглядит как:
Код:
Content-Type:= type "/" subtype *[";" parameter]
type := "application" / "audio"
/ "image" / "message"
/ "multipart" / "text"
/ "video" / x-token
x-token :=
subtype := token
parameter:= attribute "=" value
attribute:= token
value := token / quoted-string
token := 1*
tspecials:= "(" /")" / "" / "@" ; Обязательно
/ "," / ";" / ":" / "\" / ; должны быть,
/ "/" / "[" / "]" / "?" / "." ; заключены в
/ "=" ; кавычки.
Типы описания нетекстовой информации. Таких типов имеется четыре:
* "
image" для описания графических образов. Наиболее часто используются файлы форматов GIF и JPEG.
* "
audio" для описания аудио информации. Для воспроизведения сообщения данного типа требуется специальное оборудование.
* "
video" для передачи фильмов. Наиболее популярным является формат MPEG.
* "
application" для передачи данных любого другого формата, обычно используется для передачи двоичных данных для последующего промежуточного преобразования. Так если на машине стоит видео-карта с 512Kb памяти, а графика подготовлена в 256 цветах, то сначала ее следует преобразовать и здесь может помочь тип "application". Основной подтип данного типа - "octet-stream", но существуют "ODA" и "Postscript".
В настоящее время полный перевод спецификации MIME на русский язык отсутствует. Ознакомиться с частичным переводом можно по адресу
http://webi.ru/webi_files/26_15_f.html
3. Вместо заключения.
Чтение заголовков писем может быть полезным - как в случае "нападения", так и в случае "защиты" от атак недоброжелателей. Не пренебрегайте возможностью получить капельку дополнительной информации. ОБращайте внимания на детали
При подготовке статьи были использованы материалы:
http://hostinfo.ru > заголовки e-mail стандарта RFC-822
http://citforum.ru/ > Организация и администрирование почтовых и файловых серверов Internet
http://webi.ru > Неполный русский перевод спецификации RFC 1521 "MIME"
А также материалы с персонального сайта Кунегина С.В.
Работа с сайта Кунегина С.В. на тему "Электронная почта: функционирование сервиса электронной почты. Основные почтовые стнадарты: Mime, IMAP4, LDAP и др. Обеспечение защиты электронной почты." будет полезна всем начинающим пользователям, которым интересен данный вопрос. Ссылка:
Код:
http://depositfiles.com/files/0jorimjkl
Статья написана для antichat.ru/ При копировании просьба указывать источник.