Bài tập lớn lập trình mạng

25 1.2K 1
Bài tập lớn lập trình mạng

Đ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

Mục Lục Trang I.Giao thức FTP là gì ?.......................................................................................2 1.Khái niệm giao thức FTP……………………………………………………………………………2 2.Hoạt động của giao thức FTP…………………………………………………………………….2. 3.Các phương thức truyền dữ liệu trong FTP...................................................3 3.1.Stream mode………………………………………………………………………………………….4 3.2.Block mode…………………………………………………………………………………………….4 3.3.Compressed mode………………………………………………………………………………….4 4.Các lệnh FTP(FTP Commands)……………………………………………………………………5 II.Thiết lập FTPServer cá nhân bằng FileZilla…………………………………………………5 III.Các chức năng Đăng nhập, Download, Upload, Xóa file…………………………….13 1.Các thông điệp đáp trả trong mô hình FTP serverclient…………………………….13 1.1.Đăng nhập……………………………………………………………………………………………..13 1.2.Download……………………………………………………………………………………………….13 1.3.Upload……………………………………………………………………………………………………14 2.Chạy chương trình và kiểm tra các chức năng…………………………………………..14 2.1.Đăng nhập……………………………………………………………………………………………..14 2.2.Download………………………………………………………………………………………………14 2.3.Upload………………………………………………………………………………………………….15 2.4.Tạo file, xem và sửa nội dung……………………………………………………………….16 2.5.Xóa file………………………………………………………………………………………………...18

Trường Đại Học Bách Khoa Hà Nội Viện Công Nghệ Thông Tin Và Truyền Thông _*** _ Báo cáo tập lớn Lập Trình Mạng Đề tài: Tìm hiểu Server thiết kế giao thức FTP- Giảng viên hướng dẫn : TS.La Thế Vinh Nhóm sinh viên thực hiện: Hoàng Đình Hợi MSSV:20131693 Nguyễn Hữu Dương MSSV:20130737 Mai Văn Tuyến MSSV:20134363 Hà Nội,2016 Mục Lục Trang I.Giao thức FTP ? .2 1.Khái niệm giao thức FTP……………………………………………………………………………2 2.Hoạt động giao thức FTP…………………………………………………………………….2 3.Các phương thức truyền liệu FTP 3.1.Stream mode………………………………………………………………………………………….4 3.2.Block mode…………………………………………………………………………………………….4 3.3.Compressed mode………………………………………………………………………………….4 4.Các lệnh FTP(FTP Commands)……………………………………………………………………5 II.Thiết lập FTP-Server cá nhân FileZilla…………………………………………………5 III.Các chức Đăng nhập, Download, Upload, Xóa file…………………………….13 1.Các thông điệp đáp trả mô hình FTP server-client…………………………….13 1.1.Đăng nhập…………………………………………………………………………………………… 13 1.2.Download……………………………………………………………………………………………….13 1.3.Upload……………………………………………………………………………………………………14 2.Chạy chương trình kiểm tra chức năng………………………………………… 14 2.1.Đăng nhập…………………………………………………………………………………………… 14 2.2.Download………………………………………………………………………………………………14 2.3.Upload………………………………………………………………………………………………….15 2.4.Tạo file, xem sửa nội dung……………………………………………………………….16 2.5.Xóa file……………………………………………………………………………………………… 18 Lời Mở Đầu Ngày nay,internet đóng vai trò lớn việc phát triển kinh tế xã hội, nhân tố thúc đẩy xã hội ngày phát triển, tạo điều kiện cho người giới kết nối, trao đổi, trò chuyện với Chính thế, internet thiếu xã hội Trong xã hội việc lướt web, chat, email, voip, chat, video, trở lên phổ biến người giới Bên cạnh đó, vấn đề trao đổi file thiếu người dùng đầu cuối Giao thức FTP giao thức trao đổi file phổ biến Tuy nhiên hoạt động xảy giao thức biết hết cách thức làm việc giao thức Nên nhóm chúng em vào tìm hiểu giao thức FTP này.Và cụ thể nhóm chúng em làm phần thiết kế tìm hiểu giao thức FTP-Server 5 I.Giao thức FTP ? 1.Khái niệm giao thức FTP FTP (viết tắt File Transfer Protocol dịch “Giao thức truyền tập tin“) giao thức truyền file máy tính Giao thức xuất từ năm 1971 (khi Internet dự án thử nghiệm) sử dụng rộng rãi tận ngày FTP đặc tả RFC 959 FTP cho phép trao đổi file hai máy tính Thông qua giao thức FTP, người dùng tải liệu hình ảnh, văn bản, tập tin media (nhạc, video)… từ máy tính lên máy chủ đặt nơi khác tải tập tin có máy chủ máy tính cá nhân Giao thức FTP sử dụng nhiều vào mục đích… 2.Hoạt động giao thức FTP Trong phiên làm việc FTP, người dùng làm việc máy tính trao đổi file với máy tính chỗ khác Để truy cập tới máy tính khác, người dùng phải đăng nhập thông qua việc cung cấp định danh người dùng mật Sau thông tin kiểm chứng công việc truyền file từ hệ thống file máy tính đến hệ thống file đầu thực FTP sử dụng hai kết nối TCP song song, đường truyền thông tin điều khiển (control connection) đường truyền liệu (data connection) Các thông tin điều khiển thông tin định danh người dùng, mật truy nhập, lệnh thay đổi thư mục, lệnh “PUT” “GET” file hai máy tính trao đổi qua đường truyền thông tin điều khiển Đường truyền liệu để truyền file liệu thực Vì FTP phân biệt luồng thông tin điều khiển với luồng liệu nên dược gọi gửi thông tin điều khiển out-of-band FTP gồm kết nối điều khiển liệu Khi người dùng bắt đầu phiên làm việc FTP, FTP thiết lập đường kết nối thông tin điều khiển TCP qua cổng 21 Phía client giao thức FTP truyền thông tin định danh người dùng mật lệnh thay đổi thư mục qua kết nối Khi người dùng có yêu cầu trao đổi file (truyền từ/đến máy người dùng), FTP mở kết nối TCP để truyền liệu qua cổng 20 FTP truyền file qua kết nối sau truyền xong đóng kết nối lại Nếu phiên làm việc người dùng có yêu cầu truyền file FTP mở kết nối khác Như với FTP, luồng thông tin điều khiển mở tồn suốt phiên làm việc người dùng, kết nối liệu tạo cho yêu cầu truyền file (kết nối liệu không liên tục) 6 Trong suốt phiên làm việc, FTP server phải giữ lại thông tin trạng thái người dùng, đặc biệt phải kết hợp thông tin điều khiển với tài khoản người dùng Server lưu giữ thư mục thời mà người dùng truy cập thư mục người dùng Ghi lại thông tin trạng thái phiên làm việc hạn chế đáng kể tổng số phiên làm việc đồng thời Mô hình hoạt động giao thức FTP Các phương thức truyền liệu FTP Các phương thức truyền dữ liệu FTP Khi kênh dữ liệu đã được thiết lập xong giữa Server-DTP với User-DTP, dữ liệu sẽ được truyền trực tiếp từ phía client tới phía server, hoặc ngược lại, dựa theo các lệnh được sử dụng Do thông tin điều khiển được gửi kênh điều khiển, nên toàn bộ kênh dữ liệu có thể được sử dụng để truyền dữ liệu FTP có ba phương thức truyền dữ liệu, đó là: stream mode, block mode, và compressed mode 3.1 Stream mode :Trong phương thức này, dữ liệu được truyền dưới dạng các byte không cấu trúc liên tiếp Thiết bị gửi chỉ đơn thuần đầy luồng dữ liệu qua kết nối TCP tới phía nhận Không có một trường tiêu đề nhất định được sử dụng phương thức này làm cho nó khá khác so với nhiều giao thức gửi dữ liệu rời rạc khác Phương thức này chủ yếu dựa vào tính tin cậy truyền dữ liệu của TCP Do nó không có cầu trúc dạng header, nên việc báo hiệu kết thúc file sẽ đơn giản được thực hiện việc phía thiết bị gửi ngắt kênh kết nối dữ liệu đã truyền xong Trong số ba phương thưc, stream mode là phương thức được sử dụng nhiều nhất triển khai FTP thực tế Có một số lý giải thích điều đó Trước hết, nó là phương thức mặc định và đơn giản nhất, đó việc triển khai nó là dễ dàng nhất Thứ hai, nó là phương pháp phổ biến nhất, vì nó xử lý với các file đều đơn thuần là xử lý dòng byte, mà không để ý tới nội dung của các file Thứ ba, nó là phương thức hiệu quả nhất vì nó không tốn một lượng byte “overload” để thông báo header 3.2 Block mode: Đây là phương thức truyền dữ liệu mang tính quy chuẩn hơn, với việc dữ liệu được chia thành nhiều khối nhỏ và được đóng gói thành các FTP blocks Mỗi block này có một trường header byte báo hiệu độ dài, và chứa thông tin về các khối dữ liệu được gửi Một thuật toán đặc biệt được sử dụng để kiểm tra các dữ liệu đã được truyền và để phát hiện, khởi tạo lại đối với một phiên truyền dữ liệu đã bị ngắt 3.3 Compressed mode: Đây là một phương thức truyền sử dụng một kỹ thuật nén khá đơn giản, là “run-length encoding” – có tác dụng phát hiện và xử lý các đoạn lặp dữ liệu được truyền để giảm chiều dài của toàn bộ thông điệp Thông tin đã được nén, sẽ được xử lý block mode, với trường header Trong thực tế, việc nến dữ liệu thường được sử dụng ở những chỗ khác, làm cho phương thức truyền kiểu compressed mode trở nên không cần thiết nữa Ví dụ: nếu bạn truyền một file qua internet với modem tương tự, modem của bạn thông thường sẽ thực hiện việc nén ở lớp 1; các file lớn FTP server cũng thường được nén sẵn với một số định dạng ZIP, làm cho việc nén tiếp tục truyền dữ liệu trở nên không cần thiết 4.Các lệnh FTP(FTP Commands) Lệnh (yêu cầu) từ client đến server kết (trả lời) từ server tới client gửi thông qua kết nối điều khiển mã hoá bảng mã ASCII bit Do giống lệnh HTTP, người ta đọc lệnh FTP Trường hợp lệnh viết liên tục cặp ký tự CR (carriage return) LF (line feed) sử dụng để phân biệt lệnh (và trả lời) Mỗi câu lệnh chứa kí tự ASCII in hoa, số lệnh có tham số Sau số câu lệnh hay gặp: • USER username: sử dụng để gửi thông tin định danh người dùng cho server • PASS password: dùng để gửi password cho server • LIST: dùng để yêu cầu server gửi danh sách file thư mục thời Danh sách gửi thông qua kết nối liệu TCP • RETR filename: dùng để lấy file từ thư mục thời (trên máy xa) • STOR filename: dùng để tải file vào thư mục thời (trên máy xa) Thông thường có quan hệ 1-1 lệnh người dùng lệnh FTP Ứng với lệnh từ client trả lời server Câu trả lời mã chữ số có thông báo kèm theo II.Thiết lập FTP-Server cá nhân FileZilla Quá trình thiết lập cấu hình FTP-Server phức tạp, tự tạo hệ thống FileZilla FTP-Server hoàn toàn biến máy tính sử dụng Windows thành FTP server, sau thiết lập kết nối với nhiều máy tính client khác Về mặt chất, FileZilla FTP-Server ứng dụng mã nguồn mở miễn phí dành cho hệ điều hành Windows, hỗ trợ giao thức kết nối bảo mật FTP FTP qua SSL/TLS tới server Khi sử dụng giao thức SSL, mã hóa kết nối host với để đảm bảo lượng liệu truyền tải an toàn, bên cạnh ứng dụng cho phép người dùng tùy chọn nhiều địa cổng server khác FileZilla Server Interface không cung cấp cho người dùng tiện lợi trình tạo quản lý người dùng, mà thiết lập quyền đọc ghi tài khoản khác nhau, người quản lý hạn chế việc truy cập trái phép vào phần tài liệu riêng tư Bên cạnh đó, tạo Group – dùng để kết hợp nhiều tài khoản người dùng có mức phân quyền lại với nhau, số thiết lập khác như: giới hạn server, kích hoạt không sử dụng tính SSL người dùng đăng nhập, tốc độ truyền tải liệu tối đa Để thực hiện, bạn tải cài đặt phần mềm FileZilla dành cho Server, sau khởi động ứng dụng, nhập địa localhost (127.0.0.1) phần Server Address mật ô Administration Password, giá trị Port mặc định 14147 Nhấn OK: Như đề cập tới trên, Group giúp dễ dàng việc quản lý nhiều tài khoản người dùng tương tự Việc cần làm trước tiên tạo Group, sau gán tài khoản riêng biệt tới nhóm Các bạn chọn menu Edit > Groups hình dưới: Bảng điều khiển Groups hiển thị, trước tiên nhấn Add nhập tên nhóm cần tạo, sau kích hoạt quyền truy cập cho tài khoản bên nhóm từ phần Group Settings.Tiếp theo việc định thư mục phép chia sẻ với client, chuyển tới phần Shared folders từ phía bên trái chọn thư 10 mục cần chia sẻ để gán Sau đó, chuyển tới bước gán tài khoản người dùng tới Group: Từ menu Edit, bạn chọn Users: Tương tự Groups, tạo tài khoản người dùng – User thiết lập mức phân quyền đọc, ghi tương ứng Nhấn nút Add, đặt tên cho tài khoản, chọn nhóm tương ứng từ menu drop – down, sau nhấn OK để hoàn tất: 11 Ở chế độ mặc định, hệ thống tạo tài khoản người dùng với mật trống, muốn đặt mật bảo vệ cho User ta kích hoạt tùy chọn Password phần Account Settings Tại đây, thay đổi Group membership, kích hoạt tùy chọn Bypass userlimit of server Force SSL for user login: Nếu không định thư mục chia sẻ tạo Groups gán sau Chỉ việc chọn Shared folders sau nhấn Add từ Shared folders: 12 Phần Files Directories cho phép xác nhận mức phân quyền tài khoản người dùng, bao gồm: đọc, ghi, xóa, liệt kê Ở chế độ mặc định, chương trình tự động gán quyền tới tất thành phần bên thư mục chia sẻ Tuy nhiên, ta tắt bỏ tùy chọn +Subdirs để hạn chế việc truy cập, phần Shared Limits việc thiết lập tốc độ download upload tối đa tài khoản, tùy khoảng thời gian ngày, phần IP Filter loại bỏ địa IP cố định: Khi hoàn tất trình thiết lập User, chuyển sang hệ thống client để khởi tạo kết nối tới server FTP Nếu muốn truyền tải liệu qua hệ thống 13 mạng local, ta dùng địa IP máy server để tạo kết nối từ phía client Dùng lệnh ipconfig Command Prompt để tìm địa IP hình dưới: Sau đó, mở FileZilla FTP chọn File > Site Manager, nhập thông tin cần thiết vào Nếu máy client kết nối tới hệ thống mạng, điền địa IP máy server phần Host để kết nối, sau chọn Normal từ phần Logon Type Tiếp theo, nhập tên đăng nhập ô User, mật phần Password: Khi hoàn tất, nhấn nút Access: 14 FileZilla FTP Server ghi lại toàn thông tin liệu nhận yêu cầu nhận gửi đi, bao gồm địa kết nối client, tên đăng nhập, địa IP, tốc độ truyền tải file: Bên cạnh đó, chia sẻ địa IP server với client không hệ thống mạng Để xác định địa IP để tự động điều chuyển, mở FileZilla Server Options từ menu chọn thẻ Passive mode settings, kích hoạt tùy 15 chọn Use the following IP nhập địa IP cần chia sẻ Có thể giữ nguyên tùy chọn nhận địa IP từ ip.filezilla-project.org/ip.php tự thiết lập: Khi hoàn tất, hệ thống client bên kết nối tới server truy cập vào thư mục chia sẻ Nếu xảy lỗi hệ thống Firewall Windows router III.Các chức Đăng nhập, Download, Upload, Xóa file Các thông điệp đáp trả mô hình FTP server-client 1.1.Đăng nhập Client : Client gửi thông tin đăng nhập gồm username password lên server USER PASS Server: 120: Dịch vụ sẵn sang … phút 220: Dịch vụ sẵn sàng cho người dùng 331: Username OK, cần password 230: Đăng nhập thành công 257 : “pathname” tạo 250:Success 16 221: Goodbye Nếu thông tin đăng nhập sai: 530: Thông tin đăng nhập sai, cần kiểm tra lại username password 1.2.Download Client: Tải filename.txt từ Server Server: 220: dịch vụ sẵn sàng cho người dùng 250: kết nối tới thư muc server thành công 227: bước vào chế độ thụ động 150: File trạng thái ổn, kết nối mở 226: download thành công 1.3.Upload Client: gửi filename.txt lên server Server: 250: kết nối tới thư muc server thành công 227: bước vào chế độ thụ động 150: File trạng thái ổn, kết nối mở 226: upload thành công Chạy chương trình kiểm tra chức đăng nhập, download, upload, xóa file,tạo file đồng thời xem sửa 2.1.Đăng nhập Đây hình đăng nhập với username admin password hint 2.2.Download Chúng em download file xampp từ server client Chỉ việc click chuột phải vào file muốn download sau bảng rat a click vào download 17 Và kết quả: Ở góc phải hình có báo chuyển file thành công File xampp nằm gọn client 2.3.Upload Chúng em upload file mp3 có tên Dạ khúc từ client lên server Chỉ việc click chuột phải vào file click tiếp upload 18 Và kết quả: file mp3 từ client upload sang server 2.4.Tạo file , xem sửa nội dung Click chuột phải vào New folder, chọn phần create new file, 19 File em đặt tên abc.txt Sau em click chuột phải vào file tạo mà chọn phần View/Edit 20 Đây nội dung file abc Ta xem sửa file thoải mái 2.5.Xóa file Em xóa file abc.txt vừa tạo cách click chuột phải vào chọn phần Delete 21 Kết không file abc.txt server 22 TÀI LIỆU THAM KHẢO http://doc.edu.vn/tai-lieu/de-tai-tim-hieu-ve-giao-thuc-ftp-7358/ http://quantrimang.com/huong-dan-thiet-lap-ftp-server-ca-nhan-bangfilezilla-84531 Cùng với tham khảo bạn lớp Trong trình học tập báo cáo chúng em nhiều thiếu sót Kính mong thầy bỏ qua Chúng em xin cảm ơn ! 23 24 25 [...]... chương trình sẽ tự động gán quyền tới tất cả các thành phần bên trong thư mục được chia sẻ đó Tuy nhiên, ta cũng có thể tắt bỏ tùy chọn +Subdirs để hạn chế việc truy cập, trong phần Shared Limits là việc thiết lập tốc độ download và upload tối đa đối với từng tài khoản, tùy từng khoảng thời gian trong ngày, và trong phần IP Filter chúng ta có thể loại bỏ các địa chỉ IP cố định: Khi hoàn tất quá trình. .. http://doc.edu.vn/tai-lieu/de-tai-tim-hieu-ve-giao-thuc-ftp-7358/ 2 http://quantrimang.com/huong-dan-thiet-lap-ftp-server-ca-nhan-bangfilezilla-84531 3 Cùng với tham khảo các bạn cùng lớp Trong quá trình học tập cũng như trong bài báo cáo này chúng em còn nhiều thiếu sót Kính mong thầy bỏ qua Chúng em xin cảm ơn ! 23 24 25 ... của server với những client không cùng trong hệ thống mạng Để xác định địa chỉ IP để tự động điều chuyển, mở FileZilla Server Options từ menu chính và chọn thẻ Passive mode settings, kích hoạt tùy 15 chọn Use the following IP và nhập địa chỉ IP cần chia sẻ Có thể giữ nguyên tùy chọn nhận địa chỉ IP từ ip.filezilla-project.org/ip.php hoặc tự thiết lập: Khi hoàn tất, hệ thống client bên ngoài đã có thể... từng khoảng thời gian trong ngày, và trong phần IP Filter chúng ta có thể loại bỏ các địa chỉ IP cố định: Khi hoàn tất quá trình thiết lập của User, chúng ta sẽ chuyển sang hệ thống client để khởi tạo kết nối tới server FTP Nếu muốn truyền tải dữ liệu qua hệ thống 13 mạng local, ta có thể dùng địa chỉ IP của máy server để tạo kết nối từ phía client Dùng lệnh ipconfig trong Command Prompt để tìm địa... Client: gửi filename.txt lên server Server: 250: kết nối tới thư muc server thành công 227: bước vào chế độ thụ động 150: File trong trạng thái ổn, kết nối đang được mở 226: upload thành công 2 Chạy chương trình và kiểm tra các chức năng đăng nhập, download, upload, xóa file,tạo 1 file mới đồng thời xem và sửa 2.1.Đăng nhập Đây là màn hình đăng nhập với username là admin và password đã được hint 2.2.Download... ipconfig trong Command Prompt để tìm địa chỉ IP như hình dưới: Sau đó, mở FileZilla FTP và chọn File > Site Manager, nhập các thông tin cần thiết vào đây Nếu máy client được kết nối tới cùng hệ thống mạng, điền địa chỉ IP của máy server trong phần Host để kết nối, sau đó chọn Normal từ phần Logon Type Tiếp theo, nhập tên đăng nhập trong ô User, mật khẩu trong phần Password: Khi hoàn tất, nhấn nút Access:

Ngày đăng: 24/05/2016, 14:37

Từ khóa liên quan

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

Tài liệu liên quan