Để chặn bắt và phân tích gói tin, chương trình được cài đặt trên một máy độc lập có thể là máy chủ của mạng LAN (gateway). Đầu tiên, nó sẽ tiến hành bắt các gói tin truyền trên mạng thông qua thiết bị card mạng (network adapter). Sau đó chương trình tiến hành đọc để cắt lấy phần header của gói tin, tiếp theo nó sẽ phân tích tổng hợp các header phần chung để lấy ra các header xác định. Khi tổng hợp xong chương trình đưa thông tin của từng header vào một cơ sở dữ liệu (hoặc file). Với yêu cầu của đề tài, chúng ta có thể sẽ không cần lưu lại dữ liệu của các gói tin mà chỉ cần header của chúng. Thông tin của các gói tin được thống kê và hiển thị. Các bước tổng quát được thực hiện theo sơ đồ sau đây:
Hình 7. Mô hình chung của chương trình xử lý
3.1. Bắt gói tin
Cửa ngõ để có thể xử lý gói tin là card mạng. Thông qua nó các gói tin truyền trên mạng sẽ được đưa ra màn hình với cơ chế event (ngay lập tức khi chặn bắt và phân tích được gói tin) hay cũng có thể thực hiện từng đợt mỗi một khoảng thời gian (ví dụ 5s). Từ những thông tin thu được ở những bước trên ta có thể thống kê và báo cáo tùy thuộc vào yêu cầu của người dùng.
3.2. Tách phần Header
Sau khi can thiệp để có thể chặn bắt được gói tin (dù ở mức nào) ta tiến hành đọc từng byte của gói tin và lưu vào một bộ đệm đã được tổ chức sẵn. Khi đọc ta sẽ đọc hết cả phần header của gói tin. Ta có thể bóc tách lần lượt từng phần header của các giao thức bắt đầu từ giao thức cấp thấp nhất mà chương trình chặn bắt (IP header với chương trình sử dụng raw socket và Ethernet header với chương trình sử dụng winpcap). Dựa vào header của đơn vị dữ liệu tầng dưới, ta hoàn toàn có thể bóc tách và thu được header của đơn vị dữ liệu giao thức tầng trên.
3.3. Phân tích tổng hợp Header
Ta tiến hành phân tích các giao thức, so sánh header thu được để tổng hợp thông tin đối với những segment thuộc cùng một gói tin đã bị phân đoạn. (để có thể nhận được 1 header duy nhất của những segment đã được phân đoạn này) Ta cũng có thể dùng một bộ đệm thứ hai để lưu trữ các header duy nhất này. Qua quá trình này ta có thể thu được các thông tin như:
Thời gian tồn tại của gói tin.
Tổng số các gói tin.
Tổng số các segment của một gói tin.
Tổng độ dài của gói tin.
Địa chỉ đích, địa chỉ nguồn, cổng nguồn, cổng đích, giao thức.
3.4. Hiển thị, thống kê và báo cáo
Ta có thể hiển thị những thông tin thu được ra màn hình hoặc lưu trữ lại để xử lý. Từ những thông tin thu được ở những bước trên ta có thể thống kê vào báo cáo tùy thuộc vào yêu cầu của người dùng.