Пример сеанса взаимодействия по протоколу POP
🕛 27.06.2009, 14:12
На самом деле POP - это несколько взаимодействующих между собой протоколов. На сегодняшний день наиболее популярна версия РОР-3, которая использует TCP-порт ПО. (Более ранняя версия РОР-2 использовала порт 109.) Подобно многим другим протоколам, применяемым в Internet, POP-взаимодействие основано на обмене текстовыми сообщениями между клиентом и сервером. В РОР-3 предусмотрено более десяти команд. Среди них можно отметить команды USER (указание имени пользователя), PASS (указание пароля), RETR (получение сообщения), DELE (удаление сообщения) и QUIT (завершение сеанса). Пример простого сеанса POP-взаимодействия, в ходе которого клиент получает с сервера одно письмо, представлен в листинге 11.1. В данном примере для обращения к серверу РОР-3 и ввода необходимых команд вручную использовалась клиентская программа telnet. Программы просмотра почты скрывают от пользователя реальный ход обмена и предоставляют лишь конечные результаты.Листинг 11.1. Пример сеанса взаимодействия по протоколу РОР-3
$ telnet nessus 110 Trying 192.168.1.3. .. Connected to nessus.rodsbooks.com. Escape character is ,A]'. +OK P0P3 nessus.rodsbooks.com v7.64 server ready USER rodsmith +OK User name accepted, password please PASS password +OK Mailbox open, 1 messages RETR 1 +OK 531 octets >From rodsmith Wed Aug 8 14:38:46 2001 Return-Path: <ben@pangaea.edu> Delivered-To: rodsmith@nessus.rodsbooks.com Received: from speaker.rodsbooks.com (speaker.rodsbooks.com [192.168.1.1]) by nessus.rodsbooks.com (Postfix) with SMTP id EB2A01A2BD for <rodsmith@nessus.rodsbooks.com>; Wed, 8 Aug 2001 14:38:26 -0400 (EDT) Message-Id: <20010808183826.EB2A01A2BD@nessus.rodsbooks.com> Date: Wed, 8 Aug 2001 14:38:26 -0400 (EDT) From: ben@pangaea.edu To: undisclosed-recipients:; Status: This is a test message. DELE 1 +OK Message deleted QUIT +OK Sayonara Connection closed by foreign host.
Как видно из листинга 11.1, при использовании протокола POP сообщения идентифицируются по номерам. В данном примере на сервере присутствует лишь одно сообщение;
на это указывает строка +ОК mailbox open, l messages. Номер сообщения указывается при его передаче клиенту (команда RETR 1) и удалении (команда DELE 1). Протоколом POP не предусмотрена передача части сообщения: оно должно передаваться целиком либо не передаваться вовсе. Средства определения длины сообщения, адреса отправителя и получения другой информации в данном протоколе отсутствуют. Интересующие вас характеристики письма можно узнать лишь после того, как оно будет скопировано на клиентскую машину. В данном примере объем заголовка (в котором указывается адрес отправителя, дата и другие сведения) превышает объем тела сообщения. При передаче реальных писем тело сообщения, как правило, значительно больше его заголовка.
Анализируя заголовок письма в листинге 11.1, нетрудно заметить одну осо-н?^ бенность,> которая обеспечивает гибкость в работе почтовой системы,, но в то же время затрудняет определение реального отправителя письма. В полях From: и Return-Path: указано, что отправителем письма является пользователь bendpangaea. edu. Тем не менее эти поля заголовка нетрудно подделать. Кроме того, в заголовке каждого письма присутствует поле Received:, в котором указан сервер, использованный при получении письма, и адрес, с которого письмо попало на этот сервер. Я отправил это сообщение с одного компьютера, подключенного к моей сети, на другой компьютер; этот факт отражен в поле Received:. Как видно из листинга, письмо отправлено с speaker .rodsbooks . com и доставлено на nessus . rodsbooks . com. Компьютер pangaea. edu в передаче письма не участвовал.