Lựa chọn giải thuật

Một phần của tài liệu Xây dựng chương trình kiểm soát lưu lượng thông tin trao đổi qua hệ thống mạng (Trang 51 - 53)

Từ những so sánh giữa hai phương pháp chặn bắt gói tin (raw socket và pcap) và chi tiết hai bộ thư viện tương ứng (winsock và winpcap) ở những mục trên, ta nhận thấy một số đặc điểm sau khi lựa chọn giải thuật và công nghệ:

• Khả năng: Cả hai phương pháp đều có khả năng thực hiện yêu cầu đặt ra của đề tài là chặn bắt, phân tích các gói tin. Tuy nhiên, với winpcap, do chặn bắt ở mức card mạng nên ta có thể chặn bắt các gói tin thông qua mạng, còn đối với winsock do chặn bắt ở mức hệ điều hành, ta chỉ có thể chặn bắt các gói tin đã được hệ điều hành chấp nhận (tức là chỉ có thể chặn bắt các gói tin thông qua máy đang chạy chương trình và chỉ đối với một số loại gói tin nhất định được hệ điều hành hỗ trợ.

• Tốc độ: Do winpcap chặn bắt ở mức network adapter nên có tốc độ cao hơn so với winsock. Ngoài ra .NET Socket do còn cần có thêm CLR nên có thể hoạt động chậm hơn. Tuy nhiên với các máy tính hiện nay tốc độ sai khác là không đáng kể

• Độ linh hoạt : Winsock và .NET Socket chỉ có thể chặn bắt gói tin từ tầng giao thức IP trở lên và gói gọn trong một số hữu hạn các loại gói tin mà hệ điều hành hỗ trợ, do đó nó kém link hoạt hơn. Ngoài ra phát triển ứng dụng với Winsock ta phải sử dụng Visual C++, với .NET Socket ta phải sử dụng .NET trong khi đối với Winpcap ta có khá nhiều thư viện được liên kết trong các ngôn ngữ khác nhau như Java, .NET, Python, ...

• Hỗ trợ: Bản Winsock mới nhất là Winsock 2.0 và rất ít được cải tiến cũng như không còn được Microsoft hỗ trợ nhiều (còn bị rút bớt một vài chức năng) trong khi Winpcap vẫn đang được tiếp tục phát triển (mới nhất là Winpcap 4.1 vào tháng 1/2009) với mã nguồn và documentation đầy đủ.

• Độ phức tạp cài đặt: Sử dụng Winpcap để phát triển có độ phức tạp cao hơn do ít có sự hỗ trợ của hệ điều hành và phải cài thêm thư viện ngoài nhưng tính linh hoạt cũng cao hơn.

• Những ứng dụng đã có: Hiện nay hầu hết các ứng dụng chặn bắt gói tin đều sử dụng Winpcap, đặc biệt là những chương trình chặn bắt gói tin thông dụng và nổi tiếng như Wireshark hay Packet Analyzer đều sử dụng Winpcap. Winpcap gần như đã trở thành một chuẩn – không chính thức đối với các chương trình chặn bắt gói tin trên Windows.

Từ những lý do nêu trên, sử dụng phương án chặn bắt ở mức thấp có phần phù hợp hơn đối với đề tài phân tích lưu lượng thông tin vào ra trong một mạng.. Do vậy, em xin đề xuất sử dụng Winpcap 4.0 kết hợp với Jpcap 0.7 (tại địa chỉ (http://netre- search.ics.uci.edu/kfujii/jpcap/doc/index.html)) để thực hiện xây dựng chương trình.

Một phần của tài liệu Xây dựng chương trình kiểm soát lưu lượng thông tin trao đổi qua hệ thống mạng (Trang 51 - 53)