CS2911 Week 6, Class 2 Today Return Quiz 3 Review Muddiest Point Internet Message ( ) format SMTP IMAP Muddiest Point Week 7, Monday: Half-Exam 2 1.

Slides:



Advertisements
Similar presentations
1 Electronic Mail u Three major components: u user agents u mail servers u simple mail transfer protocol: SMTP u User Agent u a.k.a. “mail reader” u composing,
Advertisements

CPSC 441: FTP & SMTP1 Application Layer: FTP & Instructor: Carey Williamson Office: ICT Class.
Simple Mail Transfer Protocol (SMTP) CS-328 Dick Steflik.
Chapter 30 Electronic Mail Representation & Transfer
Esimerkki: Sähköposti. Lappeenranta University of Technology / JP, PH, AH Electronic Mail Three major components: user agents mail servers simple mail.
Simple Mail Transfer Protocol
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
POP Configuration Microsoft Outlook What is POP? Short for Post Office Protocol, a protocol used to retrieve from a mail server. Most.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
SMTP, POP3, IMAP.
1 Application Layer Lecture 5 Imran Ahmed University of Management & Technology.
Mail Services.
CSE401N: Computer Networks Lecture-5 Electronic Mail S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Intro to Computer Networks Bob Bradley The University of Tennessee at Martin.
Review: –How do we address “a network end-point”? –What services are provided by the Internet? –What is the network logical topology observed by a network.
Application Layer Protocols Simple Mail Transfer Protocol.
Lecturer: Maxim Podlesny Sep CSE 473 File Transfer and Electronic in Internet.
© 2010 Computer Science Faculty, Kabul University ELECTRONICE MAIL CONTINUED… 6 TH LECTURE 9, May, 2010 Baseer Ahmad Baheer.
Application Protocols: ELECTRONIC MAIL (SMTP, POP) CSNB534 Semester 2, 2007/2008 Asma Shakil.
Chapter 10 Intro to Routing & Switching.  Upon completion of this chapter, you should be able to:  Explain how the functions of the application layer,
Electronic Mail. Familiar to most of us 4 What are the functions we expect? –Outgoing mail Compose send –compress –encrypt –Incoming Mail read forward.
Sending and Receiving Mails
Simple Mail Transfer Protocol (SMTP)
Electronic Mail. Familiar to most of us 4 What are the functions we expect? –Outgoing mail Compose send –compress –encrypt –Incoming Mail read forward.
File Transfer Protocol (FTP)
05/19/2003 Christiane Schmidt 1 IMAP internet message access protocol.
1 SMTP - Simple Mail Transfer Protocol –RFC 821 POP - Post Office Protocol –RFC 1939 Also: –RFC 822 Standard for the Format of ARPA Internet Text.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
CS2910 Week 1, Class 2 Today Announce Prof. Michael Vieau’s S-341 6p Thurs Wk 2 Assignment for tomorrow Data Encoding, Part 1 Parsing Data Muddiest Point.
CS2910 Week 1, Class 1 Today Introductions Class/Lab Layout Safety Review - Note about Lab Safety Review Announce Prof. Michael Vieau’s S-341 6p Thurs.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
CS2910 Week 5, Class 2 Today DNS Muddy Points More HTTP Headers Review for Midterm Exam This coming Monday: Midterm Exam SE-2811 Slide design: Dr. Mark.
SMTP - Simple Mail Transfer Protocol RFC 821
CITA 310 Section 6 Providing Services (Textbook Chapter 8)
CS2910 Week 7, Lab Today SMTP lab Tuesday (Either today or yesterday) Extra office hour at 11 am (right after lab) Friday Office hour cancelled SE-2811.
CS440 Computer Networks 1 Neil Tang 12/01/2008.
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
CS2910 Week 4, Class 1 Today Encoding in Python – Review Quiz – Encoding in Python Introduction to HTTP SE-2811 Slide design: Dr. Mark L. Hornick Content:
COMP 431 Internet Services & Protocols
CS2910 Week 7, Class 2 Today Quiz on encodings IMAP Encoding "Internet Messages" Tomorrow Office hour cancelled Monday Quiz on IMAP SE-2811 Slide design:
CS2910 Week 4, Class 2 Today Sit by someone you have not yet worked with this quarter. Learn his/her name if unknown. Turn on your laptop and start Wireshark.
CS2910 Week 7, Class 1 Today Capturing SMTP with Thunderbird Tomorrow Extra office hour at 11 am (right after lab) Friday Office hour cancelled SE-2811.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
درس مهندسی اینترنت – مهدی عمادی مهندسی اینترنت برنامه‌نویسی در اینترنت 1 SMTP, FTP.
CS2911 Week 6, Lab Today Quiz 3 Review Muddiest Point Finish Lab 6 Start Lab 7 Muddiest Point This week, Lab: Quiz at start of lab Week 7, Monday: Half-Exam.
CS2911 Week 3, Class 2 Today Return Lab 3 Afternoon section: Hand out Lab 4 Checklist Review Muddiest Point Questions on Lab 4? What is a protocol? The.
SMTP - Simple Mail Transfer Protocol POP - Post Office Protocol
CS2911 Week 4, Class 3 Today Next Class: DNS – Domain Name Service
CS2911 Week 6, Class 1 Today Map (dict) objects in Python
CS2911 Week 6, Class 1 Today This week, Lab: Quiz at start of lab
Slide design: Dr. Mark L. Hornick
CS2911 Week 6, Class 1 Today Map (dict) objects in Python
Slide design: Dr. Mark L. Hornick
Chapter 2: Application layer
The Application Layer: SMTP, FTP
CS2911 Week 5, Class 3 Today Week 6, Lab: Quiz at start of lab
Slide design: Dr. Mark L. Hornick
CS2911 Week 6, Class 1 Today Map (dict) objects in Python
CS2911 Week 2, Class 3 Today Return Lab 2 and Quiz 1
CS2911 Week 3, Class 3 (And wk4-c1)
Chapter 7 Network Applications
CS2911 Week 3, Lab Today Thursday Friday Review Muddiest Point Lab 3
Slide design: Dr. Mark L. Hornick
Chapter 2 Application Layer
CS2911 Week 8, Class 1 Today Week 8, Lab period Muddiest Point
CS2911 Week 5, Class 3 Today Next Class: DNS – Domain Name Service
Presentation transcript:

CS2911 Week 6, Class 2 Today Return Quiz 3 Review Muddiest Point Internet Message ( ) format SMTP IMAP Muddiest Point Week 7, Monday: Half-Exam 2 1 CS2911 Dr. Yoder

Muddiest Point 5-1 when the client sends an " " over a SMTP, then selects the AUTH LOGIN option, are they actually sending the ASCII chars VXN1cm or actually that then gets encrypted? Base64 and Encryption If we want to play around with networking in other languages, would it be possible to get help setting those up in office hours? [Yes] Beyond scope of class, but yes! I don't have questions yet because I don't know what I don't understand... if that makes sense. I am sure as I delve into the lab I will encounter questionsNone… yet 2

Muddiest Point 5-1 What role will MX play now? DNS and SMTP I think I'll just need to muddy through writing some code myself to fully understand.None… yet can we take two half exams in one class period? Exam format What would be the best way to prepare for the coding portion of the quiz tomorrow? [See ] Quiz Practice 3

Muddiest Point 5-1 at the end, you told us that we needed that code to setup the socket for lab 7. I noticed that that slide was not part of our printout though, if we need code from the slides, can you include them in the printout please? 4

Questions on Lab 7? Installing pytz and tzlocal? Be sure to check "Install Python 3.5 on path" when installing Python! Encryption and base-64 encoding? Transition to encrypted socket? Design for Lab 7? Anticipate repeating code? CS2911 Dr. Yoder 5

Outcomes Describe the roles of the SMTP, IMAP, and POP3 protocols Describe the operation of the SMTP protocol Explain how SMTP and IMAP are used, and the server configuration used in contemporary settings  Describe the differences between POP3 and IMAP 6

Outcomes  Describe the operation of the IMAP protocol at a high level  Describe the basic format of Internet Messages ( ) Describe how character sets are encoded in in internet messages (Lab 7) Program an interface in Python 7

IMAP Hierarchy of folders Selective listing, fetching, and searching Even selective download of part of a message Uploading, copying, and deleting messages Simultaneous access by multiple clients But not … 8

IMAP Client may make multiple requests additional requests while waiting for a response Server may reply in a different order than client requested interleave two responses send unsolicited data 9

IMAP message format C: A341 CLOSE S: A341 OK CLOSE completed SE-2811 Dr.Yoder 10

IMAP message format C: A202 EXPUNGE S: * 3 EXPUNGE S: * 5 EXPUNGE S: * 8 EXPUNGE S: A202 OK EXPUNGE completed SE-2811 Dr.Yoder 11

IMAP message format C: A003 APPEND saved-messages (\Seen) {310} S: + Ready for literal data C: Date: Mon, 7 Feb :52: (PST) C: From: Fred Foobar C: Subject: afternoon meeting C: To: C: Message-Id: C: MIME-Version: 1.0 C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII C: C: Hello Joe, do you think we can meet at 3:30 tomorrow? C: S: A003 OK APPEND completed 12

SMTP Security SMTP STARTTLSSMTP over SSL/TLS RFC3207(no standard needed) Port SecurityPlain-text IMAP port with ability to switch to TLS Dedicated port for SMTP wrapped in TLS SE-2811 Dr.Yoder 13 More info:

IMAP Security IMAP over SSL/TLSIMAP STARTTLS RFC(no standard needed)RFC 2595, RFC 4616 Port SecurityDedicated port for IMAP wrapped in TLS Plain-text IMAP port with ability to switch to TLS SE-2811 Dr.Yoder 14

CS2911 Dr. Yoder 15

Acknowledgement This course is based on the text Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Addison-Wesley 16

Appendix: SMTP slides for Lab 7 CS2911 Dr. Yoder 17

Questions on Lab 6? Dictionaries? Writing the code? Excellent credit? Persistent connections? Implementing caching? CS2911 Dr. Yoder 18

Unencrypted SMTP without Authentication S: 220 aol.com Simple Mail Transfer Service Ready C: EHLO msoe.edu S: 250-aol.com greets msoe.edu S: 250-8BITMIME S: 250-SIZE S: 250-DSN S: 250 HELP C: MAIL FROM: S: 250 OK SE-2811 Dr.Yoder 19

Unencrypted SMTP without Authentication (cont.) C: RCPT TO: S: 250 OK C: RCPT TO: S: 550 No such user here C: DATA S: 354 Start input; end with. C: Here's my message C: It's a long one C: Now I'm done. But does the server know it? C:. S: 250 OK C: QUIT S: 221 aol.com Service closing transmission channel SE-2811 Dr.Yoder 20

Looking Forward Cryptography Videos: (From Week 9) Cryptography in network protocols Public key cryptography Modular arithmetic RSA encryption Encryption: Plaintext -> Ciphertext Decryption: Ciphertext -> Plaintext Both require a "key" SE-2811 Dr.Yoder 21

SMTP with STARTTLS and AUTH LOGIN (1) S: 220 aol.com ESMTP MAIL Service ready … C: EHLO msoe.edu S: 250-aol.com Hello [ ] S: 250-PIPELINING S: 250-DSN S: 250-ENHANCEDSTATUSCODES S: 250-STARTTLS S: 250-8BITMIME S: 250 CHUNKING SE-2811 Dr.Yoder 22

SMTP with STARTTLS and AUTH LOGIN (2) C: STARTTLS S: SMTP server ready ---- Everything beyond this point is sent encrypted ---- C: EHLO msoe.edu S: 250-aol.com Hello [ ] S: 250-PIPELINING S: 250-DSN S: 250-ENHANCEDSTATUSCODES S: 250-AUTH LOGIN S: 250-8BITMIME S: 250 CHUNKING SE-2811 Dr.Yoder 23

SMTP with STARTTLS with AUTH LOGIN (3) C: AUTH LOGIN S: 334 VXN1cm5hbWU6 C: c3R1ZGVudEBtc291LmVkdQ== S: 334 UGFzc3dvcmQ6 C: bW9ua2V5 S: Authentication successful C: MAIL FROM: … (The rest is the same as unencrypted) SE-2811 Dr.Yoder 24 "Username:" "Password:" "monkey"

Base64 encoding Use the base64 package, already imported in the lab template. Use RFC 4648 base-64 encoding, as specified in the latest AUTH LOGIN RFC, RFC This is the same as the base-64 encoding defined in RFC 3548.RFC 4954 SE-2811 Dr.Yoder 25

Sending/Receiving Encrypted Data in Python context = ssl.create_default_context() wrapped_socket = context.wrap_socket(old_socket, server_hostname=SMTP_SERVER) SE-2811 Dr.Yoder 26

Sending/Receiving Encrypted Data in Python Some errors if you accidentally receive/send raw/encrypted text when you should send the other: ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:590) ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590) ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:590) SE-2811 Dr.Yoder 27

Sending/Receiving Encrypted Data in Python Some errors if you use the wrong protocol (which is hard to do with our sample code) ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:590) ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590) SE-2811 Dr.Yoder 28