Phân tích chi tiết gói tin

Một phần của tài liệu Bài giảng Kỹ thuật theo dõi, giám sát an toàn mạng: Phần 2 (Trang 59 - 63)

CHƯƠNG 4 PHÂN TÍCH DỮ LIỆU

4.1.3 Phân tích chi tiết gói tin

Sử dụng một số khái niệm toán học trên, chúng ta tiếp tục phân tích sâu vào gói tin theo từng giao thức. Biết rằng một gói tin được xây dựng bắt đầu với các dữ liệu tầng ứng dụng, rồi các tiêu đề của các giao thức hoạt động ở các tầng thấp hơn được thêm vào, từ trên xuống dưới. Điều này có nghĩa là tiêu đề giao thức cuối cùng được thêm vào là của tầng liên kết dữ liệu. Đây cũng

chính là phần thấy đầu tiên trong gói tin. Giao thức liên kết dữ liệu phổ biến nhất là Ethernet. Tuy nhiên để xác định được thực sự đang nhìn thấy lưu lượng truy cập Ethernet, cần so sánh phần tiêu đề giao thức Ethernet với phần đầu gói tin có được.

Hình 4.11 Sơ đồ gói tin cho phần tiêu đề Ethernet

Nhìn vào định dạng tiêu đề Ethernet, thấy rằng 6 byte đầu tiên của gói tin dành riêng cho các địa chỉ MAC đích, và 6 byte tiếp theo bắt đầu từ 0x6 được dành riêng cho các địa chỉ MAC nguồn. Chú ý rằng trường Type (kiểu) 2 byte tại 0x12 được dùng để chỉ ra giao thức sau trường tiêu đề Ethernet. Giá trị hệ cơ số 16 của nó là 08 00, nghĩa là giao thức đóng gói bên trong là IP. Độ dài của tiêu đề Ethernet là 14 byte, do đó 00 là byte cuối của phần tiêu đề.

Thông thường, mặc định là tcpdump không hiển thị phần tiêu đề Ethernet. Do đó cần bắt đầu với giao thức tầng mạng.

Từ phần tiêu đề Ethernet có thể thấy được phần tiếp theo cần phân tích tiếp là tiêu đề IP (IP header). Do đó cần áp dụng kiến thức về cấu trúc tiêu đề IP cho phần tiếp theo của gói tin. Để tiếp tục phân tích sâu gói tin theo từng giao thức, chúng ta không quan tâm đến từng giá trị đơn lẻ trong tiêu đề này, ngoại trừ một số giá trị như độ dài tiêu đề IP và giao thức tiếp theo cần tìm ra. Trước tiên cần xác định phiên bản IP đang được sử dụng. Nó được chỉ ra bởi các nibble cao của byte 0x0 trong tiêu đề IP, và giá trị có được là IPv4.

Phần tiêu đề của IP thay đổi tùy vào tập các tùy chọn hỗ trợ. Do đó tiếp theo cần xác định chiều dài phần tiêu đề IP, được chứa trong nibble thấp của byte 0x0 trong tiêu đề IP. Giá trị thấy được là 4, nhân với 5 để có được độ dài tiêu đề là 20 byte. Tức là 2 byte cuối của phần tiêu đề IP là 02 1e.

Giao thức tiếp theo được sử dụng trong gói tin được chỉ ra trong phần tiêu đề IP tại byte 0x9. Ở đây giá trị này là 06, là giá trị diễn tả giao thức TCP (Hình 4.13).

Hình 4.13 Phần tiêu đề IP

Sau khi biết được giao thức đóng gói trong IP là TCP, cần tiếp tục kiểm tra xem liệu có dữ liệu của tầng ứng dụng hay không. Để làm được việc này, độ dài của phần tiêu đề TCP cần được xác định bởi vì giống như IP header, độ dài của TCP header phụ thuộc vào tập tùy chọn hỗ trợ.

Hình 4.14 Mô tả định dạng của tiêu đề gói tin TCP

Độ dài phần tiêu đề gói tin TCP xác định bằng cách kiểm tra giá trị trường offset dữ liệu TCP tại nibble cao của byte thứ 0x12. Giá trị trường này là 5, nhân với 4 được độ dài là 20 byte. Nếu đếm quá 20 byte từ chỗ bắt đầu TCP header sẽ thấy vẫn còn dữ liệu sau đó. Đây chính là dữ liệu tầng ứng dụng. Tuy nhiên, không có trường nào trong TCP header mô tả giao thức sử dụng tại tầng ứng dụng. Một cách khác có thể sử dụng để xác định là kiểm tra trường cổng đích (giả sử rằng đây là lưu lượng từ client tới server) tại byte 0x2:2 trong TCP header. Giá trị trường này là 00 50, tức là 80 trong hệ thập phân. Do cổng 80 thường được dùng bởi giao thức HTTP nên có thể dữ liệu này là dữ liệu HTTP. Có thể kiểm tra lại bằng cách so sánh dữ liệu hệ cơ số 16 với định dạng giao thức HTTP, hoặc tách phần dữ liệu từ cuối TCP header đến hết gói tin và chuyển sang dạng ký tự ASCII (Hình 4.15).

Hình 4.15 Phần tiêu đề TCP

Hình 4.16 Các mức giao thức đã phân tích của một gói tin HTTP

Một phần của tài liệu Bài giảng Kỹ thuật theo dõi, giám sát an toàn mạng: Phần 2 (Trang 59 - 63)

Tải bản đầy đủ (PDF)

(103 trang)