Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Пример сеанса взаимодействия по протоколу POP

На самом деле POP — это несколько взаимодействующих между собой протоколов. На сегодняшний день наиболее популярна версия POP-3, которая использует TCP-порт 110. (Более ранняя версия POP-2 использовала порт 109.) Подобно многим другим протоколам, применяемым в Internet, POP-взаимодействие основано на обмене текстовыми сообщениями между клиентом и сервером. В POP-3 предусмотрено более десяти команд. Среди них можно отметить команды

USER
(указание имени пользователя),
PASS
(указание пароля),
RETR
(получение сообщения),
DELE
(удаление сообщения) и
QUIT
(завершение сеанса). Пример простого
сеанса POP-взаимодействия, в ходе которого клиент получает с сервера одно письмо, представлен в листинге 11.1. В данном примере для обращения к серверу POP-3 и ввода необходимых команд вручную использовалась клиентская программа
telnet
. Программы просмотра почты скрывают от пользователя реальный ход обмена и предоставляют лишь конечные результаты.

Листинг 11.1. Пример сеанса взаимодействия по протоколу POP-3

$ telnet nessus 110

Trying 192.168.1.3...

Connected to nessus.rodsbooks.com.

Escape character is '^]'.

+OK POP3 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 сообщения идентифицируются по номерам. В данном примере на сервере присутствует лишь одно сообщение; на это указывает строка

+OK mailbox open, 1 messages
. Номер сообщения указывается при его передаче клиенту (команда
RETR 1
) и удалении (команда
DELE 1
). Протоколом POP не предусмотрена передача части сообщения: оно должно передаваться целиком либо не передаваться вовсе. Средства определения длины сообщения, адреса отправителя и получения другой информации в данном протоколе отсутствуют. Интересующие вас характеристики письма можно узнать лишь после того, как оно будет скопировано на клиентскую машину. В данном примере объем заголовка (в котором указывается адрес отправителя, дата и другие сведения) превышает объем тела сообщения. При передаче реальных писем тело сообщения, как правило, значительно больше его заголовка.

На заметку

Анализируя заголовок письма в листинге 11.1, нетрудно заметить одну особенность, которая обеспечивает гибкость в работе почтовой системы, но в то же время затрудняет определение реального отправителя письма. В полях

From:
и
Return-Path:
указано, что отправителем письма является пользователь
ben@pangaea.edu
.
Тем не менее эти поля заголовка нетрудно подделать. Кроме того, в заголовке каждого письма присутствует поле
Received:
, в котором указан сервер, использованный при получении письма, и адрес, с которого письмо попало на этот сервер. Я отправил это сообщение с одного компьютера, подключенного к моей сети, на другой компьютер; этот факт отражен в поле
Received:
. Как видно из листинга, письмо отправлено с
speaker.rodsbooks.com
и доставлено на
nessus.rodsbooks.com
. Компьютер
pangaea.edu
в передаче письма не участвовал.

Пример сеанса взаимодействия по протоколу IMAP

Как и POP, IMAP представляет собой протокол получения почты, однако IMAP позволяет использовать расширенные средства управления сообщениями. Применяя IMAP, пользователь, перед тем как копировать письма на свой компьютер, может ознакомиться с их заголовками. Наличие дополнительных возможностей предполагает реализацию дополнительных команд; таковых в IMAP-4 предусмотрено больше двадцати. (IMAP-4 является текущей версией данного протокола и использует при работе порт 143.) Пример сеанса взаимодействия по протоколу IMAP приведен в листинге 11.2. В ходе этого сеанса достигается такой же результат, как и при использовании протокола POP (листинг 11.1). Отличие лишь в том, что листинг 11.2 включает команду копирования сообщения в папку IMAP.

Листинг 11.2. Пример сеанса IMAP-4

$ telnet nessus 143

Trying 192.168.1.3...

Connected to nessus.rodsbooks.com.

Escape character is '^]' .

* OK nessus.rodsbooks.com IMAP4rev1 v12.264.phall server ready

A1 LOGIN rodsmith password

A1 OK LOGIN completed

A2 SELECT Inbox

* 1 EXISTS

* NO Trying to get mailbox lock from process 29559

* 1 RECENT

* OK [UIDVALIDITY 997295985] UID validity status

* OK [UIDNEXT 4] Predicted next UID

* FLAGS (\Answered \Flagged \Deleted \Draft \Seen)

* OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft \Seen)]

Permanent flags

* OK [UNSEEN first unseen message in /var/spool/mail/rodsmith

A2 OK [READ-WRITE] SELECT completed

A3 FETCH 1 BODY [HEADER]

* 1 FETCH (BODY[HEADER] {494}

>From rodsmith Wed Aug 8 16:02:47 2001

Return-Path:

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 2C7121A2BD

 for <rodsmith@nessus.rodsbooks.com>; Wed, 8 Aug 2001 16:02:25 -0400 (EDT)

Message-Id: <20010808200225.2C7121A2BD@nessus.rodsbooks.com>

Date: Wed, 8 Aug 2001 16:02:25 -0400 (EDT)

From: ben@pangea.edu

To : undisclosed-recipients: ;

)

* 1 FETCH (FLAGS (\Recent \Seen))

A3 OK FETCH completed

A4 FETCH 1 BODY [TEXT]

* 1 FETCH (BODY[TEXT] {25}

This is a test message.

Поделиться с друзьями: