Wireshark (trước đây là Ethereal) là một phần mềm mã nguồn mở (FOSS) dành cho trình phân tích giao thức mạng. Người ta có thể sử dụng phần mềm này để khắc phục sự cố mạng, phân tích các giao thức truyền thông như TCP, DNS, HTTP, v.v. Wireshark có nhiều tính năng nổi bật so với nhiều đối thủ cạnh tranh:
Chọn một thiết bị để bắt đầu bắt gói tin bằng cách nhấp đúp vào tên của thiết bị đó. Trong trường hợp này, chúng ta hãy chọn giao diện ‘eth01’. Như bạn có thể thấy sau khi chọn thiết bị, một số gói bắt đầu xuất hiện trên màn hình.
Ở chế độ hỗn tạp, Wireshark cũng sẽ hiển thị các gói khác ngoài các gói được gửi đến giao diện mạng của chúng tôi. Chế độ này được bật theo mặc định, nếu không, bạn có thể vào 'Capture > Options' và đánh dấu vào hộp kiểm “Enable promiscuous mode on all interfaces” (ở cuối cửa sổ).
Để dừng việc ghi lại lưu lượng, hãy nhấn vào biểu tượng hình vuông màu đỏ ở phía trên bên trái của cửa sổ. Nếu bạn muốn kiểm tra các lần ghi lại sau, bạn chỉ cần lưu chúng bằng cách nhấp vào 'File > Save'. Tương tự như vậy, bạn có thể tải xuống các tệp ghi lại và mở chúng để kiểm tra bằng cách nhấp vào ‘File > Open’. Xác định vị trí tệp của bạn và mở tệp đó.
Wireshark cũng bao gồm các bộ lọc mặc định trong phần 'Phân tích > Hiển thị bộ lọc'. Bạn có thể chọn một bộ lọc tại đây và cũng có thể lưu các bộ lọc tùy chỉnh của mình tại đây để sử dụng sau.
Ngoài việc lọc lưu lượng, bạn cũng có thể xem toàn bộ các cuộc hội thoại TCP giữa máy khách và máy chủ. Để thực hiện việc này, hãy nhấp chuột phải vào một gói và nhấn tùy chọn ‘Theo dõi > Luồng TCP’. Khi bạn đóng cửa sổ này, một bộ lọc sẽ tự động xuất hiện trên thanh tìm kiếm bộ lọc.
1. Sau khi khởi chạy Wireshark, hãy chọn giao diện từ danh sách thiết bị trên trang bắt đầu. Nhấp vào biểu tượng màu xanh lam ở thanh trên cùng bên trái hoặc nhấp đúp vào tên giao diện để bắt đầu nắm bắt.
2. Bây giờ hãy khởi động trình duyệt web và mở một trang web như ‘www.howtoforge.com’. Sau khi trang được tải, hãy dừng việc chụp bằng cách nhấn vào biểu tượng màu đỏ gần nút bắt đầu.
3. Cửa sổ chụp hiện có tất cả các gói được chuyển từ và đến hệ thống của bạn. Các loại lưu lượng khác nhau được hiển thị bằng các mã màu khác nhau như xanh lam, đen, vàng nhạt, v.v.
4. Nếu bạn đang tìm kiếm các gói tin của một giao thức cụ thể như TCP, hãy sử dụng thanh lọc để lọc các kết nối đó. Có nhiều tiến trình nền đang chạy trên một hệ thống sử dụng quyền truy cập mạng và do đó trao đổi các gói tin với mạng bên ngoài. Chúng ta có thể lọc các gói tin được gửi đến hệ thống của mình bằng chức năng lọc của Wireshark. Ví dụ: để lọc các gói tin TCP được gửi đến hệ thống của mình, hãy sử dụng bộ lọc:
ip.dst == ‘your_system_ip’ && tcp
Thay thế nhãn ‘your_system_ip’ bằng IP hệ thống của bạn. Trong trường hợp của chúng tôi, đó là 192.168.18.161. Bây giờ chúng ta hãy xem xét nội dung của các gói tin này, nhấp chuột phải vào bất kỳ gói tin nào và từ danh sách tùy chọn, hãy đi tới: ‘Theo dõi -> Theo dõi luồng TCP’. Một cửa sổ mới sẽ trông giống như cửa sổ hiển thị bên dưới:
Nếu bạn không thể sử dụng Wireshark để kết nối mạng thời gian thực, bạn cũng có thể sử dụng tệp theo dõi gói đã tải xuống.
- Chụp gói tin theo thời gian thực và phân tích ngoại tuyến.
- Chi tiết gói tin theo định dạng dễ đọc đối với con người.
- Quy tắc tô màu cho các gói tin.
Chúng ta sẽ đề cập đến những nội dung nào?
Trong hướng dẫn này, chúng ta sẽ tìm hiểu "Cách sử dụng Wireshark để chụp và phân tích các gói tin". Chúng tôi sử dụng Kali Linux làm hệ điều hành cơ sở cho hướng dẫn này. Bây giờ chúng ta hãy bắt đầu.Bắt gói tin bằng Wireshark
Sau khi khởi chạy Wireshark, bạn sẽ thấy danh sách các thiết bị để bắt gói tin.Chọn một thiết bị để bắt đầu bắt gói tin bằng cách nhấp đúp vào tên của thiết bị đó. Trong trường hợp này, chúng ta hãy chọn giao diện ‘eth01’. Như bạn có thể thấy sau khi chọn thiết bị, một số gói bắt đầu xuất hiện trên màn hình.
Ở chế độ hỗn tạp, Wireshark cũng sẽ hiển thị các gói khác ngoài các gói được gửi đến giao diện mạng của chúng tôi. Chế độ này được bật theo mặc định, nếu không, bạn có thể vào 'Capture > Options' và đánh dấu vào hộp kiểm “Enable promiscuous mode on all interfaces” (ở cuối cửa sổ).
Để dừng việc ghi lại lưu lượng, hãy nhấn vào biểu tượng hình vuông màu đỏ ở phía trên bên trái của cửa sổ. Nếu bạn muốn kiểm tra các lần ghi lại sau, bạn chỉ cần lưu chúng bằng cách nhấp vào 'File > Save'. Tương tự như vậy, bạn có thể tải xuống các tệp ghi lại và mở chúng để kiểm tra bằng cách nhấp vào ‘File > Open’. Xác định vị trí tệp của bạn và mở tệp đó.
Mã hóa màu của Wireshark
Wireshark sử dụng các lược đồ màu khác nhau để biểu thị các loại lưu lượng khác nhau. Ví dụ: màu xanh lam nhạt được sử dụng cho UDP, màu tím cho TCP và màu đen cho các gói có lỗi. Để xem ý nghĩa và sửa đổi các màu này, hãy vào 'Xem > Quy tắc tô màu'.Lọc gói tin bằng Wireshark
Wireshark có tính năng lọc để lọc lưu lượng truy cập cụ thể theo sở thích của bạn. Cách dễ nhất để sử dụng tính năng này là sử dụng thanh tìm kiếm nằm ở đầu danh sách gói tin hoặc bảng mô tả tóm tắt lưu lượng truy cập như được hiển thị bên dưới. Ví dụ: nếu bạn muốn lọc lưu lượng ‘TCP’, hãy nhập TCP vào thanh tìm kiếm. Chúng ta sẽ xem quy trình này sau trong hướng dẫn này.Wireshark cũng bao gồm các bộ lọc mặc định trong phần 'Phân tích > Hiển thị bộ lọc'. Bạn có thể chọn một bộ lọc tại đây và cũng có thể lưu các bộ lọc tùy chỉnh của mình tại đây để sử dụng sau.
Ngoài việc lọc lưu lượng, bạn cũng có thể xem toàn bộ các cuộc hội thoại TCP giữa máy khách và máy chủ. Để thực hiện việc này, hãy nhấp chuột phải vào một gói và nhấn tùy chọn ‘Theo dõi > Luồng TCP’. Khi bạn đóng cửa sổ này, một bộ lọc sẽ tự động xuất hiện trên thanh tìm kiếm bộ lọc.
Kiểm tra gói bằng Wireshark
Trong bảng mô tả tóm tắt lưu lượng, hãy nhấp vào một gói để xem các chi tiết khác nhau của gói đó. Đây là một cách khác để tạo bộ lọc tùy chỉnh. Khi bạn nhấp chuột phải vào bất kỳ chi tiết nào, bạn sẽ thấy tùy chọn ‘Áp dụng làm Bộ lọc’ và menu phụ của nó. Chọn bất kỳ menu phụ nào để tạo bộ lọc đó:Wireshark Test Drive
Bây giờ chúng ta hãy lấy một ví dụ thực tế để nắm bắt và kiểm tra lưu lượng trên giao diện mạng bằng Wireshark. Trong trường hợp của chúng tôi, chúng tôi đã cài đặt Wireshark trên Kali Linux và đang tương tác với giao diện ethernet ‘eth0’. Bây giờ hãy thực hiện các bước sau:1. Sau khi khởi chạy Wireshark, hãy chọn giao diện từ danh sách thiết bị trên trang bắt đầu. Nhấp vào biểu tượng màu xanh lam ở thanh trên cùng bên trái hoặc nhấp đúp vào tên giao diện để bắt đầu nắm bắt.
2. Bây giờ hãy khởi động trình duyệt web và mở một trang web như ‘www.howtoforge.com’. Sau khi trang được tải, hãy dừng việc chụp bằng cách nhấn vào biểu tượng màu đỏ gần nút bắt đầu.
3. Cửa sổ chụp hiện có tất cả các gói được chuyển từ và đến hệ thống của bạn. Các loại lưu lượng khác nhau được hiển thị bằng các mã màu khác nhau như xanh lam, đen, vàng nhạt, v.v.
4. Nếu bạn đang tìm kiếm các gói tin của một giao thức cụ thể như TCP, hãy sử dụng thanh lọc để lọc các kết nối đó. Có nhiều tiến trình nền đang chạy trên một hệ thống sử dụng quyền truy cập mạng và do đó trao đổi các gói tin với mạng bên ngoài. Chúng ta có thể lọc các gói tin được gửi đến hệ thống của mình bằng chức năng lọc của Wireshark. Ví dụ: để lọc các gói tin TCP được gửi đến hệ thống của mình, hãy sử dụng bộ lọc:
ip.dst == ‘your_system_ip’ && tcp
Thay thế nhãn ‘your_system_ip’ bằng IP hệ thống của bạn. Trong trường hợp của chúng tôi, đó là 192.168.18.161. Bây giờ chúng ta hãy xem xét nội dung của các gói tin này, nhấp chuột phải vào bất kỳ gói tin nào và từ danh sách tùy chọn, hãy đi tới: ‘Theo dõi -> Theo dõi luồng TCP’. Một cửa sổ mới sẽ trông giống như cửa sổ hiển thị bên dưới:
Nếu bạn không thể sử dụng Wireshark để kết nối mạng thời gian thực, bạn cũng có thể sử dụng tệp theo dõi gói đã tải xuống.