Презентация URL

advertisement
Электронная почта
Четыре основных компонента




почтовые клиенты пользователей
почтовые серверы
протокол отправки почты: SMTP
протоколы доступа к почтовому ящику:
POP3 или IMAP
2
Клиенты

Функции клиента:




отправка и получение почты
создание, редактирование писем
просмотр писем
Популярные клиенты:




Браузер (у серверов с веб-интерфейсом)
Microsoft Outlook (входит в MS Office)
Mozilla Thunderbird (бесплатная)
The Bat (платная)
3
Почтовые серверы

Функции сервера





хранение писем пользователей (почтовые
ящики)
отправка писем почтовому серверу получателя
или клиенту пользователя (MTA, MDA, MUA)
организация очереди сообщений
Используют протокол TCP
Стандартные порты:
25 - SMTP, 110 - POP3, 143 - IMAP
4
Популярные серверы
Sendmail (бесплатный, Linux /
Windows)
 qmail (бесплатный, Linux)
 Microsoft Exchange Server
(поддерживает Active Directory)
 Postfix
 MDA: dovecot, procmail и maildrop

5
Как происходит доставка
писем?
alisa@mail.ru
bob@b.org
6
Протокол SMTP




используется для транспортировки
электронной почты на почтовый сервер
работает поверх TCP, стандартный порт
сервера 25
посылка почты осуществляется в 3 этапа
 приветствие (рукопожатие)
 пересылка писем
 закрытие сессии
команды – обычный ASCII текст
7
Пример SMTP-сессии
Server:220 Mail.Ru ESMTP
Client: HELO me.ru
Server: 250 mx24.mail.ru ready to serve
Client: MAIL FROM: <I@me.ru>
Server: 250 OK
Client: RCPT TO: <gena@mail.ru>
Server: 250 OK
Client: DATA
Server: 354 Go ahead
Client: Privet, Gena!!!
Pozdravlyau tebya s dnem rojdeniya …
.
Server: 250 Message accepted for delivery
Client: QUIT
Server: 221 mx24.mail.ru closing connection
8
На самом деле было так:
Server:220 Mail.Ru ESMTP
Client: HELO me.ru
Server: 250 mx24.mail.ru ready to serve
Client: MAIL FROM: <I@me.ru>
Server: 250 OK
Client: RCPT TO: <gena@mail.ru>
Server: 250 OK
Client: DATA
Server: 354 Go ahead
Client: Privet, Gena!!!
Pozdravlyau tebya s dnem rojdeniya …
.
Server: 550 spam message discarded. If you think that the system
is mistaken, please report details to abuse@corp.mail.ru
Client: QUIT
Server: 221 mx24.mail.ru closing connection
9
Формат сообщения
электронной почты
From: <адрес отправителя>
To: <адрес получателя>
Subject: <тема>
CC: <список получателей, которым отправится копия>
BCC: <список адресов> (это «слепая копия», то есть
получатели не знают, что это письмо отправлено
еще кому–то)
<Пустая строка>
<Текст письма в семибитной кодировке ASCII>
10
Пример
From: drug@yandex.ru
To: gena@mail.ru
Subject: Pozdravlyau!
Privet, Gena!!!
Pozdravlyau tebya s dnem rojdeniya …
.
11
Кодирование сообщений


MIME (Multipurpose Internet Mail Extension –
многоцелевое расширение почты Интернета) —
стандарт, описывающий передачу различных типов
данных по электронной почте
В заголовок сообщения добавляются строки:





MIME–Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=“Windows-1251”
Другие значения поля Content-Type: text/html,
image/gif, image/jpeg, multipart/mixed
Другие значения поля Content-Transfer-Encoding:
7bit, 8bit, binary, base64, quoted-printable
12
Base64
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Пример:
Компьютерные сети!
0JrQvtC80L/RjNGO0YLQtdGA0L3Ri9C1INGB0LXRgtC4IQ==
13
Дополнения (attachments)
From: drug@yandex.ru
To: gena@mail.ru
Subject: Pozdravlyau!
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=“----------F9876678DDB9”
----------F9876678DDB9
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: 8bit
Privet, Gena!!!...
----------F9876678DDB9
Content-Type: image/jpg; name=“otkritka.jpg”
Content-transfer-encoding: base64
Content-Disposition: attachment; filename=“otkritka.jpg”
base64 encoded data .....
----------F9876678DDB9
14
Доступ к письмам в почтовом
ящике

POP3 - Post Office Protocol; порт сервера 110



IMAP: Internet Mail Access Protocol [RFC 1730]; порт
сервера 143




авторизация и скачивание сообщений с сервера
«толстый почтовый клиент»
больше возможностей, более сложный
позволяет управлять сообщениями на сервере
«тонкий почтовый клиент»
HTTP: mail.ru, yandex.ru, gmail.com

«сверхтонкий почтовый клиент»
15
Протокол POP3
S: +OK
C: USER kto_to
S: +OK Password required for user kto_to
C: PASS 123456
S: +OK
C: STAT
S: +OK 118 6286336
C: LIST
S: +OK 118 messages (6286336 octets)
1 1203
2 534
3 1200432
и т.д.
.
16
Протокол POP3
C: UIDL
S: +OK 118 messages (6286336 octets)
1 4323549873
2 5243509832
3 9653582120
и т.д.
.
C: RETR 115
S: +OK 2259 octets
сообщение
.
C: DELE 115
C: QUIT
S: +OK POP3 server at mail.ru signing off
17
Протокол IMAP

Письма хранятся на сервере, а не на клиенте.
Клиент запрашивает только заголовки писем!

Возможен доступ (даже одновременный) к одному и
тому же почтовому ящику с разных клиентов

Возможно создание общих папок, к которым могут
иметь доступ несколько пользователей

Поддержка поиска на сервере

Поддержка онлайн-работы
18
Доступ к электронной почте
через веб-интерфейс



Клиент пользователя – веб-браузер
Письмо передается веб-серверу по
протоколу HTTP, который вызывает CGIприложение, отправляющее письмо
адресату
Другой вариант: браузер обращается к
веб-сокет-серверу, который отправляет
почту
19
Спам

Виды:






Реклама
Антиреклама
Нигерийские письма
Фишинг
Автоматический поиск email-адресов
Средства борьбы: фильтрация
20
Служба передачи
файлов FTP
FTP – File Transfer Protocol
Протокол передачи файлов





просмотр содержимого каталогов
передача файлов на сервер и обратно
клиент - тот, кто инициирует передачу
 веб-браузер, plugin’ы в файловых
менеджерах, проводник, WinSCP, FileZilla …
сервер - программа на удаленном компьютере
 ftpd, FileZilla, Serv-U, Titan FTP Server,
freeFTPd, …
стандартный порт сервера: 21
Запрос в клиенте:
ftp://user:password@ftp.server.ru
22
Клиент FTP в Total Commander
23
Схема работы
FTP
клиент





постоянное
управл. соед.
временное
соед. данных
21
FTP
сервер
FTP-клиент устанавливает TCP-соединение с 21 портом
сервера (это т.н. управляющее соединение)
Клиент авторизуется
Клиент просматривает содержимое каталогов на
удаленном сервере, посылая соответствующие команды
Когда сервер получает команду «передать файл», он
открывает новое TCP-соединение с клиентом (соединение
данных), по которому затем происходит передача
После окончания передачи сервер закрывает соединение
24
данных и опять готов служить клиенту
Активный и пассивный FTP
Активный
FTP
клиент
Случ.
порт
постоянное
управл. соед.
21
Случ.
порт
временное
соед. данных
20
FTP
сервер
Пассивный
FTP
клиент
Случ.
порт
постоянное
управл. соед.
Случ.
порт
21
временное
соед. данных
Случ.
порт
FTP
сервер
25
Команды клиента и ответы
сервера
S:
C:
S:
C:
S:
220 r321-01.mmcs.rsu.ru FTP server (NetBSD-ftpd) ready.
USER kto-nibud
331 Password required for kto-nibud.
PASS 1234567
230FreeBSD 7.0-RELEASE (GENERIC) #0: Feb 24 10:35:36
Welcome to FreeBSD!
S: 230 User kto-nibud logged in.
C: SYST
S: 215 UNIX Type: L8 Version: NetBSD-ftpd 20051124
C: PWD
S: 257 "/home/guda" is the current directory.
C: PASV
S: 227 Entering Passive Mode (212,193,209,241,240,214) 26
Команды клиента и ответы
сервера
C: LIST
S: 150 Opening ASCII mode data connection for '/bin/ls'.
По соединению данных сервер отправил:
total 5
-rw------- 1 kto-nibud 100 5790 Jul 15 23:37 .bash_history
-rw-r--r-- 1 kto-nibud 100 925 Apr 29 18:48 .profile
-rw------- 1 kto-nibud 100 721 Jul 15 12:00 .viminfo
-rw-r--r-- 1 kto-nibud 100 107 Jul 5 10:25 dig
drwxr-xr-x 2 kto-nibud 100 512 Apr 29 18:49 public_html
S: 226 Transfer complete.
C: RETR dig
S: 150 Opening BINARY mode data connection for ‘dig' (107
bytes).
По соединению данных сервер отправил файл dig
S: 226 Transfer complete.
27
Домашнее задание (простое)


Найдите в настройках вашего почтового клиента
(если у вас такого нет, установите какой-нибудь)
 какой smtp-сервер он использует для отправки почты
 с какого сервера он забирает почту
Попробуйте перехватить передаваемое клиентом
письмо при помощи сниффера. Пользуется ли ваш
клиент командой HELO при рукопожатии или он
отправляет EHLO? Что отвечает ему сервер?
Найдите поля, отвечающие за авторизацию на вашем
почтовом сервере.
 Как кодируются ваши сообщения?
 Сможете ли вы защитить свою корреспонденцию от
перехвата?
28
Домашнее задание
(простое)

Проведите эксперимент и выясните какие
команды передаются при активном
режиме FTP передачи файлов.
29
Домашнее задание (10б)

Создайте простую форму и напишите CGIприложение (на С++) для оправки почты
администратору по протоколу SMTP
30
Download