Книга: Сетевые средства Linux
Пример сеанса взаимодействия по протоколу POP
Пример сеанса взаимодействия по протоколу 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: <[email protected]>
Delivered-To: [email protected]
Received: from speaker.rodsbooks.com (speaker.rodsbooks.com
[192.168.1.1])
by nessus.rodsbooks.com (Postfix) with SMTP id EB2A01A2BD
for <[email protected]>; Wed, 8 Aug 2001 14:38:26 -0400 (EDT)
Message-Id: <[email protected]>
Date: Wed, 8 Aug 2001 14:38:26 -0400 (EDT)
From: [email protected]
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:
указано, что отправителем письма является пользователь [email protected]
. Тем не менее эти поля заголовка нетрудно подделать. Кроме того, в заголовке каждого письма присутствует поле Received:
, в котором указан сервер, использованный при получении письма, и адрес, с которого письмо попало на этот сервер. Я отправил это сообщение с одного компьютера, подключенного к моей сети, на другой компьютер; этот факт отражен в поле Received:
. Как видно из листинга, письмо отправлено с speaker.rodsbooks.com
и доставлено на nessus.rodsbooks.com
. Компьютер pangaea.edu
в передаче письма не участвовал.
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Пример 17-10. Блочный комментарий
- 4. Стадии бизнес-процесса взаимодействия с клиентами
- Примеры
- 2. Пример создания базового отношения в записи на псевдокоде
- 4.9 Обеспечение взаимодействия устройств Fibre Channel