Wireshark là bộ công cụ phân tích mạng (tên trước là Ethereal) được dùng để thu thập gói tin trong thời gian thực và hiển thị gói tin ở định dạng mà người dùng có thể đọc được. Wireshark bao gồm bộ lọc, mã hóa màu và nhiều tính năng khác hỗ trợ tìm hiểu chi tiết lưu lượng mạng và kiểm tra các gói tin riêng lẻ.
Bài viết cung cấp kiến thức cơ bản về cách thu thập, lọc và phân tích gói tin. Bạn có thể sử dụng Wireshark để kiểm tra lưu lượng mạng của một chương trình đáng ngờ, phân tích luồng lưu lượng trên mạng hoặc khắc phục sự cố mạng.
Cài đặt Wireshark
Tải xuống Wireshark cho Windows hoặc macOS từ link web chính thức. Nếu đang sử dụng Linux hoặc một hệ thống khác giống UNIX, Wireshark sẽ có sẵn trong kho lưu trữ gói. Ví dụ: nếu sử dụng Ubuntu, bạn sẽ tìm thấy Wireshark trong Ubuntu Software Center.
Thu thập gói tin
Sau khi tải xuống và cài đặt Wireshark, hãy khởi chạy phần mềm và nhấp đúp vào tên giao diện mạng trong Capture để bắt đầu thu thập các gói tin trên giao diện. Ví dụ: nếu muốn xem lưu lượng truy cập trên mạng không dây, hãy nhấp vào giao diện không dây của máy. Để hiển thị các tùy chọn nâng cao hãy nhấp vào Capture > Options.
Sau khi nhấp vào tên giao diện, các gói tin sẽ bắt đầu xuất hiện trong thời gian thực. Wireshark thu thập từng gói ra và vào hệ thống mạng.
Nếu đang trong promiscuous mode — chế độ này được bật theo mặc định — bạn sẽ thấy hiển thị tất cả các gói tin trên toàn bộ hệ thống bên cạnh những gói được gửi tới bộ chuyển đổi mạng. Để kiểm tra xem promiscuous mode đã được kích hoạt hay chưa, hãy nhấp vào Capture > Options và tick ô “Enable promiscuous mode on all interfaces” hiển thị ở cuối cửa sổ.
Nhấp vào nút “Stop” màu đỏ ở gần góc trên cùng bên trái để dừng theo dõi lưu lượng truy cập.
Mã màu
Bạn sẽ thấy các gói tin được đánh dấu bằng nhiều màu khác nhau. Wireshark sử dụng màu sắc để giúp phân biệt các loại lưu lượng truy cập một cách nhanh chóng. Theo mặc định, màu tím nhạt là lưu lượng TCP, màu xanh lam nhạt là lưu lượng UDP và màu đen là gói tin có lỗi — ví dụ: những gói tin không được phân phối theo đúng thứ tự.
Để xem cụ thể ý nghĩa của các mã màu, hãy nhấp vào View > Coloring Rules. Bạn có thể tùy chỉnh và sửa đổi các quy tắc màu ở đây nếu muốn.
Thu thập gói tin mẫu
Nếu muốn khám phá thêm những mạng khác, hãy tham khảo trang chứa các tệp thu thập gói tin mẫu trên Wiki Wireshark để tải xuống và phân tích. Nhấp vào File > Open trong Wireshark và tìm tệp đã tải xuống để mở.
Bạn cũng có thể lưu ảnh chụp màn hình trong Wireshark và mở chúng sau. Nhấp vào File > Save để lưu các gói tin đã thu thập được.
Lọc gói tin
Ví dụ, bạn muốn kiểm tra một thông tin cụ thể nào đó như lưu lượng gửi đi khi gọi điện về nhà để đóng tất cả các ứng dụng khác đang sử dụng mạng nhằm giảm bớt lưu lượng. Khi đó bạn sẽ nhận được rất nhiều gói tin cần sàng lọc. Đó là khi ta cần dùng đến bộ lọc của Wireshark.
Cách cơ bản nhất để áp dụng bộ lọc là nhập vào hộp filter ở đầu cửa sổ và nhấp vào Apply (hoặc nhấn Enter). Ví dụ: nhập “dns” thì bạn sẽ chỉ thấy các gói DNS. Khi bắt đầu nhập từ khóa, Wireshark sẽ tự động hoàn chỉnh chuỗi thông tin dựa trên gợi ý tương ứng.
Bạn cũng có thể nhấp vào Analyze > Display Filters để chọn một bộ lọc trong các bộ lọc mặc định của Wireshark. Tại đây bạn cũng có thể thêm bộ lọc tùy chỉnh riêng và lưu lại để sử dụng trong tương lai.
Để đọc thêm về ngôn ngữ lọc hiển thị của Wireshark, hãy tham khảo Building Display Filter Expressions trên trang tài liệu chính thức của Wireshark.
Khi nhấn chuột phải vào từng gói và chọn Follow > TCP Stream, chương trình sẽ hiển thị toàn bộ quãng thời gian giao tiếp TCP giữa máy khách và máy chủ. Bạn cũng có thể nhấp vào giao thức khác trong menu Follow để xem toàn bộ quãng thời gian giao tiếp cho những giao thức đó.
Đóng cửa sổ và bạn sẽ thấy bộ lọc đã được áp dụng tự động. Wireshark đang hiển thị các gói tạo phiên giao tiếp.
Phân tích gói tin
Nhấp và chọn một gói tin để xem chi tiết.
Bạn cũng có thể tạo bộ lọc mới ở đây – nhấp chuột phải vào phần thông tin chi tiết và chọn menu con Apply as Filter để áp dụng.
Wireshark là một công cụ cực kỳ mạnh mẽ và bài viết mới chỉ sơ lược qua một số tính năng cơ bản của Wireshark. Các chuyên gia thường sử dụng Wireshark để gỡ lỗi trong quá trình triển khai giao thức mạng, kiểm tra vấn đề bảo mật và kiểm tra nội bộ giao thức mạng.
Thông tin chi tiết xem tại Trang hướng dẫn sử dụng Wireshark và trang tài liệu liên quan trên Wireshark.