Triển khai dịch vụ FTP trên hệ thống mạng lan luận văn tốt nghiệp đại học

43 715 2
Triển khai dịch vụ FTP trên hệ thống mạng lan luận văn tốt nghiệp đại học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

§å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN ====  ==== ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: TRIỂN KHAI DỊCH VỤ FTP TRÊN HỆ THỐNG MẠNG LAN Gi¶ng viªn híng dÉn : Th.S NguyÔn C«ng NhËt Sinh viªn thùc hiÖn : Bïi V¨n ¸i Líp : 47K-CNTT Vinh - 5/ 2011 Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 1 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt LỜI NÓI ĐẦU Hiện nay, dịch vụ Internet tốc độ cao ADSL đang dần thay thế dịch vụ Internet truyền thống là dial-up trong các doanh nghiệp cũng như ở một số cá nhân có điều kiện. Dịch vụ này đem lại những tiện ích và những lợi ích mà trước kia dịch vụ dial-up không đáp ứng được. Vấn đề hiện nay là khai thác hết các khả năng mà ADSL có thể đem lại. Mô hình các doanh nghiệp hiện nay bao gồm nhiều chi nhánh với các văn phòng nằm phân tán trong cũng như ngoài nước nên vấn đề mà các doanh nghiệp này gặp phải là trao đổi và truyền dữ liệu. Có rất nhiều các dịch vụ nhằm thỏa mãn nhu cầu này mà điển hình là VPN (mạng riêng ảo). Tuy nhiên, khi nhu cầu của doanh nghiệp chỉ dừng lại ở truyền và trao đổi dữ liệu (không sử dụng các chương trình đòi hỏi phải chạy trên mạng LAN, WAN) thì sử dụng dịch vụ FTP server là hợp lý không đòi hỏi chi phí kể cả phần cứng cũng như phần mềm. Em đã chọn đề tài này, với mục nhằm củng cố thêm kiến thức tin học và kiến thức thực tế cho bản thân. Đồng thời còn đóng góp một phần trong việc cung cấp cho các nhân viên, các cán bộ lãnh đạo trong cơ quan, công ty hiểu biết thêm về dịch vụ FTP và có thể sử dụng một cách dễ dàng. Em xin bày tỏ lòng biết ơn chân thành tới thầy giáo Thạc sĩ Nguyễn Công Nhật đã tạo mọi điều kiện giúp đỡ em hoàn thành đề tài này. Sinh viên thực hiện: Bùi Văn Ái Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 2 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt I. GIỚI THIỆU VỀ FTP I.1. Khái niệm Giao thức FTP (viết tắt của tiếng Anh File Transfer Protocol, “Giao thức truyền tập tin”) Giao thức truyền tải file, là công cụ quản lý files giữa các máy. FTP cho phép truyền và tải files, quản lý thư mục, và lấy mail. FTP không được thiết kế để truy nhập và thi hành files, Nhưng nó là công cụ tuyệt vời để truyền tải files. thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet – mạng ngoại bộ – hoặc intranet – mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP. Hầu như bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP. Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 3 Đồ án tốt nghiệp GVHD: Th.S Nguyễn Công Nhật FTP, v phn ụng cỏc trỡnh ng dng ny cho phộp ngi dựng c ly t do, khụng mt tin. I.2. Khỏi quỏt v giao thc FTP thng chy trờn hai cng, 20 v 21, v ch chy riờng trờn nn ca TCP. Trỡnh ch FTP lng nghe cỏc yờu cu dch v t nhng kt ni vo mỏy ca cỏc trỡnh khỏch FTP, trờn cng 21. ng kt ni trờn cng 21 ny to nờn mt dũng truyn iu khin, cho phộp cỏc dũng lnh c chuyn qua trỡnh ch FTP. truyn ti tp tin qua li gia hai mỏy, chỳng ta cn phi cú mt kt ni khỏc. Tựy thuc vo ch truyn ti c s dng, trỡnh khỏch ( ch nng ng active mode) hoc trỡnh ch ( ch b ng passive mode) u cú th lng nghe yờu cu kt ni n t u kia ca mỡnh. Trong trng hp kt ni ch nng ng, (trỡnh ch kt ni vi trỡnh khỏch truyn ti d liu) , trỡnh ch phi trc tiờn úng kt vo cng 20, trc khi liờn lc v kt ni vi trỡnh khỏch. Trong ch b ng, hn ch ny c gii ta, v vic úng kt trc l mt vic khụng cn phi lm. Trong khi d liu c truyn ti qua dũng d liu, dũng iu khin ng im. Tỡnh trng ny gõy ra mt s vn , c bit khi s lng d liu ũi hi c truyn ti l mt s lng ln, v ng truyn ti chy thụng qua nhng bc tng la. Bc tng la l dng c thng t ng ngt cỏc phiờn giao dch sau mt thi gian di im lng. Tuy tp tin cú th c truyn ti qua hon thin, song dũng iu khin do b bc tng la ngt mch truyn thụng gia quóng, gõy ra bỏo li. I.3. Lnh ca FTP Trc khi xem lm th no dựng FTP truyn files, bn nờn xem cỏc lnh ca giao thc ny. Tng t lnh ca Telnet, nhiu lnh ch dựng cho giao thc v khụng dựng cho ngi dựng (mc dự administrators ụi khi dựng lnh FTP g ri v chn oỏn).Lnh ni b ca FTP gm 4 ký t ASCII cỏch nhau bi newline character. Nhiu lnh cn phi cú tham s. Mt li ớch chớnh dựng ký t ASCII cho lnh l ngi dựng cú th quan sỏt cỏc lnh chy v hiu c Sinh viên: Bùi Văn ái Lớp 47K-Tin 4 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt nó. Nó giúp ích cho quá trình gỡ rối. Nó cũng mở rộng kiến thức về giao tiếp trực tiếp với FTP server component (ftpd). I.3.1. Thông tin dòng lệnh: ascii : chuyển sang chế độ truyền file theo dạng văn bản binary : chuyển sang chế độ truyền file theo dạng nhị phân cd [directory] : chuyển vào thư mục directory cdup : chuyển lên thư mục cấp trên một cấp close : ngắt kết nối với máy chủ del [remote-file] : xóa 1 file trên máy chủ dir [remote-directory|file] : liệt kê nội dung của thư mục hoặc danh sách các file trên máy chủ help [command] : cho biết hướng dẫn về lệnh command lcd [local-directory] : đặt lại thư mục làm việc trên client là local-directory ls [remote-directory|file] [-la] :liệt kê nội dung của thư mục hoặc danh sách các file trên máy chủ; tham số -la sẽ liệt kê tất cả có kèm theo mô tả về quyền mdelete [remote-files] : xóa nhiều file trên máy chủ mget [remote-files]: download các files trên máy chủ về mkdir : tạo thư mục có tên directory-name mput [local-files] : upload các files lên máy chủ open host [port] : kết nối đến máy chủ FTP có hostname là host và đang chạy dịch vụ FTP ở cổng port put [remote-file]: upload local-file lên máy chủ với tên mới là remote-file nếu được pwd : cho biết thư mục đang làm việc hiện thời quit : thoát recv [local-file]: nhận remote-file trên máy chủ và lưu trên máy tính với tên local-file nếu được rename [from] [to] : đổi tên file hoặc thư mục from thành to rmdir directory-name : xóa thư mục có tên directory-name Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 5 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt send local-file [remote-file] : gởi local-file từ máy tính lên máy chủ với tên mới là remote-file nếu được status: cho biết trạng thái của phiên làm việc hiện tại syst : cho biết hệ điều hành của máy chủ user user-name [password] [account] : login vào với tên là user-name, mật khẩu là password, tài khoản là account FTP cũng dùng các mã đơn giản để báo tình trạng truyền tải. Mỗi return code là số có 3 chữ số, số đầu tiên báo thi hành thành công (số đầu tiên là 1, 2, hay 3) hoặc thất bại (số đầu tiên là 4 hay 5). Số thứ 2 và 3 diễn giải chi tiết thêm tình trạng. Quote First Digit Description 1 Action initiated. Expect another reply before sending a new command. 2 Action completed. Can send a new command. 3 Command accepted but on hold due to lack of information. 4 Command not accepted or completed. Temporary error condition exists. Command can be reissued. 5 Command not accepted or completed. Reissuing the command will result in the same error (don't reissue). Quote Second Digit Description 0 Syntax error or illegal command 1 Reply to request for information 2 Reply that refers to connection management 3 Reply for authentication command 4 Not used 5 Reply for status of server FTP cho phép truyền files ở nhiều dạng khác nhau, tùy thuộc hệ thống. Hệ thống chính (bao gồm hệ thống UNIX) chỉ có 2 chế độ: text và binary. Nhiều hệ Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 6 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt thống mainframe hỗ trợ EBCDIC, nhiều trang có những dạng tự định nghĩa để tăng tốc độ truyền tải trong mạng nội bộ (có thể dùng 32- hoặc 64-bit words). Truyền tải dạng Text dùng ký tự ASCII phân cách bởi ký tự carriage- return và newline characters, trong khi truyền tải binary truyền các ký tự không có định dạng. Binary mode nhanh hơn text và cho phép truyền tất cả giá trị của ASCII (cần thiết cho các file non-text). Trên nhiều hệ thống, FTP bắt đầu ở text mode, mặc dù nhiều nhà quản trị hệ thống thiết lập FTP ở binary mode mặc định cho sự tiện lợi của người dùng. I.4. Mục đích của giao thức FTP Mục đích của giao thức FTP là: 1. Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vi tính hoặc dữ liệu) 2. Khuyến khích việc sử dụng máy tính ở xa một cách gián tiếp / âm thầm (implicit). 3. Che đậy sự khác biệt về hệ thống lưu trữ tập tin giữa các máy chủ, hầu cho người dùng không cần phải quan tâm đến những sự khác biệt riêng tư của chúng. 4. Truyền tải dữ liệu một cách đáng tin cậy và có hiệu quả cao. I.5. Nhược điểm của giao thức FTP 1. Mật khẩu và nội dung của tập tin được truyền qua đường cáp mạng ở dạng văn bản thường (clear text), vì vậy chúng có thể bị chặn và nội dung bị lộ ra cho những kẻ nghe trộm. Hiện nay, người ta đã có những cải tiến để khắc phục nhược điểm này. 2. Cần phải có nhiều kết nối TCP/IP: một dòng dành riêng cho việc điều khiển kết nối, một dòng riêng cho việc truyền tập tin lên, truyền tập tin xuống, hoặc liệt kê thư mục. Các phần mềm bức tường lửa cần phải được cài đặt thêm những lôgic mới, đế có thể lường trước được những kết nối của FTP. 3. Việc thanh lọc giao thông FTP bên trình khách, khi nó hoạt động ở chế độ năng động, dùng bức tường lửa, là một việc khó làm, vì trình khách phải tùy ứng Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 7 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt mở một cổng mới để tiếp nhận đòi hỏi kết nối khi nó xảy ra. Vấn đề này phần lớn được giải quyết bằng cách chuyển FTP sang dùng ở chế độ bị động. 4. Người ta có thể lạm dụng tính năng ủy quyền, được cài đặt sẵn trong giao thức, để sai khiến máy chủ gửi dữ liệu sang một cổng tùy chọn ở một máy tính thứ ba. Xin xem thêm về FXP. 5. FTP là một giao thức có tính trì trệ rất cao (high latency). Sự trì trệ gây ra do việc, nó bắt buộc phải giải quyết một số lượng lớn các dòng lệnh khởi đầu một phiên truyền tải. 6. Phần nhận không có phương pháp để kiểm chứng tính toàn vẹn của dữ liệu được truyền sang. Nếu kết nối truyền tải bị ngắt giữa lưng chừng thì không có cách gì, trong giao thức, giúp cho phần nhận biết được rằng, tập tin nhận được là hoàn chỉnh hay còn vẫn còn thiếu sót. Sự hỗ trợ bên ngoài, như việc dùng kiểm tra tổng MD5, hoặc dùng kiểm độ dư tuần hoàn (cyclic redundancy checking) là một việc cần thiết. I.6. Những vấn đề bảo an khi dùng FTP FTP là một phương pháp truyền tập tin có truyền thống phi bảo an (không an toàn), vì theo như bản thiết kế gốc đặc tả của FTP, không có cách nào có thể truyền tải dữ liệu dưới hình thức mật mã hóa được. Ảnh hưởng này có nghĩa là, phần lớn các cài đặt của mạng lưới truyền thông, tên người dùng, mật khẩu, dòng lệnh FTP và tập tin được truyền tải, đều có thể bị người khác trên cùng một mạng lưới, "ngửi" hoặc quan sát, dùng phần mềm phân tích giao thức (protocol analyzer) (hoặc còn gọi là "dụng cụ ngửi dữ liệu", tiếng Anh là "sniffer"). Nên chú ý rằng đây là vấn đề thường thấy ở các giao thức của Internet được thiết kế trước khi SSL (Secure Sockets Layer) ra đời (tạm dịch là giao thức "tầng kết nối bảo mật"), như HTTP, SMTP và Telnet. Giải pháp thường thấy, đối với vấn đề này, là dùng SFTP (Secure Shell File Transfer Protocol - tạm dịch là "giao thức truyền tập tin dùng trình bao bảo mật"), một giao thức dựa trên nền của SSH, hoặc trên FTPS (FTP over SSL). SFTP là FTP được cộng Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 8 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt thêm chức năng mã hoá dữ liệu của SSL hoặc TLS (Transport Layer Security - tạm dịch là "Bảo mật tầng giao vận"). I.7. FTP nặc danh Nhiều máy chủ chạy trình chủ FTP cho phép cái gọi là "FTP nặc danh". Bố trí này cho phép người dùng truy nhập vào máy chủ mà không cần có trương mục.Tên người dùng của truy cập nặc danh thường là hai chữ 'nặc danh' hoặc một chữ 'ftp' mà thôi. Trương mục này không có mật khẩu. Tuy người dùng thường bị đòi hỏi phải kèm địa chỉ thư điện tử của mình vào, thay thế cho mật khẩu, hòng giúp phần mềm xác minh người dùng, song thủ tục xác minh thường là rất sơ sài và hầu như không có - tùy thuộc vào trình chủ FTP đang được dùng và sự cài đặt của nó. Internet Gopher đã được đề nghị trở thành một hình thức thay thế của FTP nặc danh. I.8. Dạng thức của dữ liệu Có hai chế độ được dùng để truyền tải dữ liệu qua mạng lưới truyền thông: 1. Chế độ ASCII 2. Chế độ Nhị phân Hai chế độ này khác nhau trong cách chúng gửi dữ liệu. Khi một tập tin được truyền dùng chế độ ASCII, mỗi một chữ, mỗi con số, và mỗi ký tự đều được gửi trong dạng mã ASCII. Máy nhận tin lưu trữ chúng trong một tập tin văn bản thường, dưới dạng thức thích hợp (chẳng hạn, một máy dùng Unix sẽ lưu trữ nó trong dạng thức của Unix, một máy dùng Macintosh sẽ lưu trữ nó trong dạng thức của Mac). Vì thế, khi chế độ ASCII được dùng trong một cuộc truyền tải dữ liệu, phần mềm FTP sẽ tự cho rằng các dữ liệu được truyền gửi có dạng thức văn bản thường (plain text) và lưu trữ trên máy nhận theo dạng thức của máy. Chuyển đổi giữa các dạng thức văn bản thường bao gồm việc, thay thế mã kết dòng và mã kết tập tin, từ những mã tự được dùng ở máy nguồn, sang những mã tự được dùng ở máy đích, chẳng hạn một máy dùng hệ điều hành Windows, nhận một tập tin từ một máy dùng hệ điều hành Unix, máy dùng Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 9 §å ¸n tèt nghiÖp GVHD: Th.S NguyÔn C«ng NhËt Windows sẽ thay thế những chữ xuống dòng (carriage return) bằng một cặp mã, bao gồm mã xuống dòng và mã thêm hàng (carriage return and line feed pairs). Tốc độ truyền tải tập tin dùng mã ASCII cũng nhanh hơn một chút, vì bit ở hàng cao nhất của mỗi byte của tập tin bị bỏ. Gửi tập tin dùng chế độ nhị phân khác với cái trên. Máy gửi tập tin gửi từng bit một sang cho máy nhận. Máy nhận lưu trữ dòng bit, y như nó đã được gửi sang. Nếu dữ liệu không phải ở dạng thức văn bản thường, thì chúng ta phải truyền tải chúng ở chế độ nhị phân, nếu không, dữ liệu sẽ bị thoái hóa, không dùng được. Theo như cài đặt sẵn, phần lớn các trình khách FTP dùng chế độ ASCII khi khởi công. Một số trình khách FTP xét nghiệm tên và nội dung của tập tin được gửi, để xác định chế độ cần phải dùng. I.9. FTP và các trình duyệt. Đa số các trình duyệt web (web browser) gần đây và trình quản lý tập tin (file manager) có thể kết nối vào các máy chủ FTP, mặc dù chúng có thể còn thiếu sự hỗ trợ cho những mở rộng của giao thức, như FTPS chẳng hạn. Điều này cho phép người dùng thao tác các tập tin từ xa, thông qua kết nối FTP, dùng một giao diện quen thuộc, tương tự như giao diện trong máy của mình (ví dụ liệt kê danh sách của các tập tin của máy ở xa trông giống như phần liệt kê của máy mình, đồng thời các thao tác sao bản tập tin (copy), đổi tên, xóa, v.v được xử lý như là chúng ở trong máy mình vậy). Phương pháp làm là thông qua FTP URL, dùng dạng thức ftp(s)://<địa chỉ của máy chủ FTP> (ví dụ: ftp.gimp.org). Tuy không cần thiết, song mật khẩu cũng có thể gửi kèm trong URL, ví dụ: ftp(s)://<tên người dùng>:<mật khẩu>@<địa chỉ của máy chủ FTP>:<số cổng>. Đa số các trình duyệt web đòi hỏi truyền tải FTP ở chế độ bị động, song không phải máy chủ FTP nào cũng thích ứng được. Một số trình duyệt web chỉ cho phép tải tập tin xuống máy của mình mà không cho phép tải tập tin lên máy chủ. I.10. FTP trên nền SSH "FTP trên nền của SSH" ám chỉ đến một kỹ thuật "đào hầm" cho một phiên giao dịch dùng giao thức FTP bình thường, thông qua một kết nối dùng Sinh viªn: Bïi V¨n ¸i Líp 47K-Tin 10

Ngày đăng: 19/12/2013, 11:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan