SỬ DỤNG WIRESHARK ĐỂ QUAN SÁT CÁC GÓI TIN TRÊN MẠNG
(dựa theo Lab 2.6.2 CCNA)
Mục đích
- Biết được mục đích của chương trình phân tích gói tin Wireshark.
- Bắt được gói tin bằng phần mềm Wireshark.
- Biết phân tích các gói tin trao đổi trên mạng.
- Tìm hiểu chức năng lọc của Wireshark.
Thông tin cần biết
Wireshark là phần mềm phân tích gói tin, được sử dụng để
khắc phục sự cố mạng, phân tích mạng, xây dựng giao thức và ứng dụng mạng, sử
dụng trong đào tạo. Trước năm 2006, Wireshark có tên là Ethereal.
Phần mềm phân tích gói tin có thể bắt và lưu giữ lại các
thông tin liên quan đến dữ liệu đang được truyền đi trên mạng. Nó có thể đọc
nội dung và phân tích các gói tin theo các đặc tả khác nhau.
Wireshark có thể phân tích được nhiều loại giao thức mạng
khác nhau.
Hướng dẫn sử dụng Wireshark
Để bắt được gói tin, Wireshark phải được cài đặt trên máy
tính có kết nối mạng (LAN, mạng ảo, Internet…v.v) đang hoạt động và Wireshark
phải được chạy trước, trước khi quá trình trao đổi dữ liệu diễn ra.
Màn hình khởi động của Wireshark.
Để bắt đầu bắt gói tin, vào menu Capture\ chọn Options. Hộp
thoại Options cho phép thiết lập các tùy chọn, đặt các điều kiện lọc, giúp lựa
chọn loại dữ liệu và số lượng dữ liệu sẽ bắt.
Trước tiên, cần đảm bảo là Wireshark được thiết lập để bắt
gói tin trên giao tiếp mạng thích hợp: từ mục Interface, bấm chuột vào vị trí
mũi tên để lựa chọn cạc mạng sẽ sử dụng để bắt gói tin. Đối với máy tính, sẽ
chọn cạc mạng đang được kết nối mạng.
Ngoài ra, có thể thiết lập thêm một số tùy chọn khác. Ví dụ,
các phần được đánh dấu dưới đây.
- Capture packets in promiscuous mode: nếu không được đánh dấu chọn, thì chỉ bắt được các gói tin có đích đến là máy này. Nếu đánh dấu chọn, thì bên cạnh các gói tin có đích đến là máy này, còn có thể bắt được các gói tin trên cùng đoạn mạng chuyển qua cạc mạng (nhưng đích đến không phải là máy này). Chú ý: việc bắt các gói tin trên cùng đoạn mạng, đi qua cạc mạng (đích đến của gói tin không phải là máy đang xem xét) sẽ có các kết quả khác nhau, tùy thuộc vào các thiết bị mạng (hub, switch, router) được sử dụng trên hệ thống.
- Name resolution: với tùy chọn này, Wireshark sẽ quyết định có/hay không thực hiện việc phân giải địa chỉ mạng (trong các gói tin) sang dạng tên. Mặc dù việc phân giải tên là có ích, tuy nhiên, việc phân giải tên cũng làm gia tăng các gói tin được bắt tại cạc mạng, dẫn đến làm méo mó kết quả của quá trình phân tích mạng.
Bấm nút Start để bắt đầu quá trình
bắt gói. Có thể thực hiện lệnh ping tới máy khác, hoặc truy cập một website, sau
đó quan sát màn hình kết quả bắt gói của Wireshark.
Bấm nút Stop để dừng quá trình bắt
gói.
Cửa sổ hiển thị kết quả bắt gói của Wireshark gồm có 3 phần.
Phần danh sách các gói tin: hiển thị tất cả các gói tin đã
bắt được, kèm theo thông tin vắn tắt của mỗi gói tin.
Khi bấm vào mỗi gói tin trong phần “Danh sách các gói tin”,
thông tin về gói tin(được chọn) sẽ hiển thị tại phần “Nội dung chi tiết mỗi gói
tin”, và nội dung của gói tin dưới dạng hệ số16 sẽ được hiển thị tại phần “Nội
dung gói tin dạng hex”.
Phần “Nội dung chi tiết mỗi gói tin” sẽ hiển thị các giao
thức, các trường của mỗi giao thức, các giao thức. Các trường được tổ chức theo
cấu trúc cây, có thể mở rộng hoặc thu gọn cấu trúc cây để tiện quan sát.
Có thể lưu kết quả của quá trình bắt gói vào một tập tin.
Sau này có thể sử dụng phần mềm Wireshark mở lại các tập tin đã được lưu trước
đó để thực hiện các phân tích.
Khi đóng màn hình kết quả hoặc tắt chương trình Wireshark,
sẽ có cửa sổ nhắc người sử dụng lưu lại các kết quả đã bắt.
Bài tập 1: bắt gói ping
- Máy tính phải được kết nối vào một máy tính khác (thông qua mạng LAN, WLAN, WAN hoặc mạng ảo…v.v).
- Chạy chương trình Wireshark, thiết lập một số tùy chọn cho phù hợp như đã trình bày ở phần trên.
- Thực hiện lệnh ping (ping địa chỉ IP) tới một máy tính khác. Ví dụ: ping tới địa chỉ IP của máy Eagle Server, 192.168.254.254.
- Sau khi thực hiện lệnh ping thành công (đã nhận được gói trả lời – reply), dừng quá trình bắt gói.
- Quan sát kết quả ở cửa sổ “Danh sách các gói tin” của chương trình Wireshark, trả lời các câu hỏi sau:
- Tìm ra 8 dòng thể hiện quá trình ping vừa thực hiện, gồm các dòng nào (số thứ tự)?
- Lệnh ping sử dụng giao thức gì? Tên đầy đủ của giao thức đó?
- Hai loại gói tin (message) của lệnh ping?
- Trong cửa sổ “Danh sách các gói tin” chỉ chứa địa chỉ nguồn và đích của 2 máy bạn vừa thực hiện lệnh ping, có đúng không? Nếu không thì tại sao?
- Quan sát kết quả ở cửa sổ “Nội dung chi tiết mỗi gói tin” của chương trình Wireshark, trả lời các câu hỏi sau:
- Cho biết 2 loại địa chỉ được sử dụng trong quá trình thực hiện lệnh ping? Tại sao có 2 loại này?
- Các giao thức có trong frame Ethernet?
- Vào menu File, chọn mục Close, chọn Continue without Saving để đóng cửa sổ kết quả.
Bài tập 2: bắt gói FTP
- Máy tính phải kết nối được với máy Eagle Server (192.168.254.254), đây là máy FTP server.
- Chạy chương trình Wireshark, thiết lập một số tùy chọn cho phù hợp như đã trình bày ở phần trên.
- Tại cửa sổ dòng lệnh nhập nội dung: ftp 192.168.254.254
- Khi kết nối được thiết lập, thực hiện chứng thực bằng tài khoản cisco, mật khẩu cisco (hoặc có thể sử dụng tài khoản anonymous, mật khẩu để trắng).
- Nếu đăng nhập thành công, nhập lệnh: get /pub/eagle_labs/eagle1/chapter1/gaim-1.5.0.exe để tải tập tin gaim-1.5.0.exe từ máy ftp server. Màn hình kết quả:
C:\>ftp 192.168.254.254
Connected to 192.168.254.254.
220 Welcome to the eagle-server FTP service.
User (192.168.254.254:(none)): cisco
331 Please specify the password.
Password:
230 Login successful.
ftp> get /pub/eagle_labs/eagle1/chapter1/gaim-1.5.0.exe
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /pub/eagle_labs/eagle1/chapter1/gaim-1.5.0.exe
(6967072 bytes).
226 File send OK.
ftp: 6967072 bytes received in 0.39Seconds 17818.60Kbytes/sec.
ftp>
- Sau khi tải xong tập tin, gõ lệnh quit để kết thúc phiên làm việc với ftp server.
- Xác định các dòng thể hiện toàn bộ quá trình kết nối, tải tập tin và ngắt kết nối (số thứ tự)? (Quá trình này bao gồm các gói của giao thức TCP và FTP).
- Xác định các dòng thể hiện quá trình tạo kết nối, đăng nhập vào server? Kể tên các thông điệp 2 máy đã trao đổi với nhau?
- Xác định các dòng thể hiện quá trình yêu cầu tải tập tin của máy client và quá trình truyền tập tin từ server về client?
- Xác định các dòng thể hiện quá trình đăng xuất và ngắt kết nối? Cho biết các thông điệp 2 máy đã trao đổi với nhau?
- Xác định các gói TCP được trao đổi trong suốt quá trình truyền tập tin của giao thức FTP. Trường nào trong header của TCP chỉ ra điều này?
- Trong cửa sổ “Danh sách các gói tin”, chọn một dòng trong quá trình tạo kết nối FTP, quan sát trong cửa sổ “Nội dung chi tiết mỗi gói tin”, hãy cho biết: các giao thức nào đã được đóng gói trong frame?
- Trong cửa sổ “Danh sách các gói tin”, chọn các dòng có chứa tên tài khoản đăng nhập và mật khẩu. Quan sát trong cửa sổ “Nội dung gói tin dạng hex”, bạn có nhận xét gì về vấn đề bảo mật thông tin trong quá trình đăng nhập FTP?
- Trong cửa sổ “Danh sách các gói tin”, chọn một dòng bất kì của quá trình truyền tập tin, hãy cho biết tên của tập tin đang được truyền? Chọn một dòng truyền nội dung của tập tin, bạn có đọc được thông tin trong cửa sổ “Nội dung gói tin dạng hex”?
- Từ cửa sổ bất kì, hãy xác định các gói tin cho biết quá trình ngắt kết nối? Bạn xác định dựa trên yếu tố nào?
- Đóng chương trình Wireshark.
Bài tập 3: bắt gói HTTP
- Máy tính phải kết nối được với máy Eagle Server (192.168.254.254), đây là máy Web server.
- Chạy chương trình Wireshark, thiết lập một số tùy chọn cho phù hợp như đã trình bày ở hai bài tập trước, bắt đầu quá trình bắt gói.
- Mở trình duyệt web, nhập địa chỉ trang web example.com hoặc địa chỉ IP 192.168.254.254, sau khi trang web đã được hiển thị, dừng quá trình bắt gói.
- Xác định các gói tin TCP và HTTP của quá trình tải trang web về?
- Trong cửa sổ “Danh sách các gói tin”, chọn gói HTTP có chứa “(text/html)” trong cột Info. Trong cửa sổ “Nội dung chi tiết mỗi gói tin”, bấm chuột vào dấu “+” tại hàng “Line-based text data: html”, thông tin gì được hiện thị tại đây?
- Đóng chương trình Wireshark.