SlideShare a Scribd company logo
1 of 17
FTP
Client
Nhóm
Mục lục
01 Giới thiệu đề tài
02Phân công công việc
03 Các vấn đề lý thuyết, kĩ thuật
04Demo chương trình
GIỚI THIỆU ĐỀ
TÀI
01Nội dung đề tài
Tham khảo: FileZilla
Đăng nhập vào một máy chủ FTP
Hiện danh sách các tệp tin trên máy chủ
Tải một tệp tin được chọn, có thể tải bằng nhiều kết nối song song
Upload được tệp tin lên thư mục được chọn
Đổi tên, xóa một tệp tin, thư mục được chọn
Tạo một thư mục mới
Ngôn ngữ C/C++.
Tự lập trình mức SOCKET
Các vấn đề lý
thuyết
02Khái niệm FTP
FTP (File Transfer Protocol) là giao thức
truyền tập tin thuộc tầng ứng dụng trong mô
hình OSI.
FTP 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
02Cơ chế hoạt động
FTP moves files between local and
remote file systems
02Đặc điểm giao thức FTP
FTP có 2 kết nối song song riêng rẽ
Cổng 21 dùng để thiết lập kết
nối giữa máy khách và máy
chủ
Sau khi đã thiết lập kết nối
giao thức FTP sẽ dùng
cổng 20 để truyền dữ liệu.
022 chế độ của giao thức FTP
02Một số dòng lệnh FTP thông dụng
USER username
PASS password
LIST
RETR filename
STOR filename
Gửi định danh người dùng đến máy chủ
Gửi mật khẩu người dùng đến máy chủ
Hiển thị danh sách các tập tin trong
thư mục hiện thời
Gửi file trong thư mục hiện thời đến máy chủ
(qua lệnh GET)
Lưu file vào thư mục hiện thời từ máy chủ
(thông quan lệnh PUT)
02Một số dòng lệnh FTP thông dụng
RNFR remote-filename
RNTO remote-filename
DELE remote-filename
MKD remote-directory
RMD remote-directory
Xác định tên file sẽ đổi tên
Thay đổi tên sau khi gửi lệnh RNFR
Xóa tập tin “filename”
Tạo thư mục với đường dẫn “remote-directory”
Xóa thư mục “remote-directory”
02Một số dòng lệnh FTP thông dụng
PWD
CWD remote-directory
TYPE type-character
PASV
QUIT
In ra tên thư mục hiện thời
Di chuyển đến thư mục khác
Thiết lập kiểu file sẽ được truyền đi
Thông báo với FTP server chuyển sang
chế độ “Passive”(bị động)
Ngắt kết nối đến FTP server.
02Cấu trúc phản hồi từ ftp server
331 Đăng nhập thành công
125 Sẵn sàng truyền nhận dữ liệu
425 Không thể mở kết nối
452
550
150
…
Lỗi ghi file
Không truyền được file
Upload file thành công
…
02Các công nghệ sử dụng
IDE : Visual Studio
Ngôn ngữ : C
Thư viện : Winsock
Phân công
Công việc
02Phân công công việc
Thành viên Công việc
Trần Văn An
- Thuyết trình
- Tạo kết nối
- Đăng nhập
- Upload,hiển thị thư mục
- Download,chuyển thư mục
- Thoát
Phạm Ngọc Hà
- Đổi tên, xóa tập tin, thư mục
- Tạo thư mục mới
- Di chuyển tập tin
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
Ftp clientserver

More Related Content

What's hot

12 dhcp server
12  dhcp server12  dhcp server
12 dhcp serverCơn Gió
 
Linux thietlaphethongmangubunt-45879
Linux thietlaphethongmangubunt-45879Linux thietlaphethongmangubunt-45879
Linux thietlaphethongmangubunt-45879Son Giap
 
Network 1206754309287969-2
Network 1206754309287969-2Network 1206754309287969-2
Network 1206754309287969-2Tiệu Vây
 
17 ftp & ssh server
17  ftp & ssh server17  ftp & ssh server
17 ftp & ssh serverCơn Gió
 
Bài giảng Lập trình mạng
Bài giảng Lập trình mạngBài giảng Lập trình mạng
Bài giảng Lập trình mạngctrl man
 
Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]
Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]
Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]Van Chau
 

What's hot (8)

12 dhcp server
12  dhcp server12  dhcp server
12 dhcp server
 
Linux thietlaphethongmangubunt-45879
Linux thietlaphethongmangubunt-45879Linux thietlaphethongmangubunt-45879
Linux thietlaphethongmangubunt-45879
 
Network 1206754309287969-2
Network 1206754309287969-2Network 1206754309287969-2
Network 1206754309287969-2
 
Lt socket
Lt socketLt socket
Lt socket
 
17 ftp & ssh server
17  ftp & ssh server17  ftp & ssh server
17 ftp & ssh server
 
Bài giảng Lập trình mạng
Bài giảng Lập trình mạngBài giảng Lập trình mạng
Bài giảng Lập trình mạng
 
Mailserver
MailserverMailserver
Mailserver
 
Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]
Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]
Mang may-tinh -tai-lieu-lt - [cuuduongthancong.com]
 

Similar to Ftp clientserver

Php03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdongPhp03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdongconglongit90
 
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mâyLưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mâyPhamTuanKhiem
 
16 ldap server
16  ldap server16  ldap server
16 ldap serverCơn Gió
 
php với oracle database
php với oracle databasephp với oracle database
php với oracle databaseNgo Trung
 
Lesson 3 - Linux File System
Lesson 3 - Linux File SystemLesson 3 - Linux File System
Lesson 3 - Linux File SystemThang Man
 
Project name
Project nameProject name
Project namethom Tomu
 
Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_filenguyenghia831
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pmNguyen Tran
 
Báo cáo thực tập tuần - VPS (slide)
Báo cáo thực tập tuần - VPS (slide)Báo cáo thực tập tuần - VPS (slide)
Báo cáo thực tập tuần - VPS (slide)Quân Quạt Mo
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tierNguyen Tran
 
01 introduction
01  introduction01  introduction
01 introductionCơn Gió
 

Similar to Ftp clientserver (20)

Php03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdongPhp03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdong
 
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mâyLưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
 
16 ldap server
16  ldap server16  ldap server
16 ldap server
 
Linux04 hethongtaptin
Linux04 hethongtaptinLinux04 hethongtaptin
Linux04 hethongtaptin
 
Linux+02
Linux+02Linux+02
Linux+02
 
php với oracle database
php với oracle databasephp với oracle database
php với oracle database
 
Lesson 3 - Linux File System
Lesson 3 - Linux File SystemLesson 3 - Linux File System
Lesson 3 - Linux File System
 
Project name
Project nameProject name
Project name
 
Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_file
 
Apache http server
Apache http serverApache http server
Apache http server
 
Chương 2.pdf
Chương 2.pdfChương 2.pdf
Chương 2.pdf
 
Phan 1 sv
Phan 1   svPhan 1   sv
Phan 1 sv
 
Bai2 tmdt1
Bai2 tmdt1Bai2 tmdt1
Bai2 tmdt1
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pm
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
Báo cáo thực tập tuần - VPS (slide)
Báo cáo thực tập tuần - VPS (slide)Báo cáo thực tập tuần - VPS (slide)
Báo cáo thực tập tuần - VPS (slide)
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tier
 
01 introduction
01  introduction01  introduction
01 introduction
 

Recently uploaded

Chương 7 Chủ nghĩa xã hội khoa học neu slide
Chương 7 Chủ nghĩa xã hội khoa học neu slideChương 7 Chủ nghĩa xã hội khoa học neu slide
Chương 7 Chủ nghĩa xã hội khoa học neu slideKiuTrang523831
 
Tạp dề ngắn phục vụ cho nhà hàng, quán cafe
Tạp dề ngắn phục vụ cho nhà hàng, quán cafeTạp dề ngắn phục vụ cho nhà hàng, quán cafe
Tạp dề ngắn phục vụ cho nhà hàng, quán cafeMay Ong Vang
 
Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...
Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...
Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...Học viện Kstudy
 
Báo cáo thực tập môn logistics và quản lý chuỗi cung ứng
Báo cáo thực tập môn logistics và quản lý chuỗi cung ứngBáo cáo thực tập môn logistics và quản lý chuỗi cung ứng
Báo cáo thực tập môn logistics và quản lý chuỗi cung ứngngtrungkien12
 
bài tập trắc nghiệm cho sinh viên. (1)doc.doc
bài tập trắc nghiệm cho sinh viên. (1)doc.docbài tập trắc nghiệm cho sinh viên. (1)doc.doc
bài tập trắc nghiệm cho sinh viên. (1)doc.docLeHoaiDuyen
 

Recently uploaded (6)

Chương 7 Chủ nghĩa xã hội khoa học neu slide
Chương 7 Chủ nghĩa xã hội khoa học neu slideChương 7 Chủ nghĩa xã hội khoa học neu slide
Chương 7 Chủ nghĩa xã hội khoa học neu slide
 
Căn hộ Aio City Bình Tân - Tập đoàn Hoa Lâm.pdf
Căn hộ Aio City Bình Tân - Tập đoàn Hoa Lâm.pdfCăn hộ Aio City Bình Tân - Tập đoàn Hoa Lâm.pdf
Căn hộ Aio City Bình Tân - Tập đoàn Hoa Lâm.pdf
 
Tạp dề ngắn phục vụ cho nhà hàng, quán cafe
Tạp dề ngắn phục vụ cho nhà hàng, quán cafeTạp dề ngắn phục vụ cho nhà hàng, quán cafe
Tạp dề ngắn phục vụ cho nhà hàng, quán cafe
 
Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...
Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...
Enter Digital - Ứng dụng Digital Marketing trong nhà hàng Nhật Bản - Minh Anh...
 
Báo cáo thực tập môn logistics và quản lý chuỗi cung ứng
Báo cáo thực tập môn logistics và quản lý chuỗi cung ứngBáo cáo thực tập môn logistics và quản lý chuỗi cung ứng
Báo cáo thực tập môn logistics và quản lý chuỗi cung ứng
 
bài tập trắc nghiệm cho sinh viên. (1)doc.doc
bài tập trắc nghiệm cho sinh viên. (1)doc.docbài tập trắc nghiệm cho sinh viên. (1)doc.doc
bài tập trắc nghiệm cho sinh viên. (1)doc.doc
 

Ftp clientserver

  • 2. Mục lục 01 Giới thiệu đề tài 02Phân công công việc 03 Các vấn đề lý thuyết, kĩ thuật 04Demo chương trình
  • 4. 01Nội dung đề tài Tham khảo: FileZilla Đăng nhập vào một máy chủ FTP Hiện danh sách các tệp tin trên máy chủ Tải một tệp tin được chọn, có thể tải bằng nhiều kết nối song song Upload được tệp tin lên thư mục được chọn Đổi tên, xóa một tệp tin, thư mục được chọn Tạo một thư mục mới Ngôn ngữ C/C++. Tự lập trình mức SOCKET
  • 5. Các vấn đề lý thuyết
  • 6. 02Khái niệm FTP FTP (File Transfer Protocol) là giao thức truyền tập tin thuộc tầng ứng dụng trong mô hình OSI. FTP 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
  • 7. 02Cơ chế hoạt động FTP moves files between local and remote file systems
  • 8. 02Đặc điểm giao thức FTP FTP có 2 kết nối song song riêng rẽ Cổng 21 dùng để thiết lập kết nối giữa máy khách và máy chủ Sau khi đã thiết lập kết nối giao thức FTP sẽ dùng cổng 20 để truyền dữ liệu.
  • 9. 022 chế độ của giao thức FTP
  • 10. 02Một số dòng lệnh FTP thông dụng USER username PASS password LIST RETR filename STOR filename Gửi định danh người dùng đến máy chủ Gửi mật khẩu người dùng đến máy chủ Hiển thị danh sách các tập tin trong thư mục hiện thời Gửi file trong thư mục hiện thời đến máy chủ (qua lệnh GET) Lưu file vào thư mục hiện thời từ máy chủ (thông quan lệnh PUT)
  • 11. 02Một số dòng lệnh FTP thông dụng RNFR remote-filename RNTO remote-filename DELE remote-filename MKD remote-directory RMD remote-directory Xác định tên file sẽ đổi tên Thay đổi tên sau khi gửi lệnh RNFR Xóa tập tin “filename” Tạo thư mục với đường dẫn “remote-directory” Xóa thư mục “remote-directory”
  • 12. 02Một số dòng lệnh FTP thông dụng PWD CWD remote-directory TYPE type-character PASV QUIT In ra tên thư mục hiện thời Di chuyển đến thư mục khác Thiết lập kiểu file sẽ được truyền đi Thông báo với FTP server chuyển sang chế độ “Passive”(bị động) Ngắt kết nối đến FTP server.
  • 13. 02Cấu trúc phản hồi từ ftp server 331 Đăng nhập thành công 125 Sẵn sàng truyền nhận dữ liệu 425 Không thể mở kết nối 452 550 150 … Lỗi ghi file Không truyền được file Upload file thành công …
  • 14. 02Các công nghệ sử dụng IDE : Visual Studio Ngôn ngữ : C Thư viện : Winsock
  • 16. 02Phân công công việc Thành viên Công việc Trần Văn An - Thuyết trình - Tạo kết nối - Đăng nhập - Upload,hiển thị thư mục - Download,chuyển thư mục - Thoát Phạm Ngọc Hà - Đổi tên, xóa tập tin, thư mục - Tạo thư mục mới - Di chuyển tập tin TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY

Editor's Notes

  1. trong từng phiên của giao thức FTP, người sử dụng ngồi trước máy tính và muốn chuyển các tập tin tới hoặc nhận từ các máy khác. để người dùng truy cập vào tài khoản điều khiển, người dùng bắt buộc cần cung cấp định danh và mật khẩu, . sau khi cung câp thông tin xác minh, người dùng có thể truyền file từ máy tính của mình sang các mày tính khác. theo như hình trên, người dùng tương tác với FTP thông qua tác tử người dùng FTP. đầu tiên người dùng cần cunng cấp tên máy cần chuyển file, do tiến trình máy khách của FTP trên máy cá nhân đã được thiết lập kết nối FTP với tiến trình FTP server trên máy điều khiển. sau đó họ sẽ cung cấp định danh và mật khẩu, những thứ sẽ được gửi qua giao thức kết nối TCP dưới dạng câu lệnh FTP. ngay khi server đã xác thực người dùng, người dùng sẽ sao cháp 1 hoặc nhiều file được lưu trữ trên máy cục bộ tới máy điều khiển.
  2. kết nối điều khiển được dùng để gửi thông tin điều khiển giữa 2 máy - thông tin như định danh, mật khẩu, các lệnh để thay đổi thư mục, lệnh "get" và "put" các file. -kết nối dữ liệu dùng để truyền các file do FTP sử dụng một kết nối điều khiển riêng rẽ nên nó còn được gọi là gửi thông tin điều khiển "out-of-band" bên cạnh đó HTTP gửi tiêu đề request và respone trên cùng một kết nối TCP nên HTTP được gọi là gửi kết nối điều khiển "in-band"
  3. https://youtu.be/2qplVtQ5TDE?t=43s
  4. khi người dùng bắt đầu phiên làm việc với một máy tính điều khiển, phía máy khách của FTP sẽ khởi tạo kết nối điều khiển TCP với bên máy chủ trên cổng 21. phía máy khách của FTP sẽ gửi định danh của người dùng và mật khẩu thông qua kết nối điều khiển, đồng thời có thể gửi thêm các lệnh thay đổi thư mục trên máy điều khiển.khi máy chủ nhận được lệnh cho việc truyền file thông quan kết nối điều khiển, nó sẽ khởi tạo kết nối dữ liệu TCP tới phía máy khách. nếu trong quá trình kết nối ,, người dùng muốn gửi các file khác thì FTP sẽ ở các kết nối dữ liệu khác. vì thế, với FTP. vì thế với FTP, kết nối điều khiển yêu cầu phải xuyên suốt quá trình làm việc của người dùng, nhưng với một kết nối dữ liệu mới được tạo ra cho mỗi lần truyền file bên trong phiên() trong suốt phiên làm việc, máy chủ FTP phải đảm bảo trạng thái về người dùng. trong trường hợp riêng, máy chủ phải giữ thư mục hiện thời của người dùng và cây thư mục. đối với HTTP, theo một cách khác, stateless - nó không giữ trạng thái người dùng.
  5. khi người dùng bắt đầu phiên làm việc với một máy tính điều khiển, phía máy khách của FTP sẽ khởi tạo kết nối điều khiển TCP với bên máy chủ trên cổng 21. phía máy khách của FTP sẽ gửi định danh của người dùng và mật khẩu thông qua kết nối điều khiển, đồng thời có thể gửi thêm các lệnh thay đổi thư mục trên máy điều khiển.khi máy chủ nhận được lệnh cho việc truyền file thông quan kết nối điều khiển, nó sẽ khởi tạo kết nối dữ liệu TCP tới phía máy khách. nếu trong quá trình kết nối ,, người dùng muốn gửi các file khác thì FTP sẽ ở các kết nối dữ liệu khác. vì thế, với FTP. vì thế với FTP, kết nối điều khiển yêu cầu phải xuyên suốt quá trình làm việc của người dùng, nhưng với một kết nối dữ liệu mới được tạo ra cho mỗi lần truyền file bên trong phiên() trong suốt phiên làm việc, máy chủ FTP phải đảm bảo trạng thái về người dùng. trong trường hợp riêng, máy chủ phải giữ thư mục hiện thời của người dùng và cây thư mục. đối với HTTP, theo một cách khác, stateless - nó không giữ trạng thái người dùng.
  6. khi người dùng bắt đầu phiên làm việc với một máy tính điều khiển, phía máy khách của FTP sẽ khởi tạo kết nối điều khiển TCP với bên máy chủ trên cổng 21. phía máy khách của FTP sẽ gửi định danh của người dùng và mật khẩu thông qua kết nối điều khiển, đồng thời có thể gửi thêm các lệnh thay đổi thư mục trên máy điều khiển.khi máy chủ nhận được lệnh cho việc truyền file thông quan kết nối điều khiển, nó sẽ khởi tạo kết nối dữ liệu TCP tới phía máy khách. nếu trong quá trình kết nối ,, người dùng muốn gửi các file khác thì FTP sẽ ở các kết nối dữ liệu khác. vì thế, với FTP. vì thế với FTP, kết nối điều khiển yêu cầu phải xuyên suốt quá trình làm việc của người dùng, nhưng với một kết nối dữ liệu mới được tạo ra cho mỗi lần truyền file bên trong phiên() trong suốt phiên làm việc, máy chủ FTP phải đảm bảo trạng thái về người dùng. trong trường hợp riêng, máy chủ phải giữ thư mục hiện thời của người dùng và cây thư mục. đối với HTTP, theo một cách khác, stateless - nó không giữ trạng thái người dùng.