I. So sánh
Mặc dù, có hàng trăm cơng cụ dị tìm gói tin có mặt trên thị trường theo các yêu cầu cá nhân và ngành khác nhau, nhưng trong số này, Tcpdump và Wireshark là những công cụ được ưa chuộng và sử dụng rộng rãi nhất.
1. Các tính năng chính của Tcpdump và Wireshark
1.1 Tcpdump
Một trong những công cụ thu thập lưu lượng mạng tốt nhất và nhẹ nhất có sẵn miễn phí là Tcpdump. Nó khá hữu ích cho những người học mạng và những người đam mê muốn hiểu rõ về TCP / IP vì nó kết xuất các gói tin ở định dạng thơ mà khơng cần phân tích nhiều. Nhiệm vụ phân tích dữ liệu thơ bằng trí óc con người này dẫn đến sự rõ ràng trong các khái niệm mạng và gói. Vì mục đích này, Tcpdump cung cấp nhiều tùy chọn trong đó có thể xem chi tiết các Gói được chụp ở một số định dạng như tùy chọn '-t' cung cấp đầu ra dấu thời gian có thể đọc được của con người, '-X' hiển thị Hex và ASCII của nội dung gói, '-v '' -vv 'và' -vvv 'làm tăng thơng tin gói được hiển thị.
1.2 Wireshark
Cơng cụ dị tìm mạng phổ biến nhất là Wireshark. Nó được cơng nhận về giao diện đồ họa và đơn giản cũng như các tùy chọn chụp và lọc mạnh mẽ. Công cụ này cũng được cung cấp miễn phí giống như Tcpdump.
Wireshark có khả năng quét bất kỳ loại mạng nào - Ethernet, Wi-Fi, chế độ giám sát hoặc thậm chí cả Bluetooth. Đây là lý do chính tại sao Wireshark được sử dụng trên toàn cầu trong các gã khổng lồ trong ngành khơng chỉ như một cơng cụ dị tìm mà cịn như một Hệ thống phát hiện xâm nhập (IDS). Cơng cụ này có thể nhanh chóng phát hiện và báo cáo các cuộc tấn công Từ chối Dịch vụ (DOS), các cuộc tấn công vào Tường lửa hoặc bất kỳ vi phạm bảo mật nào thơng qua mạng.
Wireshark có thể đi đến độ sâu từng bit của gói tin. Nó cũng tách các gói giao thức mạng khác nhau bằng cách làm nổi bật các giao thức với các bảng màu khác nhau như màu xanh lá cây cho HTTP, màu xanh lam cho DNS, v.v.
2. So sánh Tcpdump với Wireshark
2.1 Tùy chọn
• Tcpdump có khả năng kết xuất các gói một cách chọn lọc dựa trên các chuỗi, số phù hợp hoặc thậm chí một đoạn chương trình C với các tùy chọn –dd hoặc –ddd trong khi Wireshark sẽ kết xuất tất cả các gói và sau đó áp dụng bộ lọc phù hợp.
• Wireshark có thể kết xuất các gói trong nhiều tệp bằng một lệnh duy nhất –b. Nó cũng có thể tạo bộ đệm vịng theo sự lựa chọn của người dùng. Tùy chọn này khơng có sẵn trong Tcpdump.
• Wireshark có thể thu thập và in các loại thống kê khác nhau và hiển thị một cửa sổ được cập nhật theo thời gian bán thực thông qua lệnh –z trong khi khơng có tính năng thống kê như vậy trong Tcpdump.
80 • Tcpdump có thể giải mã các gói IPsec ESP nếu được biên dịch bằng mật mã. Điều này được thực hiện bằng lệnh –E. Tính năng này khơng có trong Wireshark.
• Chế độ ngay lập tức có trong Tcpdump nhưng khơng có trong Wireshark. Chế độ này cho phép các gói trực tiếp đến cửa sổ đầu cuối thay vì bộ đệm. Đây là mặc định trong Tcpdump.
• Chi tiết (lượng thơng tin gói) có thể được quản lý trên dòng lệnh trong Tcpdump với các lệnh –v, -vv hoặc –vvv trong khi nó được thực hiện bởi Wireshark trong Giao diện đồ họa.
2.2 Bộ nhớ
Hình 4.1 Bộ nhớ sử dụng bởi Wireshark
Hình 4.2 Bộ nhớ sử dụng bởi Tcpdump
Sau khi phân tích cả hai cơng cụ nhiều lần bằng cách chạy trong tiện ích Htop có sẵn trong Ubuntu, các trường hợp trên được coi là mức trung bình của một số trường hợp được thực hiện trên cả hai công cụ khi chúng đang quét ở chế độ Ethernet (eth0).
VIRT (Kích thước ảo) - Tổng kích thước chương trình trong bộ nhớ.
VIRT của Tcpdump xấp xỉ 27-29 Mb trong khi của Wireshark gấp hơn 20 lần, tức là 620-640 Mb.
81 RES của Tcpdump là 5,8-6,3 Mb trong khi của Wireshark là 87-91 Mb.
SHR (Bộ nhớ dùng chung) - Kích thước có thể chia sẻ của VIRT. SHR của Tcpdump là 5,1-5,3 Mb trong khi của Wireshark là 35-36 Mb. MEM% (Phần trăm bộ nhớ) - Phần trăm bộ nhớ được sử dụng bởi q trình Tcpdump có Mem% là 0,6% trong khi Wireshark có 8,8-9,6%.
Từ phân tích trên, rõ ràng là mọi loại bộ nhớ đang được Wireshark sử dụng đều gấp vài lần bộ nhớ đang được Tcpdump sử dụng. Vì bộ nhớ là một thông số quan trọng để đánh giá một công cụ, nên Tcpdump sẽ thắng nội dung này.
2.3 Điện năng sử dụng
Hình 4. 3 Wakeups/s & Events/s của Wireshark và Tcpdump
Điện năng sử dụng là một yếu tố quan trọng khác trong việc so sánh hiệu quả của các công cụ. Các công cụ sử dụng năng lượng tối thiểu và cho sản lượng tối đa được cho là hiệu quả hơn.
Cơng cụ tiện ích Powertop được sử dụng để phân tích mức sử dụng điện năng và bộ xử lý bởi hai công cụ này và kết quả gần như giống nhau mọi lúc.
Wireshark đang sử dụng năng lượng gấp hàng trăm lần so với Tcpdump. Điều này trở nên rõ ràng vì các kết quả trên được thực hiện sau nhiều lần lặp lại và một khoảng thời gian dài. Ngoài ra lệnh Powertop –calibrate đã được chạy trước đó để có được kết quả đáng tin cậy nhất. Trong khi Tcpdump đang sử dụng bộ xử lý 37-38 micro giây / giây thì Wireshark đang sử dụng khoảng 1,5 micro giây mỗi giây bộ xử lý.
Ngồi ra, Wireshark đang có 14 lần wakeups / giây trong khi Tcpdump chỉ có 1. Graphics wakeups/giây của Wireshark là 0,1; không áp dụng được với Tcpdump do thiếu giao diện đồ họa.
82 Năng lượng được sử dụng bởi Tcpdump là không đáng kể, 0% trong khi với Wireshark là 0,2%.
Do số lượng lớn các gói trong chế độ giám sát, việc sử dụng trở nên đa dạng trong cả hai trường hợp nhưng mức sử dụng này đã tăng gần như bằng nhau trong cả hai cơng cụ.
Hình 4.5 Thống kê trong chế độ giám sát
Từ phân tích ở trên, rõ ràng Tcpdump đánh bại Wireshark về Hiệu quả liên quan đến việc sử dụng năng lượng và bộ xử lý.
2.4 Tốc độ bắt
Tốc độ nắm bắt các gói tin được phát hiện bằng cách sử dụng bộ định thời và chạy đồng thời cả hai công cụ trong cùng một máy cục bộ dẫn đến kết quả đầu ra gần như giống nhau.
Trong chế độ giám sát, do tỷ lệ bắt rất cao, số lượng gói tin bị Tcpdump bỏ qua là rất lớn. Nhưng bằng cách tăng snaplen, chúng ta có thể làm cho con số này bằng khơng. Sau đó, so sánh hai cơng cụ lấy kết quả rằng Wireshark bắt gói nhanh hơn 2-3% so với Tcpdump.
Mặc dù ở chế độ giám sát, điều này nghe có vẻ khơng có nhiều sự khác biệt nhưng trong khi qt mạng kỹ lưỡng và tìm ra gói độc hại, ngay cả việc đánh rơi hoặc khơng cảm nhận được một gói cũng tạo ra sự khác biệt rất lớn. Đây là vấn đề nhạy cảm mà Wireshark có thể bắt nhiều gói tin hơn trong cùng một thời điểm.
Trong chế độ Ethernet, việc bắt gói Wireshark bằng Tcpdump nếu mạng có ít lưu lượng hơn, tức là ít hơn 1000 gói trong 60 giây. Nếu số lượng gói tin tăng lên, Wireshark bắt được nhiều hơn với mức tăng 0,5-1%.
Phân tích này cho thấy rằng Wireshark đánh bại Tcpdump về tốc độ bắt gói tin. 2.5 Post Capture
Một phần quan trọng của nghiên cứu xoay quanh những gì phải thực hiện với các gói tin và cách các cơng cụ giúp chúng ta phân tích các gói tin. Đây là mục đích chính của việc sử dụng các cơng cụ này và công cụ giúp tiết kiệm thời gian của chúng tôi trong việc phân tích nội dung gói được ưu tiên hơn cơng cụ kia.
83
Hình 4.6 Ví dụ về bắt gói tin trong Wireshark
Hình 4.7 Ví dụ về bắt gói tin trong Tcpdump
Như có thể nhìn thấy từ các hình trên, do giao diện đồ họa mạnh mẽ của nó, Wireshark có thể phân tách các loại gói tin khác nhau bằng mã màu. Các mã được quyết định bởi loại gói, mối quan hệ của chúng và các giao thức. Ví dụ: bản tin quảng bá của bộ định tuyến có mã màu là màu hồng, HTTP có màu xanh lá cây, giao thức TCP có màu xám, v.v.
Mặt khác, Tcpdump không phân biệt các loại gói tin khác nhau và để người dùng phân loại từng gói tin.
Lượng thơng tin có thể được điều chỉnh bằng một cú nhấp chuột trong Wireshark trong khi, nó phải được xác định trước bằng –v hoặc –Vv hoặc –vvv trong Tcpdump.
84 Sau khi bắt đầu bắt, rất khó để nhóm và áp dụng các bộ lọc trong Tcpdump, trong khi nó có thể được thực hiện trong thời gian thực trong Wireshark rất dễ dàng.
Nếu lệnh lưu các gói trong một tệp không được chỉ định trước khi chạy chụp trong Tcpdump, thì các gói sẽ chỉ ở trong cửa sổ đầu cuối, trong khi Wireshark cung cấp phương tiện để lưu các gói sau này. Nó thậm chí còn đưa ra một cảnh báo nếu chúng ta cố gắng thốt mà khơng lưu các gói tin.
3. Kết luận
Từ những phát hiện trên, có thể kết luận rằng Tcpdump vượt trội hơn Wireshark về điện năng sử dụng, sử dụng ít bộ nhớ và bộ vi xử lý hơn Wireshark nhưng Wireshark có khả năng phân tích các gói tin được bắt và tốc độ bắt cao hơn.
II. Đánh giá, kết luận
Wireshark là một công cụ được thiết kế cho bất kỳ ai cần giám sát mạng của họ về các vấn đề bảo mật hoặc hiệu suất. Wireshark sẽ đáp ứng mọi nhu cầu của người dùng trong một gia đình cho đến người dùng cấp doanh nghiệp. Và bởi vì Wireshark có thể đọc thông tin thu được từ các ứng dụng như Snoop, Sniffer và Microsoft Network Monitor, nó cũng có thể đóng vai trị là một cơng cụ bổ sung để phân tích mạng.
Wireshark có thể phân tích lưu lượng mạng trên bất kỳ kích thước mạng nào. Wireshark thực hiện điều này với sức mạnh thường thấy trong các công cụ đắt tiền hơn, nhưng miễn phí. Vì vậy, bất kỳ bộ phận CNTT nào cần một bộ phân tích mạng mạnh mẽ, nhưng khơng có ngân sách để mua bộ phân tích có hiệu năng cao, đều có thể chuyển sang sử dụng Wireshark.
Tuy nhiên, vấn đề với Wireshark là nó thiếu tài liệu chính thức và sự hỗ trợ khi cần thiết. Wireshark có một trong những cộng đồng phát triển tích cực nhất trong thế giới nguồn mở và bạn có thể tìm thấy hỗ trợ dưới dạng diễn đàn, hướng dẫn. Nhưng khi chuyên gia CNTT cấp doanh nghiệp cần một đường dây nóng để gọi hỗ trợ ngay lập tức, Wireshark không thể đáp ứng được.
Wireshark là tiêu chuẩn của phần mềm mã nguồn mở trong việc phân tích mạng. Đây là một cơng cụ rất thân thiện với người dùng, cực kỳ mạnh mẽ sẽ giúp bạn hồn tồn nhận thức được những gì đang diễn ra trên mạng của mình.
85
TÀI LIỆU THAM KHẢO
[1] R. Sharpe, E. Warnicke and U. Lamping, "Wireshark User’s Guide," [Online]. Available: https://www.wireshark.org/docs/wsug_html_chunked/. [Accessed 20 December 2021]. [2] P. Goyal and A. Goyal, "Comparative Study of two Most Popular Packet Sniffing Tools-
Tcpdump and Wireshark," in 9th International Conference on Computational
Intelligence and Communication Networks, Northern Cyprus, 2017.
[3] "Wireshark," [Online]. Available: https://en.wikipedia.org/wiki/Wireshark. [Accessed 20 December 2021].