Hiện nay có rất nhiều phần mềm bắt gói tin có mã nguồn mở như TCPTrace, TepDump, WinDump, Ethereal,..trong số này thì Ethereal là phần mềm tốt nhất. Nó hỗ trợ rất nhiều protocol, hỗ trợ các định đạng lưư trữ của
các phần mềm bắt gói tin khác, tích hợp thêm phần phân tích thông tin bắt
được.
Các phần mềm nguồn mở này đều sử dụng thư viện lập trình libcap hoặc winpcap(tên của phiên bản libpcap chạy trên hệ điều hành Windows).
Do có rất nhiều phần mềm nguồn mở hỗ trợ bắt gói tin nên sẽ có 2 hướng lựa chọn để phát triển ứng dụng PacketCap:
> Hướng l1: Tìm hiểu cấu trúc của phầñ mềm Ethereal, tích hợp thêm chức năng lưu các gói tin vào cơ §ở'dữ-liệu và cấu hình từ xa vào phần mềm Ethereal.
> Hướng 2: Sử dụng thư viện lập trình mạng libpcap để viết lại toàn bộ
ứng dụng.
5.3.1. Phân tích hướng phất triển dựa trên Ethereal e© Thuận lợi
o_Soùrce eØđe của Ethereal mở có thể dễ dàng download trên nhiều trang web. (www.ethereal.com)
o--Không cần xây dựng lại các module bắt gói tin và filter cho ứng dụng.
® Khó khăn
o_ Mã nguồn Ethereal rất nhiều và khó hiểu rõ được do đó việc tích hợp thêm chức năng vào Ethereal là rất phức tạp.
o Ethereal chỉ cung cấp free user guide không cung cấp developer guide do đó muốn tìm hiểu về ethereal phải đọc tât cả source code.
Chương 5: Phân tích và thiết kế PacketCap
5.3.2. Phân tích hướng phát triển dựa trên libcap ® Thuận lợi : ® Thuận lợi :
o Thư viện mã nguồn mở libpcap download miễn phí, được
nhiều nhà phát triển sử dụng. Phần mềm bắt gói tin Tcpdump là một điển hình.
o_ Có nhiều tài liệu hướng dẫn lập trình
o_ Có thể dễ dàng xây dựng chương trình theo ý muốn
® Khó khăn
o_ Phải viết lại tất cả các module captufe và filtering trước khi thêm vào các yêu cầu của luận văn.
5.3.3. Lựa chọn hướng phát triển PacketCap
Từ những phân tích khó khăn và thuận lợi của 2 hướng phát triển ứng dụng PacketCap, chúng em quyết định lựa phát triển PacketCap theo hướng thứ 2, nghĩa là sẽ xây dựng từ đầu ứng dụng bắt gói tin PacketCap dựa trên thư viện libpcap.