Sử dụng Wireshark để bắt và phân tích gói tin của quá trình truyền tin qua giao thức FTP.. Đồng thời sử dụng Wireshark để theo dõi quá trình truyền thông, bắt và phân tích các gói tin.
Trang 1LAB 1.2: GIAO THỨC HTTP và FTP
Mô hình mạng
Bảng địa chỉ IP
Device Interface IP Address Eagle Server N/A 192.168.10.5
Host PC N/A Sinh viên tự xác định địa chỉ tại các
máy thực hành
Mục tiêu
Sử dụng Wireshark để bắt và phân tích gói tin của quá trình truyền tin qua giao thức HTTP
Sử dụng Wireshark để bắt và phân tích gói tin của quá trình truyền tin qua giao thức FTP
Quan sát TCP thiết lập và quản lý các kênh truyền giao tiếp kết nối với HTTP và FTP
Kiến thức cần nắm
Nhiệm vụ, ý nghĩa của giao thức tầng ứng dụng (Application Layer Protocol)
Nguyên tắc hoạt động của các giao thức HTTP, FTP
Nội dung thực hiện
Trong bài lab này sinh viên sẽ sử dụng các ứng dụng trên client để kết nối tới eagle_server Đồng thời sử dụng Wireshark để theo dõi quá trình truyền thông, bắt và phân tích các gói tin
Trang 2Sử dụng trình duyệt web như Internet Explorer hoặc Firefox để kết nối tới Eagle_Server Eagle_Server có cấu hình sẵn một số dịch vụ mạng như HTTP để đáp ứng yêu cầu của client
Sinh viên thực hiện các tác vụ, đồng thời trả lời các câu hỏi tương ứng
Tác vụ 1: Bắt và phân tích quá trình trao đổi dữ liệu thông qua giao thức HTTP giữa web client và web server
Bước 1: Bắt đầu bắt gói với Wireshark
Khởi động Wireshark
Chọn đúng card mạng giao tiếp sau đó nhấn nút Start để bắt đầu bắt gói
Bước 2: Bắt gói dữ liệu trao đối qua giao thức HTTP
1 Sử dụng 1 trình duyệt web như Internet Explorer hoặc Firefox để kết nối đến Eagle_Server theo địa chỉ: http://eagle-server.example.com (http://192.168.10.5) Một trang web như hình 1.2.1 sẽ được hiển thị Không đóng (thoát) trình duyệt web cho đến khi được yêu cầu
Hình 1.2.1: Trang chủ của web server
2 Nhấn nút fresh trên cửa sổ trình duyệt web để đảm bảo liên kết không bị thay đổi
3 Mở một trình duyệt web thứ hai kết nối đến địa chỉ: http:/eagle-server.example.com/page2.html Một trang web như hình 1.2.2 sẽ được hiển thị
Trang 3Hình 1.2.2: Trang liên kết của web server
4 Chuyển qua cửa sổ của chương trình Wireshark và dừng việc bắt gói tin
5 Đóng tất cả các trình duyệt web
6 Kết quả dữ liệu mà Wireshark bắt được sẽ được hiện thị Có ít nhất là 3 phiên làm việc của HTTP sẽ được tạo ra HTTP phiên đầu tiên kết nối đến http://eagle-server.example.com Phiên thứ 2 xảy ra khi bạn refresh lại trang web Phiên thứ 3
xảy ra khi truy cập vào địa chỉ của web server http://eagle-server.example.com/page2.html
7 Trong hình 1.2.3 hiển thị nội dung bắt được phiên làm việc của HTTP Trước khi HTTP bắt đầu, phiên làm việc của TCP phải được tạo mới Điều này được thể hiện
ở ba dòng 13, 14, 15 ở hình 1.2.3
Hình 1.2.3: Nội dung phiên làm việc của HTTP
Bước 3: Sinh viên sử dụng kết quả Wireshark bắt gói tại máy mình, dùng thông tin của
các trường con tại cửa sổ Packet detail pane để trả lời các câu hỏi dưới đây:
Điền vào bảng dưới những thông tin được trình bày tại phiên làm việc của HTTP:
Web browser IP address Web server IP address
Trang 4Web browser port number Web server port number Máy tính thực hiện khởi đầu phiên làm việc HTTP như thế nào?
Máy tính kết thúc phiên làm việc của HTTP như thế nào?
Chọn dòng đầu tiên của giao thức HTTP, một yêu cầu được đi từ trình duyệt web Trong hình 1.2.3 ở trên, tại dòng 16 là các yêu cầu GET Giao thức nào được đóng gói bên trong các phân đoạn TCP?
Mở rộng các thông tin giao thức cuối cùng bắt được và bất kỳ subfields Đây là các thông tin được gửi tới web server Sử dụng giao thức này để hoàn thành bảng dưới
Protocol Version Request Method
* Request URI Language
1 Hồi đáp của web server đến yêu cầu của GET của web client là gì?
2 Hồi đáp này mang ý nghĩa gì?
Trang 5
3 Kéo thanh trượt của cửa sổ wireshark xuống cho đến khi thấy được phiên làm việc thứ 2 Hình 1.2.4 là một mẫu chụp được hiển thị
Hình 1.2.4: Phiên làm việc bắt được của HTTP khi Refresh máy
Bởi vì các trang web này đã được lưu trong bộ nhớ cache client, các yêu cầu GET chứa
các hướng dẫn bổ sung sau vào máy chủ:
If-modified-since: Fri, 26 Jan 2007 06:19:33 GMT\r\n If-None-Match: “98072-b8-82da8740”\r\n <- page tag number (ETAG)
4 Các hồi đáp ETAG từ web server là gì?
Tác vụ 2: Bắt và phân tích quá trình trao đổi dữ liệu giữa web client và web server qua giao thức FTP
Giao thức FTP thuộc lớp Application đã có chỉnh sửa quan trọng từ khi nó xuất hiện lần đầu tiên trong tài liệu RFC 114, năm 1971 FTP version 5.1 được định nghĩa trong RFC
959 vào tháng 10 năm 1985
Các trình duyệt web quen thuộc không chỉ được dùng để giao tiếp với máy chủ HTTP Trong bước này, trình duyệt web và dòng lệnh FTP sẽ được dùng để tải dữ liệu từ máy chủ FTP
Để thực hiện bước này, sinh viên sử dụng cửa sổ command line của Windows Thực hiện
bằng cách click vào start | run, sau đó gõ cmd và nhấn Enter Màn hình như hình 1.2.5
được hiển thị:
Trang 6Hình1.2.5: Cửa sổ của chương trình command line
Bước 1: Khởi động Wireshark
Bước 2: Bắt đầu thực hiện quá trình FPT trên client
Hình 1.2.6: Truy cập Eagle Server bằng FTP Command Line
1 Bắt đầu một phiên làm việc sinh viên sử dụng tiện ích FTP client để truy cập đến FTP server Sinh viên thực hiện tương tự như hình 1.2.6
2 Khi xuất hiện dấu nhắc tại cửa sổ Command Line của FTP client là ftp> Điều này
có nghĩa là các client FTP đang chờ đợi một lệnh được gửi đến từ FTP server Để
xem danh sách các lệnh FTP client gõ help
Trang 7Hình 1.2.7: Lệnh help cho FTP Client
Tuy nhiên, một số lượng lớn các lệnh FTP client làm cho việc sử dụng các tiện ích trên Command Line sẽ khó khăn cho một người chưa có nhiều kinh nghiệm làm việc với Command Line Ở đây sẽ chỉ sử dụng một vài lệnh để Wireshark có thể đánh giá
3 Gõ lệnh dir để hiện thị nội dung thư mục hiện hành:
Hình 1.2.8: Lệnh dir cho FTP Client
Các FTP client ở thư mục gốc của FTP server Đây không phải là thư mục gốc thực sự của máy chủ, đây chỉ là điểm cao nhất mà người dùng vô danh có thể truy cập được
4 Các thư mục con có thể ngang hàng Tuy nhiên, di chuyển các tập tin cho máy Di
chuyển vào thư mục pub/eagle_labs/eagle1/chaper2, tải một tập tin và thoát
Trang 8Hình 1.2.9: Download tập tin từ Eagle Server
5 Đóng cửa sổ thực hiện dòng lệnh
6 Dừng việc bắt gói tin tại cửa sổ của Wireshark và lưu gói tin bắt được là
FTP_Command_Line_Client
Bước 3: Khởi động trình duyệt web
1 Bắt đầu bắt gói mới với Wireshark
2 Mở một trình duyệt web, nhập vào thanh địa chỉ trình duyệt đường dẫn ftp://eagle-server.example.com Một cửa sổ trình duyệt được mở ra với thư mục Pub được hiển
thị như hình 2.1.10
Trang 9Hình 1.2.10: Trình duyệt web được sử dụng như FTP Client
3 Mở thư mục với đường dẫn là pub/eagle-labs/eagle1/chapter2 Click đôi vào tập tin
ftptoeagle-server.pcap và lưu tập tin này về máy client
4 Khi hoàn thành đóng trình duyệt web lại
5 Dừng việc bắt gói với Wireshark và tiến hành lưu gói tin vừa bắt được với tên
FTP_Web_Client
Bước 4: Dừng việc bắt gói với Wireshark và phân tích dữ liệu của gói tin bắt được
1 Thực hiện mở file FTP_Command_Line_Client đã thực hiện bắt gói ở bước trên
và tiến hành phân tích
2 Trên đầu cửa sổ Wireshark, chọn gói tin FTP bắt được mà giao thức truyền dẫn
đầu tiên là Respone 220 Trong hình 1.2.11 là dòng 23
Hình 1.2.11: Wireshark bắt tin tại phiên làm việc của FTP
3 Di chuyển vào cửa sổ Packet Details Pane của Wireshark và mở rộng các giao thức FTP FTP truyền bằng cách sử một codes như HTTP
Trang 10FTP server Respone 220 nghĩa là gì?
_ _
Khi FTP server đưa ra trả lời: 331 Please specify the password, trình duyệt web
đang hồi đáp gì?
_ _
FTP Client sử dụng cổng nào để kết nối tới cổng 21 trên FTP server?
_
Khi dữ liệu được chuyển giao hoặc danh sách các thư mục đơn giản thì một cổng mới được mở ra Điều này được gọi là chế độ chuyển giao Các chế độ chuyển giao có thể là chủ động hoặc bị động Trong chế độ hoạt động, máy chủ sẽ mở một phiên TCP cho FTP Client và truyền dữ liệu qua cổng đó Nguồn FTP server là cổng 20 và FTP Client là các cổng lớn hơn 1023 Trong chế độ bị động, máy khách sẽ mở một cổng mới vào máy chủ
để truyền dữ liệu Cả hai cổng đều trên 1023
Cổng FTP-DATA được sử dụng bởi FTP server?
4 Mở gói tin FTP_Web_Client đã lưu ở trên, quan sát quá trình trao đổi của giao
thức FTP Mặc dù máy khách khác nhau nhưng lệnh là thực hiện tương tự như nhau