Hệ thống dữ liệu mạng của công ty khi bị lỗi hay đánh cắp sẽ gây tổn thất nặng nề. Vì thế, những vấn đề xoay quanh hệ thống dữ liệu mạng luôn được nhiều doanh nghiệp quan tâm. Một trong những phần mềm giám sát, phân tích, đánh giá hệ thống dữ liệu mạng uy tín hiện nay chính là Wireshark. Vậy Wireshark là gì? Cách cài đặt sử dụng phần mềm Wireshark như thế nào?
Giới thiệu về Wireshark
Wireshark là gì?
Wireshark là một phần mềm ứng dụng cho phép người theo dõi, giám sát, phân tích đánh giá hệ thống dữ liệu mạng theo thời gian thực. Bên cạnh đó, ứng dụng này còn báo cáo chính xác tình trạng hệ thống mạng qua một giao diện dễ sử dụng.
Wireshark còn được xem như một bộ phân tích gói mạng (thuật ngữ này trong tiếng Anh là network packet analyzer), có nhiệm vụ nắm bắt các network packets (tạm dịch: các gói thông tin mạng). Từ đó, phần mềm sẽ hiển thị dữ liệu chi tiết cho người dùng.
Phầm mềm Wideshark có những tính năng nổi bật nào?
- Phân tích gói tin thời gian thực: Wireshark cho phép bắt và phân tích các gói tin đang lưu thông trên mạng trong thời gian thực, giúp người dùng xem xét và kiểm tra dữ liệu một cách chi tiết.
- Hỗ trợ nhiều giao thức: Wireshark hỗ trợ hơn 1000 giao thức mạng khác nhau, từ các giao thức phổ biến như TCP/IP, HTTP, DNS, đến các giao thức ít gặp hơn, giúp người dùng có thể phân tích hầu hết các loại lưu lượng mạng.
- Lọc và tìm kiếm mạnh mẽ: Wireshark cung cấp các bộ lọc phức tạp để giúp người dùng tập trung vào các gói tin quan trọng hoặc đáp ứng các điều kiện cụ thể. Công cụ tìm kiếm mạnh mẽ giúp đơn giản hóa việc tìm kiếm các dữ liệu hoặc gói tin cụ thể trong một phiên bắt.
- Phân tích chi tiết giao thức: Wireshark cung cấp khả năng phân tích chi tiết cho từng giao thức và hiển thị cấu trúc dữ liệu, các trường và giá trị của từng gói tin, giúp người dùng hiểu rõ cách thức hoạt động của các giao thức.
- Hỗ trợ nhiều định dạng file: Wireshark có thể mở và lưu trữ các file bắt gói tin với nhiều định dạng khác nhau, bao gồm các định dạng phổ biến như PCAP, PCAPNG.
- Tính năng giải mã và tái dựng dữ liệu: Wireshark có thể giải mã nhiều giao thức được mã hóa (như SSL/TLS) nếu khóa mã hóa được cung cấp, và tái dựng các luồng dữ liệu (chẳng hạn như luồng HTTP hoặc các tập tin truyền qua FTP).
- Hỗ trợ nhiều nền tảng: Wireshark có thể chạy trên nhiều hệ điều hành khác nhau, bao gồm Windows, macOS, Linux, và nhiều nền tảng khác.
Tại sao Wireshark được ưa chuộng?
Miễn phí và mã nguồn mở
Wireshark là phần mềm mã nguồn mở, hoàn toàn miễn phí cho mọi người sử dụng. Điều này tạo điều kiện cho cộng đồng người dùng lớn, đồng thời thúc đẩy sự phát triển liên tục và cải tiến của phần mềm.
Công cụ tiêu chuẩn trong ngành
Wireshark được coi là công cụ tiêu chuẩn trong ngành phân tích mạng. Sự phổ biến của nó trong giới chuyên gia đã biến Wireshark thành một lựa chọn mặc định cho nhiều công việc liên quan đến kiểm tra, phân tích và khắc phục sự cố mạng.
Hỗ trợ cộng đồng mạnh mẽ
Với một cộng đồng người dùng rộng lớn và năng động, Wireshark có lượng tài liệu phong phú, từ hướng dẫn sử dụng, tài liệu kỹ thuật cho đến diễn đàn hỗ trợ. Điều này giúp người dùng mới dễ dàng học hỏi và làm quen với công cụ.
Tính năng học tập và đào tạo
Do Wireshark có thể phân tích và hiển thị các giao thức mạng chi tiết, nó trở thành một công cụ học tập và giảng dạy lý tưởng cho các khóa học liên quan đến mạng và bảo mật. Sinh viên và những người mới bắt đầu thường sử dụng Wireshark để hiểu rõ cách thức hoạt động của các giao thức mạng.
Sự tin cậy và ổn định
Wireshark đã được phát triển và hoàn thiện qua nhiều năm, làm cho nó trở thành một công cụ ổn định và đáng tin cậy. Người dùng có thể yên tâm về chất lượng và độ chính xác của dữ liệu mà Wireshark cung cấp.
Khả năng mở rộng và tùy chỉnh
Wireshark có thể được mở rộng và tùy chỉnh theo nhu cầu cụ thể của người dùng. Nhờ mã nguồn mở, các nhà phát triển có thể bổ sung các tính năng hoặc giao thức mới, làm cho Wireshark luôn phù hợp với các yêu cầu đặc thù của từng môi trường mạng.
Giao diện người dùng thân thiện
Mặc dù là một công cụ mạnh mẽ và phức tạp, Wireshark vẫn cung cấp giao diện người dùng trực quan, dễ sử dụng. Điều này giúp cả những người mới bắt đầu và các chuyên gia đều có thể làm việc hiệu quả với phần mềm.
Khi nào cần sử dụng Wireshark?
- Khắc phục sự cố mạng: Khi mạng gặp sự cố như kết nối chậm, mất gói tin hoặc các vấn đề không rõ nguyên nhân, Wireshark có thể giúp bạn xác định và phân tích lưu lượng mạng để tìm ra nguyên nhân gây ra vấn đề.
- Phân tích hiệu suất mạng: Để tối ưu hóa hiệu suất mạng, Wireshark có thể được sử dụng để kiểm tra và đánh giá lưu lượng mạng, phát hiện các nút thắt cổ chai hoặc các điểm yếu trong mạng.
- Phát hiện và phân tích các cuộc tấn công mạng: Wireshark giúp nhận diện và phân tích các cuộc tấn công mạng như DDoS, tấn công từ chối dịch vụ, hoặc các hành vi đáng ngờ khác. Bạn có thể kiểm tra và phân tích các gói tin để tìm ra các dấu hiệu của các cuộc tấn công hoặc các hoạt động không mong muốn.
- Kiểm tra và phân tích giao thức: Khi phát triển hoặc triển khai một giao thức mạng mới, Wireshark có thể được sử dụng để kiểm tra và phân tích cách thức giao thức hoạt động, đảm bảo rằng nó tuân thủ các tiêu chuẩn và hoạt động như mong đợi.
- Đào tạo và học tập: Wireshark là một công cụ tuyệt vời cho việc học tập về mạng và bảo mật. Sinh viên, giảng viên và những người mới bắt đầu có thể sử dụng Wireshark để học cách hoạt động của các giao thức mạng và hiểu rõ hơn về cấu trúc của các gói tin.
- Giám sát mạng: Trong quá trình giám sát mạng để đảm bảo an toàn và hiệu suất, Wireshark giúp bạn theo dõi lưu lượng mạng trong thời gian thực và phát hiện sớm các vấn đề tiềm ẩn.
- Kiểm tra và đảm bảo an ninh mạng: Wireshark có thể được sử dụng để kiểm tra và xác minh rằng các biện pháp bảo mật mạng đang hoạt động hiệu quả, chẳng hạn như kiểm tra xem liệu lưu lượng mạng có được mã hóa đúng cách hay không.
- Kiểm tra lỗi cấu hình: Nếu bạn nghi ngờ rằng cấu hình mạng hoặc thiết bị có lỗi, Wireshark có thể giúp bạn kiểm tra và xác định chính xác các lỗi này bằng cách phân tích lưu lượng mạng chi tiết.
Phần mềm Wireshark hỗ trợ các hệ điều hành nào?
- Windows: Wireshark hỗ trợ các phiên bản Windows từ Windows 7 trở lên, bao gồm cả các phiên bản Windows 10 và Windows 11.
- macOS: Wireshark có thể chạy trên macOS và hỗ trợ các phiên bản từ macOS 10.13 (High Sierra) trở lên.
- Linux/Unix: Wireshark hỗ trợ hầu hết các bản phân phối Linux phổ biến, như Ubuntu, Fedora, Debian, CentOS, và nhiều hệ điều hành dựa trên Unix khác như FreeBSD, OpenBSD.
- Solaris: Mặc dù ít phổ biến hơn, Wireshark cũng hỗ trợ hệ điều hành Solaris.
Hướng dẫn sử dụng phần mềm Wireshark trên máy tính Windows
Thu thập các gói dữ liệu bằng phần mềm Wireshark
Bước 1: Tải và cài đặt phần mềm Wireshark tại: https://www.wireshark.org/download.html
Bước 2: Sau cài đặt và mở Wireshark, bạn sẽ thấy một cửa sổ hiển thị danh sách tất cả các kết nối mạng mà bạn có thể giám sát.
Bạn có thể chọn một hoặc nhiều giao diện mạng bằng cách sử dụng Shift + nhấp chuột trái. Sau khi chọn giao diện mạng, bạn có thể bắt đầu thu thập các gói dữ liệu bằng cách nhấn vào nút Start capturing packets trên thanh công cụ hoặc có thể chọn mục menu Capture -> Start (Ctrl + E).
Lúc này, Wireshark sẽ hiển thị cho bạn các gói tin được thu thập theo thời gian thực.
Bạn cần lưu ý các mục sau:
- No.: Đây là thứ tự số của gói tin được thu thập.
- Time: Cột này hiển thị thời gian sau khi bạn bắt đầu thu thập. Bạn có thể thay đổi giá trị này trong menu cài đặt để thay bằng các tùy chọn khác.
- Source: Đây là địa chỉ của hệ thống đã gửi gói tin.
- Destination: Đây là địa chỉ đích của gói tin.
- Protocol: Đây là loại gói tin. Ví dụ: TCP, DNS, DHCPv6 hoặc ARP.
- Length: Cột này hiển thị kích thước của gói tin, được đo bằng byte..
- Info: Cột này hiển thị thêm thông tin về nội dung gói tin, thông tin này sẽ khác nhau tùy thuộc vào loại gói tin.
Khi đã thu thập được tất cả các gói tin cần thiết, bạn có thể sử dụng các nút hoặc tùy chọn menu tương tự để dừng việc thu thập gói tin.
Một số tính năng bạn cần biết về Wireshark
Wireshark filters
Bộ lọc cho phép bạn xem bản thu thập tùy chỉnh để khắc phục sự cố đang gặp phải. Dưới đây là một số bộ lọc để bạn bắt đầu.
Wireshark capture filters:
Wireshark capture filters giới hạn các gói tin được thu thập theo bộ lọc đã chọn. Nếu các gói tin không khớp với bộ lọc, Wireshark sẽ không lưu chúng. Ví dụ về bộ lọc chụp bao gồm:
- Địa chỉ IP của máy chủ : Bộ lọc này giới hạn lưu lượng truy cập được thu thập đến và đi từ địa chỉ IP
- net 192.168.0.0/24: Bộ lọc này thu thập tất cả lưu lượng trên mạng con
- dst host IP- address : Bắt các gói tin được gửi đến máy chủ được chỉ định
- Port 53Chỉ thu thập lưu lượng trên cổng 53
- Port not 53 and not arp: Ghi lại tất cả lưu lượng trừ lưu lượng DNS và ARP
Wireshark display filters
Wireshark display filters thay đổi chế độ xem của bản thu thập trong quá trình phân tích. Sau khi bạn dừng việc thu thập gói tin, bạn có thể sử dụng bộ lọc hiển thị để thu hẹp các gói tin để khắc phục sự cố của bạn.Một trong những bộ lọc hiển thị hữu ích nhất là:
- ip.src==IP-address and ip.dst==IP-address: Bộ lọc này hiển thị các gói tin được gửi từ một máy tính (ip.src) đến một máy tính khác (ip.dst). Bạn cũng có thể sử dụng ip.addr để hiển thị các gói tin đến và đi từ IP đó.
- tcp.port eq 25: Bộ lọc này sẽ hiển thị cho bạn tất cả lưu lượng trên cổng 25, thường là lưu lượng SMTP
- icmp: Bộ lọc này sẽ chỉ hiển thị cho bạn lưu lượng ICMP trong quá trình chụp, rất có thể đó là các lệnh ping
- ip.addr != IP_address: Bộ lọc này hiển thị cho bạn tất cả lưu lượng truy cập ngoại trừ lưu lượng truy cập đến hoặc đi từ máy tính đã chỉ định
- Các nhà phân tích thậm chí còn xây dựng các bộ lọc để phát hiện các cuộc tấn công cụ thể, giống như bộ lọc này được sử dụng để phát hiện sâu Sasser : ls_ads.opnum==0x09
Tùy chọn tô màu Wireshark
Bạn có thể cấu hình Wireshark để tô màu các gói tin của bạn trong Packet List theo bộ lọc hiển thị, cho phép bạn nhấn mạnh các gói tin bạn muốn làm nổi bật. Xem một số ví dụ tại đây.
Wireshark promiscuous mode
Theo mặc định, Wireshark chỉ bắt các gói tin đi đến và đi từ máy tính chạy phần mềm này. Bằng cách sử dụng Wireshark promiscuous mode, bạn có thể bắt hầu hết lưu lượng trên mạng LAN.
Wireshark command line
Wireshark cung cấp giao diện dòng lệnh (CLI) nếu bạn vận hành hệ thống không có giao diện người dùng đồ họa (GUI).
Lệnh Wireshark
- wireshark: Chạy Wireshark ở chế độ GUI
- wireshark –h: Hiển thị các tham số dòng lệnh có sẵn cho Wireshark
- wireshark –a duration:300 –i eth1 –w wireshark.: Thu thập lưu lượng trên giao diện ethernet mỗi 5 phút. Trong đó, –a có nghĩa là tự động dừng thu thập, -i chỉ định giao diện nào sẽ thu thập.
Metrics và Statistics
Trong menu Statistics, bạn sẽ tìm thấy rất nhiều tùy chọn để xem thông tin chi tiết về lượt thu thập của mình.
Thuộc tính của tệp thu thập:
Biểu đồ I/O của Wireshark:
Kết luận
Tóm lại, Wireshark không chỉ là một công cụ, mà còn là một người bạn đồng hành không thể thiếu đối với những ai làm việc trong lĩnh vực mạng. Với khả năng phân tích chi tiết từng gói tin, Wireshark giúp chúng ta hiểu rõ hơn về cách thức hoạt động của mạng, từ đó phát hiện và khắc phục các vấn đề một cách hiệu quả.
Những câu hỏi thường gặp
Có những phần mềm nào khác tương tự Wireshark không?
Có một số phần mềm tương tự Wireshark như:
ngrep: Công cụ tìm kiếm trong các gói tin mạng, tương tự grep.
Tcpdump: Công cụ dòng lệnh mạnh mẽ, thường được sử dụng để tự động hóa.
Fiddler: Công cụ phân tích proxy, tập trung vào giao thức HTTP.
Tôi có thể tìm hiểu thêm về Wireshark ở đâu?
Bạn có thể tham khảo những hướng dẫn liên quan đến Wireshark tại trang web chính thức: https://www.wireshark.org/ hoặc trang wiki: https://wiki.wireshark.org/
Ngoài ra, có rất nhiều diễn đàn và nhóm thảo luận về Wireshark. Bạn có thể tham gia và học hỏi thêm tại đó.
Wireshark có an toàn để sử dụng không?
Wireshark là phần mềm an toàn để sử dụng. Tuy nhiên, việc bắt gói tin trên các mạng mà bạn không có quyền truy cập hoặc chưa được phép có thể vi phạm chính sách của tổ chức.
Có thể sử dụng Wireshark để bắt gói tin trên mạng WiFi không?
Có, bạn có thể bắt gói tin trên mạng WiFi, nhưng điều này đòi hỏi bạn phải có quyền truy cập vào giao diện không dây và đôi khi cần cấu hình đặc biệt để bắt được lưu lượng WiFi.
Wireshark có thể phát hiện tấn công mạng không?
Wireshark không tự động phát hiện tấn công mạng, nhưng có thể được sử dụng để phân tích các gói tin và nhận diện các dấu hiệu của tấn công dựa trên những gì mà bạn phát hiện từ lưu lượng mạng.
Có thể sử dụng Wireshark để phân tích lưu lượng từ một file có sẵn không?
Có, Wireshark cho phép bạn mở và phân tích các file gói tin đã được lưu trước đó, chẳng hạn như các file PCAP được ghi lại từ một phiên bắt gói tin trước đây.