[Wireshark – "Kính hiển vi" của dân mạng – Hướng dẫn cơ bản cho người mới bắt đầu phân tích gói tin]
Bạn đã bao giờ gặp tình huống mạng chạy chậm bất thường, hoặc cần kiểm tra lưu lượng giữa các hệ thống nhưng không biết bắt đầu từ đâu? Trong thế giới networking, có một công cụ được ví như "kính hiển vi số" giúp bạn nhìn thấy từng gói tin di chuyển trong mạng – đó chính là Wireshark. Wireshark là gì?
Wireshark là phần mềm mã nguồn mở, dùng để phân tích giao thức mạng (network protocol analyzer). Nó cho phép bạn bắt và xem chi tiết từng gói tin truyền qua card mạng (NIC) của máy tính – từ TCP, HTTP, DNS, đến VoIP, SMB...
Phần mềm này chạy được trên Windows, macOS, và Linux, và có giao diện đồ họa trực quan (GUI) nên rất thân thiện với người dùng, kể cả người mới bắt đầu học về mạng.
Khi nào dùng Wireshark?
Cách bắt gói với Wireshark
Bạn có thể dùng Wireshark để:
Wireshark hỗ trợ nhiều định dạng khác ngoài .pcap, rất tiện khi làm việc với nhiều thiết bị hoặc tool khác nhau.
Bộ lọc – Vũ khí mạnh mẽ của Wireshark
Để không bị “ngợp” với hàng ngàn gói tin, Wireshark cung cấp 2 loại filter cực kỳ mạnh mẽ: 1. Capture Filters – Bộ lọc khi bắt gói
Áp dụng trước khi bắt gói, giúp bạn chỉ thu thập lưu lượng cần thiết.
Ví dụ:
tcp port 80
=> chỉ bắt gói HTTP.
2. Display Filters – Bộ lọc khi xem lại
Áp dụng sau khi đã bắt, giúp lọc ra các gói tin liên quan.
Ví dụ:
ip.src == 10.129.0.1
=> chỉ hiển thị gói tin có nguồn từ IP 10.129.0.1.
Bạn có thể kết hợp nhiều điều kiện với &&, ||, !=, rất linh hoạt trong phân tích.
Phân tích chi tiết từng luồng dữ liệu (streams)
Wireshark còn có khả năng:
Tính năng này cực kỳ hữu ích khi bạn cần tái dựng lại toàn bộ quá trình truyền file, cuộc gọi, hoặc request HTTP.
Giao diện Wireshark: 3 phần chính
Một khi hiểu rõ cấu trúc này, bạn sẽ cảm thấy như đang “giải phẫu” từng lớp gói tin trong mạng vậy!
Kết luận
Wireshark là một công cụ không thể thiếu cho bất kỳ ai học hoặc làm việc trong lĩnh vực MCSA, Azure, AWS, hệ thống, bảo mật hoặc DevOps.
Hãy bắt đầu bằng cách:
Gợi ý học tập:
Bạn đã bao giờ gặp tình huống mạng chạy chậm bất thường, hoặc cần kiểm tra lưu lượng giữa các hệ thống nhưng không biết bắt đầu từ đâu? Trong thế giới networking, có một công cụ được ví như "kính hiển vi số" giúp bạn nhìn thấy từng gói tin di chuyển trong mạng – đó chính là Wireshark. Wireshark là gì?
Wireshark là phần mềm mã nguồn mở, dùng để phân tích giao thức mạng (network protocol analyzer). Nó cho phép bạn bắt và xem chi tiết từng gói tin truyền qua card mạng (NIC) của máy tính – từ TCP, HTTP, DNS, đến VoIP, SMB...
Phần mềm này chạy được trên Windows, macOS, và Linux, và có giao diện đồ họa trực quan (GUI) nên rất thân thiện với người dùng, kể cả người mới bắt đầu học về mạng.
Khi nào dùng Wireshark?
- Khi cần bắt lỗi kết nối giữa client và server
- Khi cần kiểm tra dữ liệu DNS, HTTP, hay gói tin bị chặn
- Khi cần xác định tấn công mạng hoặc mã độc truyền dữ liệu
- Khi phân tích lưu lượng sau khi đã dùng công cụ như EPC (Embedded Packet Capture) hoặc SPAN trên thiết bị mạng
Cách bắt gói với Wireshark
Bạn có thể dùng Wireshark để:
- Bắt trực tiếp gói tin đang đi qua máy tính (hoặc qua port SPAN được mirror)
- Hoặc mở lại file .pcap được trích xuất từ thiết bị như switch/router
Wireshark hỗ trợ nhiều định dạng khác ngoài .pcap, rất tiện khi làm việc với nhiều thiết bị hoặc tool khác nhau.
Bộ lọc – Vũ khí mạnh mẽ của Wireshark
Để không bị “ngợp” với hàng ngàn gói tin, Wireshark cung cấp 2 loại filter cực kỳ mạnh mẽ: 1. Capture Filters – Bộ lọc khi bắt gói
Áp dụng trước khi bắt gói, giúp bạn chỉ thu thập lưu lượng cần thiết.
Ví dụ:
tcp port 80
=> chỉ bắt gói HTTP.
2. Display Filters – Bộ lọc khi xem lại
Áp dụng sau khi đã bắt, giúp lọc ra các gói tin liên quan.
Ví dụ:
ip.src == 10.129.0.1
=> chỉ hiển thị gói tin có nguồn từ IP 10.129.0.1.
Bạn có thể kết hợp nhiều điều kiện với &&, ||, !=, rất linh hoạt trong phân tích.
Phân tích chi tiết từng luồng dữ liệu (streams)
Wireshark còn có khả năng:
- Theo dõi TCP stream (ví dụ: một kết nối HTTP)
- Theo dõi VoIP call
- Phân tích các session giao tiếp như FTP, SMB, TLS…
Tính năng này cực kỳ hữu ích khi bạn cần tái dựng lại toàn bộ quá trình truyền file, cuộc gọi, hoặc request HTTP.
Giao diện Wireshark: 3 phần chính
- Packet List (trên cùng): Danh sách các gói tin khớp với filter đang áp dụng.
- Packet Details (giữa): Phân tích nội dung chi tiết của gói tin được chọn.
- Packet Bytes (dưới): Dữ liệu nhị phân gốc (hex view).
Một khi hiểu rõ cấu trúc này, bạn sẽ cảm thấy như đang “giải phẫu” từng lớp gói tin trong mạng vậy!
Kết luận
Wireshark là một công cụ không thể thiếu cho bất kỳ ai học hoặc làm việc trong lĩnh vực MCSA, Azure, AWS, hệ thống, bảo mật hoặc DevOps.
Hãy bắt đầu bằng cách:
- Dùng SPAN port để mirror traffic về laptop
- Bắt file pcap
- Dùng Display Filter để phân tích nhanh
Gợi ý học tập:
- Lab thực hành bắt HTTP traffic giữa trình duyệt và webserver
- Tìm gói DNS và theo dõi TCP Stream ứng dụng
- Áp dụng Display Filter để lọc lỗi hoặc truy vết theo IP/mã lỗi HTTP