Использование telnet для изучения почтовых протоколовПри запуске стандартной утилиты командной строки telnet.exe задается имя или IP-адрес сервера и номер порта или имя службы telnet.exe server.ru - подключение к серверу server.ru (если имя или порт не заданы - используется порт 23/TCP telnet.exe localhost 1023 подключение к серверу localhost на порт 1023 telnet.exe 192.168.1.1 ftp подключение к службе "ftp" сервера 192.168.1.1 telnet.exe - при запуске без параметров утилита будет ожидать ввода дальнейших команд, перечень которых можно получить при вводе ? или help     В связи с тем, что результат выполнения команды telnet, при подключении к несуществующему хосту, на слушаемый TCP-порт или наоборот, не слушаемый, сопровождается разными диагностическими сообщениями, эта утилита часто используется не по своему прямому назначению, а как средство первичной диагностики. При использовании стандартной утилиты из дистрибутива Windows, при попытке подключиться к несуществующему хосту, или существующему, но на порт, который не "слушается" или блокируется брандмауэром, будет получено сообщение Не удается подключиться к узлу на порт NN : сбой подключения. Если выполнить подключение на существующий хост и на порт, принимающий входящие соединения по протоколу TCP ("слушаемый" некоторой службой TCP-порт), то результат выполнения команды может дать информацию для размышления. Так, например, при попытке подключиться к серверу, который не поддерживает подобный TELNET, протокол обмена текстовыми сообщениями, результатом подключения будет пустой экран, и сброс подключения по инициативе сервера, сопровождающийся сообщением: Подключение к узлу утеряно. Картина может немного отличаться, например, при подключении к серверу Real VNC telnet myhost 5900 вместо пустого экрана будет получен текстовый баннер сервера, позволяющий правильно его идентифицировать клиентом (VNC server protocol version - RFB 003.008) RFB 003.008. После нескольких нажатий ENTER сервер сбросит соединение, поскольку ожидает процедуры согласования параметров обмена с клиентом, но не смог их получить за определенное количество попыток. Результат выполнения telnet зависит от того, как реагирует сервер на непонятные ему получаемые от клиента данные. Бывают случаи, что сброс соединения не происходит, и отключиться от сервера можно, нажав комбинацию клавиш CTRL-] для возврата в командный режим telnet, и введя команду quit.     Иная картина наблюдается когда telnet подключается к службе, которая поддерживает обмен текстовыми командами и данными. Примером могут случить почтовые серверы POP3 и SMTP. Здесь уже можно использовать полноценный обмен данными, когда в качестве клиента будет выступать не специальное программное обеспечение, а простой ввод с клавиатуры с использованием telnet. Например, можно использовать telnet для обмена с почтовым сервером по протоколу POP3 (Post Office Protocol ver. 3). Данный протокол используется почтовыми клиентскими программами (Outlook, Outlook Express, The Bat и т.д.) для получения электронной почты, хранящейся в почтовом ящике пользователя. Это простейший протокол, в основе которого лежит обмен текстовыми сообщениями. Кроме цели изучения взаимодействия с почтовым сервером, допустим, необходимо удалить конкретное письмо из почтового ящика, без скачивания его почтовым клиентом. Стандартно сервер POP3 ожидает входящие соединения по протоколу TCP на порт 110 ("слушает" порт tcp/110). Команда telnet для подключения к серверу, например pop.mail.ru telnet pop.mail.ru 110 Если сервер работоспособен, в окне telnet появится его приглашение +OK mPOP POP3 v1.1 Для доступа к почтовому ящику, нужно авторизоваться на данном почтовом сервере с помощью директив user имя пользователя и pass пароль user vasya После чего, сервер предложит ввести пароль: +OK Password required for user vasya Нужно ввести пароль pass qwerty Сервер сообщит результат проверки пароля: +OK vasya@mail.ru maildrop has 10 messages (152527 octets) Подобное сообщение означает, что авторизация выполнена успешно, и в почтовом ящике vasya@mail.ru имеются 10 полученных писем, общим объемом 152527 символов (октетов). Для примера, с помощью telnet можно получить список сообщений директивой list: list В ответ на это, сервер выдаст список и размеры писем в почтовом ящике: +OK 10 messages (152527 octets) 1 48628       1-это порядковый номер, 48628 - размер 2 1829 3 2070 : При необходимости можно посмотреть заголовки писем. Для этого используется команда top порядковый номер, пробел, число строк из тела сообщения top 2 0 В ответ на это, вы увидите заголовок письма, содержащий служебную информацию об отправителе, дате отправки, обратном адресе и некоторые другие данные: Received: from [62.141.94.151] (HELO mx1.ks.pochta.ru) by node7-1.ks.pochta.ru with QIP.RU LMTP for vasya@mail.ru; Fri, 08 Apr 2011 15:18:33 +0400 Received: from mx3.softkey.ru ([217.74.43.68]) : : Для приема писем используется директива retr порядковый номер retr 1 - принять письмо с порядковым номером 1 Для удаления письма, используется директива dele порядковый номер Например, для удаления 2-го письма из списка, полученного директивой list: dele 2 Если удаление прошло успешно, сервер выдаст сообщение: +OK message 2 deleted Оправка электронного письма из командной строки. |
|