vinhvinh

New Member

Download miễn phí Bài giảng Chứng chỉ quản trị mạng Linux - File Transfer Protocol





Là chương trình giao tiếp với FTP Server, hầu hết các hệ điều hành đều hỗtrợftp client, trên
linux hay Windows đểmởkết nối tới FTP Server ta dùng lệnh #ftp . Đểthiết lập
một phiên giao dịch, ta cần có địa chỉIP (hay tên máy tính), một tài khoản (username,
password). Username mà FTP hỗtrợsẵn cho người dùng đểmởmột giao dịch FTP có tên là
anonymous với password rỗng. Sau đây là một ví dụvềmởmột phiên giao dịch đến FTP Server:



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 161/271
BÀI 13
File Transfer Protocol
Tóm tắt
Lý thuyết: 5 tiết - Thực hành: 5 tiết.
Mục tiêu Các mục chính Bài tập bắt buộc
Bài tập làm
thêm
Bài học giới thiệu cơ
chế cấu hình và tổ
chức quản trị dịch vụ
FTP
I. Giới thiệu về FTP
II. Chương trình FTP Server
III. Chương trình FTP client
IV. Giới thiệu VsFTP
V. Cấu hình Virtual FTP Server
Bài tập 3.1
(Dịch vụ FTP)
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 162/271
I. Giới thiệu về FTP
I.1. Giao thức FTP
FTP là từ viết tắt của File Transfer Protocol. Giao thức này được xây dựng dựa trên chuẩn TCP,
FTP cung cấp cơ chế truyền tin dưới dạng file thông qua mạng TCP/IP, FTP là 1 dịch vụ đặc biệt
vì nó dùng đến 2 cổng: cổng 20 dùng để truyền dữ liệu (data port) và cổng 21 dùng để truyền
lệnh (command port).
I.1.1 Active FTP
Ở chế độ chủ động (active), máy khách FTP (FTP client) dùng 1 cổng ngẫu nhiên không dành
riêng (cổng N > 1024) kết nối vào cổng 21 của FTP server. Sau đó, máy khách lắng nghe trên
cổng N+1 và gửi lệnh PORT N+1 đến FTP server. Tiếp theo, từ cổng dữ liệu của mình, FTP
server sẽ kết nối ngược lại vào cổng dữ liệu của client đã khai báo trước đó (tức là N+1), Ở khía
cạnh firewall, để FTP Server hỗ trợ chế độ active các kênh truyền sau phải mở:
- Cổng 21 phải được mở cho bất cứ nguồn gửi nào (để client khởi tạo kết nối)
- FTP server's port 21 to ports > 1024 (Server trả lời về cổng điều khiển của client)
- Cho kết nối từ cổng 20 của FTP server đến các cổng > 1024 (Server khởi tạo kết nối vào
cổng dữ liệu của client)
- Nhận kết nối hướng đến cổng 20 của FTP server từ các cổng > 1024 (Client gửi xác nhận
ACKs đến cổng data của server)
Sơ đồ kết nối
- Bước 1, client khởi tạo kết nối vào cổng 21 của server và gửi lệnh PORT 1027.
- Bước 2 server gửi xác nhận ACK về cổng lệnh của client.
- Bước 3 server khởi tạo kết nối từ cổng 20 của mình đến cổng dữ liệu mà client đã khai báo
trước đó.
- Bước 4 client gửi ACK phản hồi cho server.
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 163/271
Khi FTP Server hoạt động ở chế độ chủ động, Client không tạo kết nối thật sự vào cổng dữ liệu
của FTP server, mà chỉ đơn giản là thông báo cho server biết rằng nó đang lắng nghe trên cổng
nào và server phải kết nối ngược về client vào cổng đó. Trên quan điểm firewall đối với máy client
điều này giống như 1 hệ thống bên ngoài khởi tạo kết nối vào hệ thống bên trong và điều này
thường bị ngăn chận trên hầu hết các hệ thống Firewall.
Ví dụ: Phiên làm việc active FTP:
Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80),
dùng chương trình FTP client dạng dòng lệnh, đến máy chủ FTP testbox2.slacksite.com
(192.168.150.90). Các dòng có dấu --> chỉ ra các lệnh FTP gửi đến server và thông tin phản hồi
từ các lệnh này. Các thông tin người dùng nhập vào dưới dạng chữ đậm.
Lưu ý Khi lệnh PORT được phát ra trên client được thể hiện ở 6 byte. 4 byte đầu là địa chỉ IP
của máy client còn 2 byte sau là số cổng. Giá trị cổng đuợc tính bằng (byte_5*256) + byte_6, ví
dụ ( (14*256) + 178) là 3762.
testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): slacker
---> USER slacker
331 Password required for slacker.
Password: TmpPass
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT command successful.
---> LIST
150 Opening ASCII mode data connection for file list.
drwx------ 3 slacker users 104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.
I.1.2 Passive FTP
Để giải quyết vấn đề là server phải tạo kết nối đến client, một cách kết nối FTP khác đã
được phát triển. cách này gọi là FTP thụ động (passive) hay PASV (là lệnh mà client
gửi cho server để báo cho biết là nó đang ở chế độ passive).
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 164/271
Ở chế độ thụ động, FTP client tạo kết nối đến server, tránh vấn đề Firewall lọc kết nối đến cổng
của máy bên trong từ server. Khi kết nối FTP được mở, client sẽ mở 2 cổng không dành riêng N,
N+1 (N > 1024). Cổng thứ nhất dùng để liên lạc với cổng 21 của server, nhưng thay vì gửi lệnh
PORT và sau đó là server kết nối ngược về client, thì lệnh PASV được phát ra. Kết quả là server
sẽ mở 1 cổng không dành riêng bất kỳ P (P > 1024) và gửi lệnh PORT P ngược về cho client..
Sau đó client sẽ khởi tạo kết nối từ cổng N+1 vào cổng P trên server để truyền dữ liệu. theo quan
điểm Firewall trên server FTP, để hỗ trợ FTP chế độ passive, các kênh truyền sau phải được mở:
- Cổng FTP 21 của server nhận kết nối từ bất kỳ nguồn nào (cho client khởi tạo kết nối)
- Cho phép trả lời từ cổng 21 FTP server đến cổng bất kỳ trên 1024 (Server trả lời cho cổng
control của client)
- Nhận kết nối trên cổng FTP server > 1024 từ bất cứ nguồn nào (Client tạo kết nối để truyền
dữ liệu đến cổng ngẫu nhiên mà server đã chỉ ra)
- Cho phép trả lời từ cổng FTP server > 1024 đến các cổng > 1024 (Server gửi xác nhận
ACKs đến cổng dữ liệu của client)
Sơ đồ kết nối Passive FTP
+ Bước 1, client kết nối vào cổng lệnh của server và phát lệnh PASV.
+ Bước 2 server trả lời bằng lệnh PORT 2024, cho client biết cổng 2024 đang mở để
nhận kết nối dữ liệu.
+ Buớc 3 client tạo kết nối truyền dữ liệu từ cổng dữ liệu của nó đến cổng dữ liệu 2024
của server.
+ Bước 4 là server trả lời bằng xác nhận ACK về cho cổng dữ liệu của client.
Trong khi FTP ở chế độ thụ động giải quyết được vấn đề phía client thì nó lại gây ra nhiều vấn đề
khác ở phía server. Thứ nhất là cho phép máy ở xa kết nối vào cổng bất kỳ > 1024 của server.
Điều này khá nguy hiểm trừ khi FTP cho phép mô tả dãy các cổng >= 1024 mà FTP server sẽ
dùng (ví dụ WU-FTP Daemon). Vấn đề thứ hai là một số FTP client lại không hổ trợ chế độ thụ
động. Ví dụ tiện ích FTP client mà Solaris cung cấp không hổ trợ FTP thụ động. Khi đó cần
có thêm trình FTP client. Một lưu ý là hầu hết các trình duyệt Web chỉ hổ trợ FTP thụ động khi
truy cập FTP server theo đường dẫn URL ftp://.
Ví dụ phiên làm việc passive FTP:
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 165/271
Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80),
dùng chương trình FTP client dạng dòng lệnh, đến máy chủ FTP testbox2.slacksite.com
(192.168.150.90), máy chủ Linux chạy ProFTPd 1.2.2RC2. Các dòng có dấu --> chỉ ra các lệnh
FTP gửi đến server và thông tin phản hồi từ các lệnh này. Các thông tin người nhập vào dưới
dạng chữ đậm.
Lưu ý: Đối với FTP thụ động, cổng mà lệnh PORT mô tả chính là cổng sẽ được mở trên server.
Còn đối với FTP chủ động cổng này sẽ đư...
 
Top