Tách 20 bytes IP header (đến 60 bytes) lấy các thông tin:
IHL (4 bits): trƣờng có độ dài 4 bits qui định độ dài của phần header (tính theo đơn vị words 32 bits). Phần header có độ dài tối thiểu là 5 words (160 bits) và tối đa là 15 words (480 bits).
Total length (16bits): độ lớn gói tin, đơn vị tính octets, độ dài tối đa 65535 octets.
Fragment Offset (13 bits): mảnh đầu tiên có giá trị là 0. Tùy theo giá trị của trƣờng này sẽ xác định đƣợc có phải gói tin đầu tiên nhận đƣợc hay không, hệ thống thực hiện một số tùy chọn về lọc cụ thể, lọc loại trừ và mở tác vụ lọc nội dung mới nếu cần.
Protocol (8 bits): xác định giao thức tầng transport sử dụng, cung cấp dữ liệu cho thành phần lọc cụ thể, lọc loại trừ giao thức.
Source address (32 bits): địa chỉ IP nguồn, cung cấp đầu vào cho thành phần lọc cụ thể, lọc loại trừ IP.
Destination address (32bits): địa chỉ IP đích, cung cấp đầu vào cho thành phần lọc cụ thể, lọc loại trừ IP.
Phần dữ liệu còn lại là gói tin TCP.
Tách 20 bytes TCP header (đến 60 bytes) lấy các thông tin:
Source port (16 bits): địa chỉ cổng nguồn, cung cấp đầu vào cho thành phần lọc cụ thể, lọc loại trừ cổng.
Destination port (16 bits): địa chỉ cổng đích, cung cấp đầu vào cho thành phần lọc cụ thể, lọc loại trừ cổng.
Sequence number (32 bits): Ở hai bƣớc đầu tiên trong quá trình bắt tay ba bƣớc, hai máy tính trao đổi một số thứ tự gói ban đầu (Initial Sequence Number -ISN). Số này có thể chọn một cách ngẫu nhiên. Số thứ tự này đƣợc dùng để đánh dấu các khối dữ liệu gửi từ mỗi máy tính. Sau mỗi byte đƣợc truyền đi, số này lại đƣợc tăng lên. Nhờ vậy ta có thể sắp xếp lại chúng khi tới máy tính kia bất kể các gói tới nơi theo thứ tự thế nào. Việc xác định gói tin đầu tiên phụ thuộc vào cờ flags, nếu cờ SYN bật thì nó là số thứ tự gói ban đầu và byte đầu tiên đƣợc gửi có số thứ tự này cộng thêm 1. Nếu không có cờ SYN thì đây là số thứ tự của byte đầu tiên.
Acknowledgement Number (32 bits): số bytes của gói dữ liệu tiếp theo sẽ đƣợc gửi đi. Nếu cờ ACK bật thì giá trị của trƣờng chính là số thứ tự gói tin tiếp theo mà bên nhận cần.
Data offset (4 bits): Trƣờng có độ dài 4 bits qui định độ dài của phần header (tính theo đơn vị words 32 bits). Phần header có độ dài tối thiểu là 5 words (160 bits) và tối đa là 15 words (480 bits).
Flags (6 bits):
o URG: The Urgent Pointer field is significant.
o ACK: The Acknowledgement field is significant.
o EOL: End of Letter.
o RST: Reset the connection.
o FIN: No more data from the sender.
Phần dữ liệu còn lại là gói tin HTTP.
Phần dữ liệu còn lại sau khi đƣợc tách IP header và TCP header là dữ liệu tầng ứng dụng. Dữ liệu tầng ứng dụng đƣợc chia thành 2 phần: tiêu đề và nội dung đƣợc phân cách nhau bởi cặp thẻ “\r\n” xuất hiện 2 lần liên tiếp tính từ đầu gói tin.
Cấu trúc tiêu đề gói tin HTTP có dạng:
“tên trƣờng” + “: ” + “giá trị thuộc tính” + “\r\n”.
Một số “tên trƣờng” sử dụng lấy dữ liệu đầu vào của thành phần lọc cụ thể, lọc loại trừ:
GET/POST: giao thức sử dụng.
Accept-Language: ngôn ngữ sử dụng. Host: địa chỉ tên miền truy cập.
Refered: địa chỉ URL truy cập.
Phần dữ liệu còn lại kết hợp với các thông tin trích rút đƣợc từ IP header và TCP header sẽ đƣợc tổng hợp thành phiên giao dịch đầy đủ, phục vụ kiểm soát nội dung.
Hình 4.9. Các gói tin dạng thô và được phân tích theo từng lớp mạng
Cùng một thời điểm có thể có nhiều phiên giao dịch tƣơng ứng với các đối tƣợng của trang web (text, ảnh…). Các phiên này đƣợc phân biệt bởi các tham số trong cấu trúc dữ liệu TCP/IP (ở trên), bao gồm: địa chỉ ip, số cổng, số ACK, SEQUENT (xem hình dƣới).
Hình 4.10. Dữ liệu tầng TCP/IP của một gói tin
4.3.3.Thành phần tách, tổng hợp gói tin thành phiên giao dịch
Ở phần trên, module phân tích nội dung gói tin thực hiện xử lý các gói tin trong tầng TCP để thu đƣợc các phiên giao dịch. Khi thu đƣợc dữ liệu các phiên giao dịch, nhiệm vụ tiếp theo của module tổng hợp sẽ là phân tích nội dung giao dịch để biết đó là giao dịch theo dạng nào. Dạng của phiên giao dịch ở đây có ý nghĩa là: một trang web vốn có nhiều thành phần, gồm ảnh, phim, flash file, javascript, text file… Do đó cần phân loại các đối tƣợng này, để có thể phân tích nội dung tƣơng ứng. Dƣới đây là quy trình tổng hợp dữ liệu dạng text.
Dƣới đây là ví dụ về nội dung gói tin đƣợc phân tích.
Trong hình trên ta có thể thấy một cấu trúc header, với nội dung cho biết đây là một gói tin chứa nội dung ảnh gif, với kích thƣớc 12755 bytes.
Hình 4.12. Header file text/html
Trên đây là tiêu đề của phiên giao dịch nội dung gói tin text/html, với một trang text có nội dung 46071 bytes.
Tiếp theo, các gói tin đƣợc tổng hợp để ra một trang web hoàn chỉnh. Nhƣ trên nội dung gói tin trên cho biết phiên giao dịch này có kích thƣớc text file là 46071 bytes, với kích thƣớc tƣơng đối của một gói tin khoảng 1500 bytes, nhƣ vậy phiên giao dịch này sẽ có khoảng 30 gói tin.
Trọn vẹn gói tin HTTP đầu tiên của phiên giao dịch có nội dung nhƣ sau:
Hình 4.13. Gói tin đầu tiên của một phiên giao dịch
Công việc tiếp theo đó là tập hợp các gói tin kế tiếp của phiên giao dịch. Thành phần này sẽ thực hiện tổng hợp, sắp xếp các gói tin lại thành phiên giao dịch đầy đủ dựa vào các tham số: địa chỉ ip, số cổng, số ACK, SEQUENT.
Thực hiện kiểm tra các gói tin có các tham số nhƣ trên và Seq theo qui luật, để ghép nội dung gói tiếp theo vào phiên. Cụ thể trong ví dụ này, gói tiếp theo nhƣ sau, tham số Ack là của gói tin trƣớc nó, tham số Seq bằng tổng của Seq của gói tin trƣớc và kích thƣớc gói tin trƣớc nó (1+1460=1461):
Hình 4.15. Tham số Seq và Ack gói tin kế tiếp
Thực hiện tƣơng tự đối với các gói tin tiếp theo cho tới khi nhận đủ gói tin cần thiết: tổng số Len bằng kích thƣớc phiên giao dịch (46071 bytes) hoặc khi gói tin đến tại cổng này và ACK đã bị thay đổi.
Hình dƣới đây mô tả thứ tự các gói tin của phiên giao dịch.
Hình 4.16. Tổng hợp các gói tin đơn lẻ thành phiên giao dịch
Sau khi đã tổng hợp đƣợc hoàn chỉnh một phiên giao dịch Text, bƣớc tiếp theo sẽ là phân tích nội dung phiên giao dịch đó, cụ thể là phân tích nội dung một text file.
4.3.4.Thành phần lọc cụ thể, lọc loại trừ Lọc cụ thể, lọc loại trừ: IP Lọc cụ thể, lọc loại trừ: IP
Đối soát trực tiếp các thông tin trích rút đƣợc từ thành phần phân tích nội dung với kho dữ liệu lọc IP. Cung cấp kết quả kiểm tra cho module Bộ quyết định để thực hiện lọc cụ thể, lọc loại trừ đối với gói tin truy cập.
Nhƣ ví dụ tại hình 4.10, danh sách lọc cụ thể, lọc loại trừ IP đƣợc đối soát với địa chỉ IP trích rút ra từ tiêu đề tầng IP.
Lọc cụ thể, lọc loại trừ: URL
Quy trình thực hiện tƣơng tự nhƣ đối với lọc IP, tuy nhiên thông tin để đối soát với các kho dữ liệu tƣơng ứng không thuộc vị trí nhất định trong tiêu đề của các gói tin IP và TCP mà là một phần dữ liệu trong gói tin HTTP.
Thành phần phân tích nội dung gói tin (3.2) thực hiện phân tích nội dung cung cấp thông tin URL để thành phần lọc cụ thể lọc loại trừ URL thực hiện đối soát.
Áp dụng thực hiện với một danh sách lọc URL (hiện đang sử dụng cho quản lý đại lý Internet công cộng của Công ty VDC) nhƣ sau:
'anhuynh.freehomepage.com', 'datviet.com', 'bangboat.com', 'dddcvn.org', 'bdqvn.org', 'diendanpaltalk.com', 'butvang.org', 'diendangiaodan.com', 'canhen.de', 'dungday.tripod.com', 'canhsatquocgia.com', 'ebonyjoy.com', 'canhtan.choao.com', 'emviet.com', 'caodai.net', 'groups.yahoo.com/group/cpcmvntd-bc', 'conong.com', 'groups.yahoo.com/group/chinhluan', 'congly.com', 'groups.yahoo.com/group/dangcongsanvietnam', 'crfvn.org', 'groups.yahoo.com/group/diendanchinhtri', 'ctnb.org', 'groups.yahoo.com/group/diendandautranh', 'chantroi.net', 'groups.yahoo.com/group/diendantintuc', 'ChaocoVNCH.8m.com', 'groups.yahoo.com/group/freevietnam', 'chinhnghia.org', 'groups.yahoo.com/group/hanoivietnam', 'chuyenluan.com', 'groups.yahoo.com/group/hoinghi', 'daichung.com', 'groups.yahoo.com/group/nghiluan', 'daihoccuunuoc.com', 'groups.yahoo.com/group/nhanquyenchovietnam', 'daiviet.org', 'groups.yahoo.com/group/tiengchuong1', 'danchimviet.com', 'groups.yahoo.com/group/tinhlam', 'danchu.net', 'groups.yahoo.com/group/tinhmuonmau', 'danchuqueme.free.fr', 'groups.yahoo.com/group/tinhthuong36', 'danuoc.org', 'groups.yahoo.com/group/toiacdangcongsanvietnam', 'danguyen.org', 'groups.yahoo.com/group/vietnamdiendan',