Plan wykładu. 1. Poczta elektroniczna protokół SMTP, protokół POP, protokół IMAP. 2. Zdalna praca - Telnet. 3. Transfer plików usługa FTP.



Podobne dokumenty
Usługa TIME. 77 8A. Usługa jest dostępna zarówno za pośrednictwem TCP i UDP

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Java Enterprise Edition spotkanie nr 1 (c.d.) JavaMail

Sieci Komputerowe. Protokół POP3. Protokół IMAP4 Internet Mail Access Protocol version 4. dr Zbigniew Lipiński

Przykład usługi internetowej

Java wybrane technologie

PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ

B.B. Połączenie kończy polecenie exit.

Bezpieczeństwo poczty elektronicznej

1. Model klient-serwer

Lab5 - Badanie protokołów pocztowych

Budowa wiadomości SMTP. autorzy: Aleksandra Wichert Marcin Żurowski

Laboratorium 3.4.3: Usługi i protokoły

Sieci komputerowe i bazy danych

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2012 POCZTA ELEKTRONICZNA PROTOKÓŁ SMTP PRZYKŁADY KOMUNIKACJI

Architektura aplikacji sieciowych. Architektura klient-serwer

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Teoria sieci komputerowych

1. FTP 2. SMTP 3. POP3

Programowanie Sieciowe 2 Protokoły komunikacyjne: FTP

TIN Techniki Internetowe lato 2015

SMTP co to takiego? SMTP Simple Mail Transfer Protocol (Protokół Prostego Przesyłania Poczty) RFC 2821

Protokoły komunikacyjne

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

INFORMATYKA dla kierunku MECHATRONIKA

Dr Michał Tanaś(

Poczta elektroniczna. Podstawowe protokoły:

Sieci komputerowe Warstwa aplikacji

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

INICJUJ. DHCPNACK LUB skończył się czas wynajmu PRZEWIĄŻ

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Bazy Danych i Usługi Sieciowe

Instrukcja obsługi serwera FTP v

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

Instrukcja konfiguracji funkcji skanowania

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Blok I6 Poczta elektroniczna, szyfrowanie i podpis elektroniczny

Blok I6 Nowoczesne postaci dokumentów - tworzenie i wymiana dokumentów komputerowych

Serwer poczty Postfix. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Stos TCP/IP. Warstwa aplikacji cz.2

Bezpieczeństwo poczty elektronicznej

Protokoły zdalnego logowania Telnet i SSH

Protokoły Internetowe

FTP File Transfer Protocol

Sieci komputerowe. Wstęp

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Laboratorium - Poznawanie FTP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Manual konfiguracji konta dla fax2mail

Technologie internetowe

Sieci komputerowe. Wykład 9: Poczta elektroniczna. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Projekt e-deklaracje 2

Testy penetracyjne Przykłady programów

Protokoły sieciowe - TCP/IP

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

SERWERY WIRTUALNE Stabilność, szybkość i bezpieczeństwo danych...

Warstwa aplikacji. Model TCP/IP Model OSI

Model sieci OSI, protokoły sieciowe, adresy IP

Technologie cyfrowe semestr letni 2018/2019

ZiMSK. Konsola, TELNET, SSH 1

Poczta elektroniczna

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Seria: Teleinformatyka PROTOKÓŁ I SERWER FTP PRZYKŁADY KOMUNIKACJI Z SERWEREM FTP

Bazy danych i usługi sieciowe

Propozycje projektów (gniazdka)

Tomasz Greszata - Koszalin

SK Moduł 12 - Studia Informatyczne

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Zakładanie konta

FTP Protokół przesyłania plików. Autor: Sebastian Paja IVFDS

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Programowanie w Internecie

Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii. Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE

Dokumentacja SMS przez FTP

Adres IP

Ochrona poczty elektronicznej przed spamem. Olga Kobylańska praca dyplomowa magisterska opiekun pracy: prof. nzw.. dr hab.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

ZAPIS MAILA WG. RFC MAIL

Protokół FTP Protokół FTP

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Architektura typu klient serwer: uproszczony klient POP3

Bazy Danych i Usługi Sieciowe

Laboratorium Protokoły sieci teleinformatycznych

Usługi sieciowe systemu Linux

SPAM studium przypadku

Instalacja i konfiguracja serwera SSH.

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: Skanowanie sieci

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Linux -- u mnie działa!

Transkrypt:

Plan wykładu 1. Poczta elektroniczna protokół SMTP, protokół POP, protokół IMAP. 2. Zdalna praca - Telnet. 3. Transfer plików usługa FTP. 1

Poczta elektroniczna 1. Wysyłanie wiadomości e-mail protokół SMTP (Simple Mail Transfer Protocol). 2. Odbiór wiadomości e-mail propokół POP (Post Ofce Protocol) lub IMAP (Internet Mail Access Protocol). nadawca serwer SMTP Serwer SMTP oraz POP lub IMAP adresat 2

Protokół SMTP Protokół SMTP [RFC 2821, 821, 2554] jest wykorzystywany do wysyłania wiadomości e-mail. Port 25. Przykładowe połączenie: [serwer] 220 theta.uoks.uj.edu.pl ESMTP Sendmail 8.13.1/8.13.1; Mon, 11 Oct 2004 10:19:30 +0200 (CEST) [klient] EHLO [127.0.0.1]<CRLF> [serwer] 250-theta.uoks.uj.edu.pl Hello rhamnus.if.uj.edu.pl [149.156.74.158], pleased to meet you 250-ENHANCEDSTATUSCODES... 250-AUTH LOGIN PLAIN... 250 HELP [klient] AUTH PLAIN <BASE64(login<0x00>has o)><crlf> 3

Kodowanie Base64 Alfabet Base64 [RFC 1521] 0 A 8 I 16 Q 24 Y 32 g 40 o 48 w 56 4 1 B 9 J 17 R 25 Z 33 h 41 p 49 x 57 5 2 C 10 K 18 S 26 a 34 i 42 q 50 y 58 6 3 D 11 L 19 T 27 b 35 j 43 r 51 z 59 7 4 E 12 M 20 U 28 c 36 k 44 s 52 0 60 8 5 F 13 N 21 V 29 d 37 l 45 t 53 1 61 9 6 G 14 O 22 W 30 e 38 m 46 u 54 2 62 + 7 H 15 P 23 X 31 f 39 n 47 v 55 3 63 / (pad) = kodowanie: ala ma kota a (0x61) l (0x6C) a (0x61) (0x20) m (0x6D) a (0x61) 01100001 01101100 01100001 00100000 01101101 011000001 (0x20) k (0x6B) o (0x6F) t (0x74) a (0x61) 00100000 01101011 01101111 01110100 01100001 00 wynik: YWxhIG1hIGtvdGE= 4

Protokół SMTP [serwer]235 2.0.0 OK Authenticated [klient]mail FROM:<nadawca@adres.email><CRLF> [serwer]250 2.1.0 <nadawca@adres.email>... Sender ok [klient]rcpt TO:<adresat@adres.email><CRLF> [serwer]250 2.1.5 <adresat@adres.email>... Recipient ok [klient]data<crlf> [serwer]354 Enter mail, end with "." on a line by itself 5

Protokół SMTP [klient]date: Mon, 11 Oct 2004 10:19:24 +0200<CRLF> User-Agent: cokolwiek<crlf> X-Accept-Language: en-us, en<crlf> MIME-Version: 1.0<CRLF> From: ktokolwiek <dowolny@adres.email><crlf> To: inny@adres.email<crlf> Subject: jakis temat<crlf> Content-Type: text/plain; charset=us-ascii<crlf> Content-Transfer-Encoding: 7bit<CRLF><CRLF> tekst testowego maila<crlf>.<crlf> [serwer]250 2.0.0 Message accepted for delivery [klient]quit<crlf> [serwer]221 2.0.0 theta.uoks.uj.edu.pl closing connection [serwer] Zakończenie połączenia. 6

Protokół POP Protokół POP [RFC 1939] jest używany do odbierania wiadomości e- mail znajdujących sie na serwerze. Port 110. Przykładowe połączenie: [serwer] +OK <processid.clock@hostname><crlf> [klient] USER u ytkownik<crlf> [serwer] +OK<CRLF> [klient] PASS has o<crlf> [serwer] +OK<CRLF> [klient] STAT<CRLF> [serwer] 2 540<CRLF> // ilość wiadomości i ich rozmiar w oktetach 7

Protokół POP [klient]list<crlf> [serwer]+ok<crlf>1 120<CRLF>2 420<CRLF> [klient]list 3<CRLF> [serwer]+err ewentualnie powód b [klient]retr 1<CRLF> [serwer]+ok<crlf> <wiadomo e-mail><crlf> [klient]dele 1<CRLF> [serwer]+ok<crlf> [klient]quit<crlf> [serwer]+ok<crlf> [serwer]zako czenie po czenia du<crlf> 8

Protokół POP Inne komendy: RSET odznacza wszystkie wiadomości przeznaczone do skasowania, NOOP podtrzymuje połączenie, Komendy opcjonalne: TOP msg n zwraca nagłówek oraz n początkowych lini wiadomości msg, UIDL msg zwraca unikalny identyfkator wiadomości, APOP login kod inny sposób autoryzacji. Pierwszy argument stanowi nazwę użytkownika, drugi to kod MD5 z połączenia <processid.clock@hostname> oraz ustalonego wcześniej wyrażenia znanego klientowi i serwerowi. 9

Kod MD5 MD5 (Message Digest Algorithm) [RFC 1321] oblicza 128 bitowy kod dla zbioru danych. Kod ten może być traktowany jak cyfrowy podpis (fngerprint) danych. Na podstawie kodu praktycznie nie można odtworzyć oryginalnych danych ponieważ wygenerowanie informacji posiadającej określony kod MD5 wymaga w praktyce 2^128 operacji. Opis algorytmu: dane wejściowe: m[0] m[1] m[2]... m[b-2] m[b-1] b bitów 1. Uzupełnianie danych. Dopisujemy na końcu bity 100000... tak aby długość danych modulo 512 była równa 448. Uzupełnienie wykonujemy także wtedy, gdy dane wejściowe mają już taką długość. 10

Kod MD5 2. Podział na 32 bitowe słowa. Dopisujemy początkowy rozmiar danych (b) zapisany w dwóch 32-bitowych słowach, mniej znaczące słowo najpierw (1TB = 243 bitów). Niech M[0] M[1]... M[N-1] oznaczają kolejne 32 bitowe słowa otrzymanych danych. N jest wielokrotnością 16. 3. Inicjalizacja obliczeń. Niech: A = 01 23 45 67 B = 89 ab cd ef C = fe dc ba 98 D = 76 54 32 10 F(X,Y,Z) = X and Y or not(x) and Z G(X,Y,Z) = X and Z or Y and not(z) H(X,Y,Z) = X xor Y xor Z I(X,Y,Z) = Y xor (X v not(z)) T[i] = 4294967296 abs( sin(i) ) // 0 < i < 65; 11

Kod MD5 4. Obliczenia. For i = 0 to N/16-1 do For j = 0 to 15 do Set X[j] to M[i*16+j]. end /* p tla po j */ AA = A; BB = B; CC = C; DD = D /* Cz 1. */ /* Niech [abcd k s i] oznacza operacj a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). Wykonaj:*/ [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16] /* Cz 2. */... /* Cz 3. */... /* Cz 4. */ A = A + AA; B = B + BB; C = C + CC; D = D + DD end /* p tla po i */ 12

Kod MD5 4. Wynik. Kodem MD5 jest wyrażenie A B C D zapisane w kolejności od najmniej znaczącego bitu A do najbardziej znaczącego bitu D. W systemie linux istnieje komenda md5 wyliczająca kod dla podanego pliku. 13

Protokół IMAP Protokół IMAP [RFC 2060] jest używany do przeglądania wiadomości e-mail przechowywanych na serwerze. Port 143. Przykładowe połączenie: [serwer] * OK IMAP4rev1<CRLF> [klient] 1 capability [serwer] * CAPABILITY IMAP4REV1 AUTH=LOGIN<CRLF> 1 OK CAPABILITY completed<crlf> [klient] 2 authenticate login<crlf> [serwer] + VXNlciBOYW1lAA==<CRLF> [klient] <Base64(u [serwer] UGFzc3dvcmQA<CRLF> [klient] <Base64(has ytkownik)><crlf> o)><crlf> // Base64(User Name) // Base64(Password) 14

Protokół IMAP [serwer]* OK [ALERT] Account expires in 14 day(s)<crlf> inna autoryzacja: 2 login u ytkownik has o <CRLF> [klient]3 select INBOX <CRLF> [serwer]* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent) * 2 EXISTS * 0 RECENT * OK [UIDVALIDITY 1053533958] Ok 3 OK [READ-WRITE] Ok<CRLF> [klient]4 UID FETCH 1:* (FLAGS)<CRLF> [serwer]* 1 FETCH (UID 1082 FLAGS (\Seen))<CRLF> * 2 FETCH (UID 1210 FLAGS (\Answered \Seen))<CRLF> 4 OK FETCH completed.<crlf> 15

Protokół IMAP [klient]5 UID FETCH 1210 (UID RFC822.SIZE BODY[])<CRLF> [serwer]* 283 FETCH (UID 1583 RFC822.SIZE 1180 BODY[] {1180}<CRLF> [serwer]<wiadomo email><crlf> * 283 FETCH (FLAGS (\Seen \Recent))<CRLF> 5 OK FETCH completed.<crlf> [klient]6 LOGOUT<CRLF> [serwer]* BYE<CRLF> 6 OK logout completed.<crlf> [serwer]zako czenie po czenia. 16

Protokół IMAP Wiadomości na serwerze IMAP są grupowane w katalogach, podobnie jak pliki na dysku. Większość komend protokołu IMAP umożliwia poruszanie się i wykonywanie odpowiednich operacji na tej strukturze: CREATE, DELETE, RENAME operacje na katalogach (folderach), STORE, COPY, EXPUNGE operacje na wiadomościach. X... - komendy rozszerzające funkcje protokołu IMAP. Odpowiedzi serwera: OK operacja wykonana pomyślnie, NO wystąpił problem, BAD niewłaściwa komenda. 17

Popularne serwery pocztowe SMTP (Mail Transfer Agent): Sendmail (http://www.sendmail.org/), Qmail (http://www.qmail.org/), Postfx (http://www.postfx.org/), POP, IMAP courier-imap (http://www.courier-mta.org/imap/) Zarządzanie domenami wirtualnymi vpopmail (http://www.inter7.com/index.php?page=vpopmail), mysql (http://www.mysql.com). 18

Polecenie Telnet Protokół Telnet [RFC 854] jest/był wykorzystywany głównie pracy terminalowej poprzez port 23. Za pomocą programu klienta usługi Telnet można się także połączyć z dowolnym innym portem na serwerze, np. telnet theta.uoks.uj.edu.pl 25 Komendy wpisywane ze standardowego wejścia (klawiatury) są wysyłane bezpośrednio do wskazanej usługi (SMTP) na serwerze zdalnym. Odpowiedzi są kierowane na standardowe wyjście (ekran). 19

Protokół FTP Protokół FTP (File Transfer Protocol) [RFC 959] umożliwia przesyłanie plików tekstowych i binarnych. Serwer FTP działa na porcie 21. [serwer] 220 serwer.adres FTP server ready. [klient] [serwer] [klient] [serwer] [klient] USER użytkownik<crlf> 331 Password required for użytkowinik. PASS hasło<crlf> 230 User użytkownik logged in. SYST<CRLF> [serwer] 215 UNIX Type: L8 Version: Compaq Tru64 UNIX V5.0 20

Protokół FTP [klient] [serwer] [klient] PASV<CRLF> 227 Entering Passive Mode (ip1,ip2,ip3,ip4,port1,port2) LIST<CRLF> [serwer] 150 Opening ASCII mode for data connection for /bin/ls (0.0.0.0,0) dane są przesyłane na innym porcie. Port 21 będzie przeznaczony tylko dla komunikatów kontrolnych. W celu odebrania danych należy otworzyć nowe połączenie z adresem: ip1.ip2.ip3.ip4:port1*256+port2. [serwer] 226 Transfer complete. 21

Tryb pasywny i tryb aktywny Protokół FTP wykorzystuje dwa połączenia TCP. Jedno służy do przesyłania poleceń, drugie do przesyłania danych. Tryb aktywny: port 21 polecenia, port 20 dane (połączenie z klientem inicjowane przez serwer!). Tryb pasywny: port 21 polecenia port o numerze > 1024 dane obydwa połączenia inicjowane przez klienta 22

Protokół FTP [klient] [serwer] [klient] [serwer] [serwer] [klient] [serwer] [serwer] PASV<CRLF> 227 Entering Passive Mode (ip1,ip2,ip3,ip4,port1,port2) RETR jakis.plik<crlf> 150 Opening BINARY mode data connection for jakis.plik (0.0.0.0,0)... 226 Transfer complete. QUIT<CRLF> Goodbye. Zakończenie połączenia. 23

Serwery FTP proftpd vsftpd (http://www.proftpd.org) (http://vsftpd.beasts.org) Serwer ftp może korzystać z lokalnej bazy użytkowników (konta na serwerze) lub też autoryzować użytkownika poprzez inny niezależny mechanizm. Dostęp do ftp bez powłoki: modyfkacja /etc/passwd: ciesla:x:1002:21::/var/ftp/ciesla:/bin/false Autoryzacja lokalna przez PAM, plik /etc/pam.d/ftp #%PAM-1.0 auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required /lib/security/pam_unix.so shadow nullok #auth required /lib/security/pam_shells.so account required /lib/security/pam_unix.so session required /lib/security/pam_unix.so. 24

Podsumowanie Na wykładzie zostały omówione usługi wykorzystywane do odbierania poczty elektronicznej, zdalnej pracy terminalowej oraz transmisji plików tekstowych i binarnych. 25

Dodatek: Kod MD5 /* Część 2. */ /* Niech [abcd k s i] oznacza operację a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */ [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24] [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28] [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32] /* Część 3. */ /* Niech [abcd k s i] oznacza operację a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */ [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48] /* Część 4. */ /* Niech [abcd k s i] oznacza operację a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */ [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64] 26