Python Forensics - Giao thức thời gian mạng

Giao thức được sử dụng rộng rãi nhất để đồng bộ hóa thời gian và đã được chấp nhận rộng rãi như một thông lệ được thực hiện thông qua Network Time Protocol (NTP).

NTP sử dụng Giao thức dữ liệu người dùng (UDP) sử dụng thời gian tối thiểu để giao tiếp các gói giữa máy chủ và máy khách muốn đồng bộ hóa với nguồn thời gian nhất định.

Các tính năng của Giao thức thời gian mạng như sau:

  • Cổng máy chủ mặc định là 123.

  • Giao thức này bao gồm nhiều máy chủ thời gian có thể truy cập được đồng bộ với các phòng thí nghiệm quốc gia.

  • Tiêu chuẩn giao thức NTP chịu sự điều chỉnh của IETF và Tiêu chuẩn đề xuất là RFC 5905, có tiêu đề “Giao thức thời gian mạng Phiên bản 4: Đặc điểm kỹ thuật giao thức và thuật toán” [NTP RFC]

  • Hệ điều hành, chương trình và ứng dụng sử dụng NTP để đồng bộ hóa thời gian theo cách thích hợp.

Trong chương này, chúng ta sẽ tập trung vào việc sử dụng NTP với Python, điều này khả thi từ Thư viện Python bên thứ ba ntplib. Thư viện này xử lý hiệu quả công việc nặng nhọc, so sánh kết quả với đồng hồ hệ thống cục bộ của tôi.

Cài đặt Thư viện NTP

Các ntplib có sẵn để tải xuống tại https://pypi.python.org/pypi/ntplib/ như trong hình sau.

Thư viện cung cấp một giao diện đơn giản cho các máy chủ NTP với sự trợ giúp của các phương pháp có thể dịch các trường giao thức NTP. Điều này giúp truy cập các giá trị chính khác như giây nhuận.

Chương trình Python sau giúp hiểu cách sử dụng NTP.

import ntplib
import time

NIST = 'nist1-macon.macon.ga.us'
ntp = ntplib.NTPClient()
ntpResponse = ntp.request(NIST)

if (ntpResponse):
   now = time.time()
   diff = now-ntpResponse.tx_time
   print diff;

Chương trình trên sẽ tạo ra kết quả sau.

Sự khác biệt về thời gian được tính trong chương trình trên. Những tính toán này giúp ích trong điều tra pháp y. Dữ liệu mạng thu được về cơ bản khác với phân tích dữ liệu được tìm thấy trên ổ cứng.

Sự khác biệt về múi giờ hoặc nhận được múi giờ chính xác có thể giúp thu thập bằng chứng để nắm bắt thông điệp thông qua giao thức này.