Thành phần phân tích nội dung gói tin

Một phần của tài liệu lọc nội dung internet tại máy tính cá nhân và xây dựng phần mềm (Trang 55 - 58)

Với mỗi gói tin lấy được từ tầng Network, thành phần phân tích nội dung gói tin với cấu trúc như sau:

IP header: 24 bytes TCP header: 24 bytes Data (<1500 bytes)

Hình 2.1. Cấu trúc gói tin lấy dữ liệu

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 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. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.2. 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 2.3. Dữ liệu tầng TCP/IP của một gói tin

Một phần của tài liệu lọc nội dung internet tại máy tính cá nhân và xây dựng phần mềm (Trang 55 - 58)