Đăng ký Đăng nhập
Trang chủ Luận văn nghiên cứu spam và xây dựng ứng dụng ngăn chặn spam cho chương trình mi...

Tài liệu Luận văn nghiên cứu spam và xây dựng ứng dụng ngăn chặn spam cho chương trình microsoft outlook

.DOC
75
177
121

Mô tả:

Mục lục Lời nói đầu.............................................................................................................................4 Chương 1: Các giao thức gửi nhận thư điện tử..................................................................6 1.1. Giới thiệu..........................................................................................................................6 1.2. Các giao thức gửi nhận thư điện tử...................................................................................6 1.2.1. SMTP (Simple Mail Transfer Protocol).....................................................................6 1.2.2. POP3 (Post Office Protocol)....................................................................................10 1.2.3. IMAP (Internet Mail Access Protocol)....................................................................13 1.3. Cấu trúc thư điện tử........................................................................................................15 1.3.1. Giới thiệu:................................................................................................................15 1.3.2. Cấu trúc chi tiết của MIME:....................................................................................16 1.4. Kết luận...........................................................................................................................21 Chương 2: Thư rác và các giải pháp phòng tránh thư rác.............................................22 2.1. Giới thiệu........................................................................................................................22 2.2. Spam và các thông tin liên quan.....................................................................................22 2.2.1. Hoàn cảnh ra đời......................................................................................................22 2.2.2. Định nghĩa...............................................................................................................23 2.2.3. Đặc điểm của thư rác...............................................................................................23 2.2.4. Ích lợi và tác hại của thư rác....................................................................................26 2.2.5. Luật pháp trong vấn đề thư rác................................................................................27 2.3. Các kĩ thuật công cụ đối tượng phát tán thư rác (spammer) sử dụng.............................28 2.3.1. Phân loại các đối tượng phát tán thư rác:................................................................28 2.3.2. Các cách lấy điạ chỉ của nạn nhận...........................................................................29 2.3.3. Các kĩ thuật để vượt qua bộ phận lọc thư................................................................30 2.4. Các phương pháp phòng tránh thư rác:...........................................................................31 2.4.1. Đóng các điểm chuyển tiếp thư...............................................................................31 2.4.2. Sử dụng danh sách đen............................................................................................31 2.4.3. Kiểm tra tính xác thực của địa chỉ spam..................................................................32 2.4.4. Sử dụng các bộ lọc nội dung....................................................................................33 2.4.5. Đánh lừa các chương trình thu thập địa chỉ thư.......................................................34 2.4.6. Cung cấp địa chỉ giả................................................................................................35 2.4.7. Hệ thống thu phí thư điện tử và chữ kí điện tử........................................................35 2.4.8. Sử dụng mobile agent..............................................................................................35 2.4.9. Các phương pháp khác.............................................................................................36 2.4.10. Phương pháp lọc nội dung Bayes..........................................................................36 2.5. Kết luận...........................................................................................................................38 Chương 3: Thiết kế chương trình chống thư rác.............................................................40 3.1. Giới thiệu........................................................................................................................40 3.2. Phân tích yêu cầu chương trình......................................................................................40 3.2.1. Phân tích chung về yêu cầu của chương trình.........................................................40 3.2.2. Phân tích chi tiết yêu cầu của chương trình.............................................................41 3.3. Phân tích thiết kế hệ thống..............................................................................................42 3.3.1. Mô hình phân cấp chức năng...................................................................................42 3.3.2. Thiết kế tổng thể:.....................................................................................................43 3.3.3. Thiết kế giao tiếp với người dùng ...........................................................................44 3.3.4. Xây dựng bộ lọc chính.............................................................................................51 3.3.5. Thực hiện và triển khai chương trình.......................................................................57 3.3.6. Đánh giá chương trình.............................................................................................59 Trang 1 Chương 4: Đề xuất triển vọng hướng phát triển..............................................................62 4.1. Hướng phát triển bộ lọc..................................................................................................62 4.1.1. Các hướng phát triển bộ lọc:....................................................................................62 4.1.2. Đề xuất hướng phát triển.........................................................................................63 4.2. Để xuất về qui mô chương trình.....................................................................................63 4.2.1. Qui mô phát triển Bkas............................................................................................63 4.2.2. Qui mô phát triển Bkas cho doanh nghiệp...............................................................64 Kết luận................................................................................................................................65 Phụ lục A..............................................................................................................................67 Tài liệu tham khảo:.............................................................................................................67 Thuật ngữ và viết tắt...........................................................................................................68 Phụ lục B..............................................................................................................................69 (Hướng dẫn sử dụng chương trình Bkas)..............................................................................69 Danh mục hình vẽ: Hình 1.1 Mô hình SMTP..............................................................................................................6 Hình 1.2 Bốn trạng thái của IMAP............................................................................................13 Hình 2.1 Mô hình điểm chuyển tiếp..........................................................................................31 Hình 3.1 Biểu đồ phân cấp chức năng.......................................................................................43 Hình 3.2 Kiến trúc kĩ thuật tổng thể của chương trình..............................................................43 Hình 3.3 Biểu đồ trường hợp sử dụng của phần giao tiếp với người dùng...............................44 Hình 3.4 Các đối tượng của Bkas..............................................................................................45 Hình 3.5 Biểu đồ trình tự thời điểm khởi tạo.............................................................................46 Hình 3.6 Biểu đồ trình tự tương tác người dùng........................................................................47 Hình 3.7 Biểu đồ trình tự cho sự kiện có thư mới.....................................................................47 Hình 3.8 Thành phần gói Bkas..................................................................................................48 Hình 3.9 Thanh công cụ của chuơng trình gắn vào Outlook.....................................................49 Hình 3.10 Thanh công cụ của Bkas...........................................................................................49 Hình 3.11 Thanh cuộn chính của Bkas......................................................................................49 Hình 3.12 Bảng cấu hình chính.................................................................................................50 Hình 3.13 Bảng cấu hình bộ lọc................................................................................................50 Hình 3.14 Bảng cấu hình danh sách “Bạn” và “Thù”................................................................51 Hình 3.15 Biểu đồ chức năng của bộ lọc...................................................................................51 Hình 3.16 Cấu trúc bộ phân tích từ khóa...................................................................................52 Hình 3.17 Cấu tạo mạng nơ-ron................................................................................................53 Hình 3.18 Biểu đồ thành phần của thư viện..............................................................................54 Hình 3.19 Thành phần của gói DataObject................................................................................55 Hình 3.20 Thành phần của gói MsgProcessors..........................................................................56 Hình 3.21 Thành phần của gói NeuralNet.................................................................................56 Hình 3.22 Thành phần của gói Utility.......................................................................................56 Hình 3.23 Biểu đồ so sánh Bkas và Osfilter2.0.........................................................................61 Hình 4.1 Xu hướng các bộ lọc cho đến nay...............................................................................62 Hình 4.2 Phương pháp sinh thư rác...........................................................................................63 Hình 4.3 Mô hình Bkas phát triển cộng đồng............................................................................63 Hình 4.4 Mô hình Bkas cho doanh nghiệp................................................................................64 Danh mục công thức: Công thức 2-1 Công thức Paul Graham áp dụng.......................................................................37 Công thức 2-2 Công thức Bayes................................................................................................37 Trang 2 Công thức 2-3 Công thức sau khi biến đổi................................................................................38 Danh mục ví dụ: Ví dụ 1.1 Mở một kết nối............................................................................................................7 Ví dụ 1.2 Đóng một kết nối.........................................................................................................7 Ví dụ 1.3 Một thủ tục SMTP........................................................................................................8 Ví dụ 1.4 Xác nhận tên................................................................................................................9 Ví dụ 1.5 Mở rộng danh sách hòm thư......................................................................................10 Ví dụ 1.6 Một phiên xác thực....................................................................................................11 Ví dụ 1.7.Một đoạn hội thoại POP3..........................................................................................12 Ví dụ 1.8 Mã hóa QUOTED-PRINTABLE...............................................................................20 Ví dụ 1.9. Mã hóa Base64.........................................................................................................20 Ví dụ 2.1 Ví dụ về thư rác Nigeria 419......................................................................................25 Ví dụ 2.2 Ví dụ thư rác trúng thưởng xổ số...............................................................................26 Trang 3 Lời nói đầu Trong những năm gần đây, mạng Internet đã hoàn thiện và tiếp tục phát triển góp phần thay đổi toàn diện cuộc sống của con người, giúp con người sống trong một thế giới mới, thế giới của tri thức. Cùng với sự phát triển của công nghệ có rất nhiều mặt tích cực chắc chắn kèm theo là tiêu cực, và nhiệm vụ của chúng ta là khắc phục chúng để xây dựng một cuộc sống tốt đẹp hơn. Gần đây một vấn đề được mọi người quan tâm vì nó trở nên bùng nổ, gây bức xúc cả về phương diện kĩ thuật công nghệ lẫn kinh tế xã hội đó là spam-một hình thức phát tán tin nhắn không được đồng ý của người nhận với mục đích xấu. Spam tràn ngập các hòm thư điện tử của người dùng Internet, nó lan sang các hình thức khác như tin nhắn điện thoại di động và gần đây là cả các cuộc gọi thoại trên Internet (VOIP). Spam gây ra thiệt hại lớn về hiệu suất hệ thống, tốn phí tài nguyên mạng, gây mất thời gian quản trị hệ thống, đánh cắp tài khoản cá nhân. Nó còn gây ra phiền phức xã hội gây khó chịu cho người nhận thư với số lượng thư vô ích cực lớn, phát tán các hình thức đồi trụy và lừa đảo. Với vấn đề bùng nổ này các tổ chức công ty lớn đã vào cuộc, và bước đầu đã đạt được những thành quả nhất định. Nhưng bắt nguồn từ một số nguyên nhân mà cuộc chiến chống lại spam vẫn chưa đến hồi kết thúc hi vọng phần thắng thuộc về người sử dụng như nhận định của một nhà báo về lĩnh vực công nghệ thông tin. Trong nội dung đồ án tốt nghiệp tác giả chỉ tập trung vào các vấn đề của thư rác điện tử. Với mục đích tìm hiểu chi tiết về spam và đưa ra các giải pháp ngăn chặn chúng, cùng với việc xây dựng một ứng dụng có khả năng chống lại thư rác một cách hiệu quả. Đề tài của đồ án là “Nghiên cứu spam và xây dựng ứng dụng ngăn chặn spam cho chương trình Microsoft Outlook.” Bố cục của báo cáo này gồm các phần sau: Chương một: Các giao thức gửi nhận thư điện tử: Giới thiệu chung và đưa ra nhận xét về giao thức phục vụ cho việc gửi nhận thư. Chương hai: Thư rác và các phương pháp phòng tránh thư rác: Tìm hiểu các đặc điểm của thư rác. Phân tích và đánh giá các giải pháp phòng tránh thư rác đang được sử dụng. Trang 4 Chương ba: Thiết kế và triển khai chương trình chống thư rác Bkas: Xây dựng một ứng dụng cho chương trình Microsoft Outlook, có khả năng ngăn chặn hiệu quả thư rác. Chương bốn: Đề xuất các giải pháp và triển vọng: Phân tích các giải pháp và hướng phát triển của chương trình. Do đề tài của đồ án có nội dung thông tin rộng và thay đổi nhanh, thời gian cũng như kiến thức có hạn nên chắc chắn đồ án không thể tránh khỏi thiếu xót. Tôi rất mong nhận được sự chỉ bảo của các thầy cô giáo và các bạn để đồ án được chính xác đầy đủ và phong phú hơn. Tôi xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Bách khoa nói chung và thầy cô giáo của bộ môn Mạng Máy Tính và Truyền Thông-khoa Công nghệ thông tin nói riêng, những người đã đào tạo và giúp đỡ tôi trong suốt thời gian tôi học tập tại trường. Xin đặc biệt cảm ơn thầy giáo Ths.Ngô Văn Dũng đã tận tình hướng dẫn và giúp đỡ tôi trong suốt quá trình nghiên cứu đề tài. Xin gửi lời cảm ơn đến bạn bè và người thân, những người đã kịp thời động viên và giúp đỡ tôi trong thời gian qua. Trang 5 Chương 1:Các giao thức gửi nhận thư điện tử 1.1.Giới thiệu. Thư điện tử ngày nay đóng vai trò khá quan trong trong các giao dịch trên mạng Internet. Nó đáp ứng được những yêu cầu của thư tín như tính ổn định, chính xác, dễ sử dụng và vượt xa thư tín thông thường về tốc độ vận chuyển, gần như ngay tức thì nó đến được với người nhận. Để có được những ưu điểm trên thư điện tử đã được xây dựng trên nền tảng các giao thức công nghệ khá hoàn chỉnh. Có thể tạm chia các giao thức này thành: các giao thức về phương thức gửi nhận thư và các giao thức về định dạng thư. 1.2.Các giao thức gửi nhận thư điện tử. 1.2.1.SMTP (Simple Mail Transfer Protocol). a.Mô hình SMTP Thiết kế của SMTP cơ bản có dạng liên kết như sau: khi có một bên yêu cầu gửi thư sẽ tạo ra một kênh hai chiều SMTP trao đổi với bên nhận. Bên nhận này có thể là điểm cuối hoặc là điểm trung gian. Bên gửi để thực hiện yêu cầu sẽ tạo ra các lệnh SMTP, bên nhận tùy vào khả năng sẽ đáp ứng. NSD File system SMTP nhận SMTP gửi Yêu cầu/Trả lời File system Hình 1.1 Mô hình SMTP. Khi một kênh truyền được tạo ra, đầu tiên bên gửi SMTP gửi đi một câu lệnh chỉ ra người gửi lệnh. Nếu được chấp nhận, bên nhận gửi lại thông điệp (“OK”). Tiếp theo bên gửi, gửi đi lệnh (“RCTP”) chỉ ra người nhận. Nếu bên nhận chấp nhận thì trả lời bằng thông điệp (“OK”) nếu không nó sẽ gửi thông điệp từ chối. Sau đó hai bên thỏa thuận cụ thể trong suốt qua trình với thứ tự định trước. Sau mỗi bước nếu hoàn thành quá trình xử lí các bên gửi thông điệp (“OK”). Quá trình hội thoại được thực hiện có chủ định từng bước một. Trang 6 SMTP cung cấp cơ chế gửi nhận thư điện tử trực tiếp từ máy của người gửi đến máy người nhận không qua máy chủ. Hai máy này phải cung cấp cùng dịch vụ ở tầng giao vận. Nếu không dùng chung tầng giao vận thì có thể thực hiện thông qua các máy chủ SMTP chuyển tiếp. Khi cùng một lá thư được gửi cho nhiều người sử dụng thì máy chủ chuyển tiếp chỉ giữ một bản sao cho tất cả mọi người dùng cùng trên máy chủ đó. Các lệnh và đáp ứng được mã hóa bằng các kí tự bằng mã ASCII. b.Thủ tục SMTP i. Đóng mở kênh. Ở thời điểm kênh truyền được mở thì một trao đổi được thực hiện để xác nhận giữa các máy chủ với nhau. Sau đây là các lệnh đóng và mở kênh: HELO QUIT Trong lệnh HELO máy chủ gửi thông tin về nó. Ví dụ 1.1 Mở một kết nối. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ R: 220 BBN­UNIX.ARPA Simple Mail Transfer Service Ready S: HELO USC­ISIF.ARPA R: 250 BBN­UNIX.ARPA ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Ví dụ 1.2 Đóng một kết nối. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ S: QUIT R: 221 BBN­UNIX.ARPA Service closing transmission channel ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ii. Thủ tục gửi thư. Thủ tục để gửi một thư gồm có ba bước. Đầu tiên lệnh MAIL được gửi đi thông báo định danh của người gửi. Sau đó lệnh như RCTP cung cấp các thông tin của người nhận. Tiếp theo là lệnh DATA sẽ kèm theo nội dung của lá thư. Cuối của phần dữ liệu là dấu hiệu kết thúc phiên làm việc.  MAIL Trang 7 Lệnh này có cú pháp như sau: MAIL FROM: : Chứa địa chỉ thư của người gửi. Nó có thể chứa hơn một địa chỉ thư, có thể gồm một danh sách các địa chỉ máy chủ mà thư đi qua. Do đó tên của máy chủ đầu tiên trong danh sách là địa chỉ của máy chủ gửi lệnh. Lệnh trên thông báo với bên nhận SMTP có một phiên làm việc bắt đầu và thông báo xóa bảng trạng thái và các vùng đệm. Nó cung cấp địa chỉ người gửi để trong trường hợp có lỗi thì thông báo lại. Nếu được chấp nhận sẽ trả về mã lệnh “ 250 OK”.  RCTP Bước thứ hai của thủ tục này là lệnh RCTP có cú pháp như sau: RCPT TO: Lệnh này chứa thông tin đường dẫn chuyển tiếp của người nhận thư. Nếu được chấp nhận thì phía nhận SMTP sẽ trả về mã lệnh “250 OK” và lưu đường dẫn này lại. Nếu địa chỉ người nhận này là không rõ nguồn gốc thì trả về mã lỗi “550 Failure”. Bước thứ hai này của thủ tục có thể được lặp lại nhiều lần. có thể chứa nhiều hơn một điạ chỉ thư. chứa danh sách các địa chỉ máy chủ thư được chuyển qua và hòm thư đến. Máy chủ đầu tiên trong danh sách này là máy chủ nhận lệnh.  DATA Bước cuối cùng của thủ tục là lệnh DATA: DATA Nếu được chấp nhận bên nhận SMTP trả về ”354 Intermediate” yêu cầu các dòng tiếp theo là dòng text. Kết thúc đoạn text này bên nhận gửi mã “250 OK”. SMTP chỉ ra cuối của đoạn dữ liệu thư bằng cách gửi một dòng chứa một dấu chấm. Kết thúc này cũng xác nhận phiên làm việc và thông báo cho bên nhận quá trình tiếp theo là lưu tên người gửi và dữ liệu của thư. Nếu được chấp nhận bên nhận SMTP trả về “250 OK”. Lệnh DATA chỉ trả về sai khi phiên làm việc chưa hoàn thành (ví dụ không có người nhận nào cả hoặc tài nguyên là không tồn tại). Ví dụ 1.3 Một thủ tục SMTP. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ S: MAIL FROM: Trang 8 R: 250 OK S: RCPT TO: R: 250 OK S: RCPT TO: R: 550 No such user here S: RCPT TO: R: 250 OK S: DATA R: 354 Start mail input; end with . S: Blah blah blah... S: ...etc. etc. etc. S: . R: 250 OK Mail được chấp nhận gửi Jones và Brown. Green không có hòm thư ở máy chủ Beta. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Ví dụ 1.3 chứa một kịch bản gửi nhận như sau: thư do Smith gửi ở máy chủ Alpha.ARPA cho Jones, Green, và Brown ở máy chủ Beta.ARPA. Máy chủ Alpha liên lạc trực tiếp với máy chủ Beta. iii. Xác nhận người dùng và mở rộng danh sách hòm thư. SMTP cung cấp thêm các hàm chức năng cho phép xác nhận tên người dùng và mở rộng danh sách thư. Các lệnh này là VRFY và EXPN cùng với các đối số. Với lệnh VRFY xâu kèm theo là tên người dùng, và trả về là tên đầy đủ của người dùng và hòm thư của người dùng. Với lệnh EXPN chuỗi xác nhận danh sách thư gửi đi và trả về gồm tên của nhiều người dùng và các hòm thư trong danh sách. Ví dụ 1.4 Xác nhận tên. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Ví dụ một S: VRFY Smith R: 250 Fred Smith  S: VRFY Smith R:   251   User   not   local;   will   forward   to   Trang 9 S: VRFY Jones R: 550 String does not match anything. S: VRFY Jones R: 551 User not local; please try  S: VRFY Gourzenkyinplatz R: 553 User ambiguous. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Trường hợp sau mở rộng danh sách hòm thư: Ví dụ 1.5 Mở rộng danh sách hòm thư. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ S: EXPN Example­People R: 250­Jon Postel  R: 250­Fred Fonebone  R: 250­Sam Q. Smith  R:   250­Quincy   Smith   <@USC­ISIF.ARPA:Q­Smith@ISI­ VAXA.ARPA> R: 250­ R: 250  Hoặc S: EXPN Executive­Washroom­List R: 550 Access Denied to You. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ iv. Mở rộng dịch vụ. SMTP được thiết kế từ ban đầu để có thể mở rộng thêm các dịch vụ mà không phá vỡ kiến trúc giao thức ban đầu. Cơ chế mở rộng SMTP (ESMTP- ExtendedSMTP) cung cấp thêm các dịch vụ vào SMTP cơ bản. Phần khác biệt chính là lệnh HELO được thay thế bằng lệnh EHLO. Lệnh này khác biệt ở chỗ nó thông báo cho máy chủ thư điện tử biết mong muốn sử dụng các dịch vụ kèm theo. Máy chủ sẽ trả về thông báo các dịch vụ mà nó cung cấp. 1.2.2.POP3 (Post Office Protocol) c.Giới thiệu Trang 10 POP3 (Phiên bản POP đang sử dụng hiện nay) là một giao thức thư điện tử cho phép người sử dụng truy cập và tải thư điện tử được lưu trữ tạm thời trên máy chủ. Sở dĩ POP được xây dựng vì SMTP không có một phương thức nào cho phép tạo ra hàng đợi thư của người dùng trên máy chủ. POP cho phép hệ thống có thể tạo ra hàng đợi và người dùng có thể truy cập vào máy chủ bất kì lúc nào lấy thư và thoát khỏi hệ thống do đó giảm thiểu hoạt động của cả máy chủ và máy người dùng cho việc duy trì một kết nối liên tục giữa hai bên. Một phiên làm việc của POP được tạo bằng các lệnh và các phúc đáp giữa máy chủ và máy người dùng. Sau đó thì hai bên trao đổi với nhau cho đến khi phiên làm việc kết thúc. Một phiên làm việc được chia làm ba pha trạng thái chính là: trạng thái xác thực, trạng thái giao dịch và trạng thái cập nhật. d.Các pha trạng thái của giao thức POP3. i. Pha trạng thái xác thực Một phiên làm việc POP3 bắt đầu khi máy chú lắng nghe ở các kết nối ở cổng 110. Trạng thái này bắt đầu khi người dùng tạo ra kết nối TCP đến cổng 110 và được máy chủ cho phép. Người dùng phải thực hiện lệnh USER kèm theo định danh của mình. Nếu máy chủ trả lời với chỉ định (“OK”) người dùng tiếp tục xuất lệnh PASS kèm theo mật khẩu của mình. Nếu máy chủ tiếp tục trả lời (“OK”) thì nó sẽ xác định thư mục thư của người sử dụng sau đó chuyển sang trạng thái tiếp theo, trạng thái giao dịch. Ví dụ một phiên làm việc xác thực như sau: Ví dụ 1.6 Một phiên xác thực. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Server:   Client:   Server: +OK dewey POP3 server ready  Client: USER mrose  Server: +OK mrose  Client: PASS secret  Server:   +OK   mrose's   maildrop   has   2   messages   (320 octets)  ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ ii. Pha trang thái giao dịch: Trang 11 Pha này người sử dụng tạo ra một trong tập lệnh máy chủ sẽ trả lời xác nhận hoặc từ chối. Các lệnh này cho phép xác định số thư và truy cập đến các thư này trên máy chủ. Các lệnh có thể sử dụng là: STAT- máy chủ trả về số thư và tổng dung lượng thư. LIST [msg]- Nếu không kèm theo tham số thì máy chủ trả về các đáp ứng liệt kê số thư và một số chỉ số của nó. Nếu có tham số thì máy chủ đơn giản chỉ cần trả lời cho thư đã xác định bằng tham số msg hoặc trả về một thông báo lỗi nếu thư đó không tồn tại. RETR msg- Máy chủ trả về các đáp ứng về nội dung của thư được chỉ ra trong msg hoặc sẽ thông báo lỗi. DELE msg- Nếu thư được chỉ định bằng tham số msg là hợp lệ máy chủ POP3 sẽ đánh dấu thư đó và trả về xác nhận thành công. Nếu thư đó không tồn tại thì hoặc đã đánh dấu xóa thì máy chủ trả lời có lỗi. NOOP- Máy chủ trả về với thông báo thành công. LAST- Trả về thư cuối cùng của danh sách. RSET- Các thư bị đánh dấu xóa sẽ bỏ đánh dấu này đi. QUIT- Kết thúc pha giao dịch, chuyển sang pha cập nhật Sau đây là hội thoại giữa máy chủ và máy người dùng trong phiên làm việc này: Ví dụ 1.7.Một đoạn hội thoại POP3 ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Client: STAT  Server: +OK 2 320  Client: LIST  Server: +OK 2 messages (320 octets)  Server: 1 120  Server: 2 200  Server: .  Client: RETR 1  Server: +OK 120 octets  Server:   Server: .  Client: DELE 1  Trang 12 Server: +OK message 1 deleted  Client: RETR 2  Server: +OK 200 octets  Server:   Server: .  Client: DELE 2  Server: +OK message 2 deleted  Client: QUIT Pha cập nhật POP3 ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ iii. Trạng thái cập nhật Trong pha này máy chủ xóa tất cả các thư đánh dấu xóa và cập nhật thông báo rồi đóng kết nối TCP. Phiên làm việc hoàn tất với việc sử dụng lệnh Logout. Thông tin chi tiết của giao thức POP3 tham khảo trong RFC1939. 1.2.3.IMAP (Internet Mail Access Protocol) e.Giới thiệu: IMAP4 (Internet Message Access Protocol) cho phép thao tác từ xa các thư điện tử từ máy trạm đến máy chủ thư điện tử. IMAP có cơ chế đơn giản hơn POP. Để thực hiện thao tác với thư điện tử thì máy trạm gửi yêu cầu và máy chủ tùy vào khả năng sẽ đáp ứng yêu cầu đó. Mỗi câu lệnh của máy trạm đều bắt đầu bằng chỉ số, chỉ số định dạng người dùng (ví dụ: A001) chỉ số này tăng thêm một khi thêm với các câu lệnh tiếp theo. Các câu lệnh này cho phép người dùng tạo và thao tác với thư mục được gọi “mailbox” trên máy chủ như với thư mục trên máy trạm. Các câu lệnh này cũng cho phép được đồng bộ lại giữa máy trạm và máy chủ. Các lệnh này thực hiện trong bốn trạng thái của phiên làm IMAP4 là: chưa xác thực, xác thực, lựa chọn và thoát. f.Các trạng thái của giao thức IMAP4: Trang 13 Trạng thái chưa xác thực Máy trạm gửi lệnh:CAPABILITY, NOOP, LOGIN, LOGOUT. Hợp lệ Trạng thái xác thực Đóng. Máy trạm thực hiện các lệnh trên và: SELECT, EXAMINE, CREATE, RENAME Hợp lệ Trạng thái lựa chọn Máy trạm thực hiện tất cả các lệnh trên và:CLOSE,EXPUNGE, SEARCH, FETCH,STORE,COPY. Thoát Trạng thái thoát Hình 1.2 Bốn trạng thái của IMAP i. Trạng thái chưa xác thức IMAP4. Máy trạm tạo kết nối máy chủ qua cổng 143 bắt đầu trạng thái chưa xác thực. Trong trạng thái này có bốn lệnh là: CAPABILITY : hiển thị khả năng của máy chủ. NOOP : tạo ra một trả lời xác nhận. LOGIN : xác thực người dùng. LOGOUT: kết thúc trạng thái Để trạng thái xác thực được tiếp tục người dùng phải cung cấp quyền của mình trong lệnh LOGIN. Sau khi được chấp nhận, phiên sẽ chuyển sang trạng thái xác thực. ii. Trạng thái xác thực. Bắt đầu trạng thái xác thực người dùng chọn lựa hòm thư của mình trước khi bắt đầu trạng thái tiếp theo. Công việc này được hoàn thành với một trong hai lệnh SELECT hoặc EXAMINE kèm theo tên hợp lệ của hòm thư. Sự khác biệt giữa hai lệnh này là lệnh SELECT cho phép quyền đọc ghi trong khi đó lệnh EXAMINE chỉ cho phép quyền đọc. Sau khi một trong hai lệnh này được thực hiện thành công phiên làm việc sẽ bắt đầu trạng thái lựa chọn. Trong trạng thái xác thực thì người dùng có thể thực hiện tất cả các lệnh ở trạng thái trước đó (trừ lệnh LOGIN). Người dùng cũng có thể thực hiện lệnh tạo hòm thư CREAT, lệnh xem trạng thái STATUS của hòm thư, đổi tên hòm thư RENAME và một số thao tác khác. Trang 14 iii. Trạng thái lựa chọn. Trong trạng thái này việc truy cập trực tiếp tới thư điện tử được thực hiện. Người dùng có thể thực hiện lệnh trọng trang thái xác thực và thêm các lệnh như: CLOSE: đóng hòm thư và quay lại trạng thái xác thực. EXPUNGE: bỏ tất cả các đánh dấu xóa. SEARCH: cho phép người dùng tìm kiếm với tiêu chuẩn mình đặt ra. FETCH: lấy về toàn bộ nội dung thư. STORE: cho phép cập nhật cờ trạng thái thư. COPY: cho phép copy một số thư vào hòm thư. Trong trạng thái lựa chọn này người dùng có thể thực hiện lệnh CLOSE để trở về trạng thái xác thực hoặc lệnh LOGOUT để chuyển máy chủ sang trạng thái thoát. iv. Trạng thái thoát. Trong trạng thái này máy chủ đóng kết nối. 1.3.Cấu trúc thư điện tử 1.3.1.Giới thiệu: Được thiết kế dựa trên chuẩn RFC822 xuất bản năm 1982 - chuẩn thư điện tử trên nền tảng Internet cho phép chuyển tải thư - nhưng có một số các hạn chế sau:  Chỉ cho phép gửi thư với các kí tự ASCII.  Không cho phép gửi thư qua 1000 kí tự trên một dòng.  Giới hạn độ dài của thư. Chính vì những lý do trên năm 1992 một chuẩn thư điện tử mới ra đời tên là MIME. MIME viết tắt của Multipurpose Internet Mail Extensions. Xây dựng dựa trên các giao thức cũ nhưng có thêm các trường cho phép định nghĩa văn bản có nội dung và có cấu trúc. MIME cho phép thư điện tử có thể:  Có nhiều thành phần trong một bức thư.  Thư không có giới hạn độ dài dòng và độ dài thư. Trang 15  Hỗ trợ bộ mã khác ASCII cho phép các ngôn ngữ khác thể hiện trên thư.  Cho phép nhiều font chữ trong một bức thư.  Truyền tải dữ liệu nhị phân hoặc dữ liệu chương trình.  Truyền tải ảnh, audio, video và thư đa phương tiện. MIME định nghĩa thêm các trường tiêu đề sau: a. Trường MIME-Version được dùng để chỉ ra đoạn văn bản tuân theo chuẩn MIME nào. b. Trường Content-Type dùng để chỉ ra các dư các kiểu dữ liệu trong phần thân của văn bản và kiểu mã hóa dữ liệu. Nó gồm các giá trị sau: o Text, dùng để thông báo số kí tự và loại ngôn ngữ mà văn bản được viết. o Multipart, cho phép biểu diễn các đoạn dữ liệu với các định dạng dữ liệu khác nhau trong cùng một văn bản. o Application, dùng cho việc chuyển tải các loại dữ liệu của ứng dụng hoặc dữ liệu nhị phân. o Message, dùng để đóng gói văn bản. o Image, cho việc truyền tải dữ liệu ảnh. o Audio, truyền tải dữ liệu audio. o Video, truyền tải dữ liệu video hoặc hình ảnh động. c. Trường Content-Transfer-Encoding chỉ ra cách thức dữ liệu được mã hóa cho phép chuyển qua các hệ thống chỉ có bộ kí tự giới hạn. d. Hai trường cho sử dụng cho việc định nghĩa các dữ liệu chứa trong phần thân của văn bản là: trường Content-ID và Content- Description. MIME có cấu trúc mở, nó cho phép bộ các trường content-type/subtype cho phép định nghĩa thêm. Trang 16 1.3.2.Cấu trúc chi tiết của MIME: MIME định nghĩa chi tiết trong RFC1521. MIME cho phép đưa nhiều đối tượng vào văn bản. Mỗi phần này có tiêu đề và một phần thân. Trong phần thân có thể có tiếp các phần thân nhỏ hơn. g.Trường MIME-Version MIME được thiết kế để tương thích ngược với các chuẩn Internet trước đó như RFC822, do đó dựa vào trường này trình duyệt thư có thể xác định thư có theo định dạng MIME không. Hiện tại chỉ có một phiên bản của MIME là 1.0, nên trường này chỉ có dạng như sau: MIME-Version: 1.0 Trường MIME-Version yêu cầu đặt ở phần đầu tiên của văn bản và không cần khai báo ở các phần thân. h.Trường Content-Type Trường Content-Type định nghĩa dữ liệu cho phép trình duyệt thư có thể biểu diễn bức thư cho người nhận đúng như định dạng của người gửi. Mức cao nhất Content-Type dùng để định nghĩa các kiểu dữ liệu thông thường còn các phần phía dưới chỉ ra chi tiết định dạng dữ liệu. Ví dụ Content-Type là Image/xyz thông báo cho trình duyệt thư đây là dữ liệu ảnh, ngay cả khi trình duyệt này không biết chi tiết xyz là loại định dạng ảnh. Với thông tin như vậy thì trình duyệt không hỗ trợ định dạng này vẫn có thể quyết định hoặc cho người sử dụng xem dữ liệu thô hoặc không cho xem. Ví dụ cho người dùng xem ảnh biểu diễn dữ liệu ảnh này dưới dạng kí tự. Với lý do này có thể không cần các thông số kèm theo cũng có thể phân biệt các kiểu dữ liệu với nhau. Chuẩn MIME định nghĩa 7 loại Conntent-type và theo các tác giả của MIME với 7 loại này nếu muốn biểu diễn loại dữ liệu mới có thể biểu diễn dưới kiểu con của 1 trong 7 kiểu này. Tuy nhiên MIME cung cho phép thêm vào các loại không tiêu chuẩn bằng cách thêm vào chữ X-. Cấu trúc cú pháp của trường Content-type Content-Type := type "/" subtype [";" parameter]_ Chi tiết các Content-types: i. Application Trang 17 Chỉ ra dữ liệu không thuộc các bộ còn lại ví dụ dữ liệu dạng nhị phân, dữ liệu được xử lý bằng trình duyệt. Application/Octet-Stream : Chỉ ra đây là dữ liệu nhị phân trình duyệt thư đơn giản chỉ cần ghi lại các dữ liệu này vào file chương trình. ii. Audio Chỉ ra dữ liệu tiếng. Audio/Basic:Nội dung của trường con Audio/Basic mã hóa sử dụng luật 8-bit ISDN. Khi có trường này thì tốc độ lấy mẫu là 8000 Hz. iii. Image Dữ liệu ảnh. Đòi hỏi thiết bị hiển thị như màn hình, máy in… để xem các thông tin này. Image/Jpeg :Trường con chỉ ra định dạng ảnh là Jpeg. Image/Gif :Trường con chỉ ra định dạng ảnh là Gif. iv. Message Chỉ ra dữ liệu được mã hóa. Message/RFC822 :Chỉ ra trong phần thân có các thông điệp được đóng gói với cấu trúc thông điệp theo RFC822. Rất hữu dụng khi chuyển tiếp một thư vì nó chỉ ra điểm bắt đầu và kết thúc của lá thư. Message/Partial: Chỉ ra các phần của một lá thư cho phép chuyển tải lá thư có phần thân dài hơn khả năng của hệ thống truyền tải. Message/Partial chỉ ra phần thân bao gồm các phần nhỏ hơn được đánh dấu. Message/External-Body: Chỉ ra đây không phải là phần dữ liệu chỉ có tính chất tham khảo. Trong trường hợp này các tham số định nghĩa ra một cơ chế để truy cập vào phần dữ liệu thêm này. v. Multipart Chỉ ra dữ liệu gồm nhiều phần mỗi phần này có định dạng dữ liệu riêng. Dấu hiệu bắt đầu và kết thúc của mỗi phần là các đường bao. Tham số đường bao chỉ ra xâu được sử dụng cho việc đánh dấu các phần. Giữa hai đường bao là một phần do vậy không có đường bao nằm giữa các phần. Các đường bao có độ dài không hơn 70 kí tự kể cả các dấu cách và các dấu gạch ngang. Trang 18 Đường bao mở đầu, bắt đầu bằng hai dấu gạch ngang tiếp theo là tham số đường bao. Đường bao kết thúc giống đường bao mở đầu nhưng kết thúc bằng hai dấu gạch ngang. Ta xem xét trường hợp sau gồm nhiều phần thân Content-Type có dạng sau: Content-Type:multipart/mixed; boundary=gc0y0pkb9ex Nó chỉ ra mỗi phần có dấu hiệu mở đầu như sau: --gc0y0pkb9ex Và dấu hiệu kết thúc như sau --gc0y0pkb9ex-Multipart/Mixed: Chỉ ra các phần này được trình diễn tuần tự. Multipart/Parallel: Các phần trình diễn đồng thời ví dụ như hình ảnh kèm theo âm thanh. Multipart/Digest: Chỉ ra mỗi phần là một thông điệp theo định dạng RFC822. vi. Text Kiểu này dùng để thông báo bộ kí tự được sử dụng. Bộ các kí tự được chỉ ra bằng tham số Charset. Định dạng ngầm định là : Content-Type: text/plain; Charset=US-ASCII. Giá trị Charset thì không phân biệt chữ hoa thường. Các giá trị cho phép sử dụng là US-ASCII, ISO-8859-1, ISO-8859-2, .... Text/Plain : Văn bản chứa kí tự trong bảng mã ASCII. Text/Richtext:Chỉ ra định dạng kí tự có định dạng đơn giản được MIME định nghĩa. vii. Video Chỉ ra phần thân gồm các hình động với màu mà âm thanh được mã hóa bằng chuẩn kèm theo ví dụ Video/Mpeg. viii. X-TypeName Đây bao gồm tất cả các tên kiểu bắt đầu với X-. Các giá trị của Content-Type bắt đầu bằng X- là các giá trị dùng mục đích riêng do các hệ thống thư trao đổi với nhau. i.Trường Content-Transfer-Encoding Trang 19 Rất nhiều Content-Types của MIME được truyền tải dưới dạng các kí tự mã hóa 8 bit hoặc dạng dữ liệu nhị phân nên không thể truyền trên một số các giao thức ví dụ như SMTP chỉ cho phép chuyển thư với kí tự 7-bit ASCII với dữ liệu không quá 1000 kí tự. Do đó MIME cung cấp cơ chế cho phép mã hóa các dữ liệu này dưới dạng dòng có độ dài giới hạn và gồm các kí tự mã hóa 7 bit. Trường Content-Transfer-Encoding chỉ ra cơ chế để thực hiện việc mã hóa. Các giá trị được sử dụng trong Content-Transfer-Encoding là: BASE64, QUOTED-PRINTABLE, 8BIT, 7BIT, BINARY, x-EncodingName. i. 7BIT. Là kiểu mã hóa ngầm định,do vậy khi không có trường này trong thư, thì cũng ngầm định là 7bit. ii. QUOTED-PRINTABLE Mã hóa theo kiểu QUOTED-PRINTABLE chứa hầu hết các kí tự trong bảng mã ASCII. Dấu bằng biểu diễn kí tự esc, các kí tự khác không phải kí tự được biểu diễn bằng dấu bằng theo sau là hai số hệ mười sáu. Nếu một dòng có số kí tự nhiều hơn 76 sẽ cắt thành thành 75 kí tự và kết thúc dòng bằng dấu bằng. Điểm mạnh khi sử dụng mã hóa QUOTED-PRINTABLE khi sử dụng mã ASCII là chỉ cần thêm một số các kí tự vào để biểu diễn. Thư có thể cho phép người sử dụng xem trực tiếp không cần chương trình đọc thư đặc biệt Sau đây là ví dụ trao đổi theo chuẩn EDI dùng mã hóa QUOTED-PRINTABLE : Ví dụ 1.8 Mã hóa QUOTED-PRINTABLE ISA*00*           *00*           *01*987654321      *12*8005551234    *910= 607*0111*U*00200*110000777*0*T*> GS*PO*987654321*8005551234*920501*2032*7721*X*002003 ST*850*000000001 BEG*00*NE*MS1112**920501**CONTRACT# REF*IT*8128827763 N1*ST*MAVERICK SYSTEMS N3*3312 NEW HAMPSHIRE STREET N4*SAN JOSE*CA*94811 PO1*1*25*EA***VC*TP8MM*CB*TAPE8MM PO1*2*30*EA***VC*TP1/4*CB*TAPE1/4INCH Trang 20
- Xem thêm -

Tài liệu liên quan