Môn học: Nhập môn Mạng máy tính - IT005

Lab 3 - Phân tích giao thức UDP và TCP

(UDP & TCP Protocol)

GVHD: ThS. Đỗ Thị Hương Lan

A. Tổng quan

1. Mục tiêu

2. Kiến thức nền tảng

3. Môi trường & công cụ

B. Thực hành

1. Bắt các gói tin truy vấn và phản hồi của DNS

Sinh viên thực hiện truy vấn DNS và dùng Wireshark để bắt các gói tin

UDP (User Datagram Protocol) là loại giao thức phi kết nối, không đảm bảo tính tin cậy khi truyền dữ liệu và không có cơ chế phục hồi dữ liệu

DNS là một trong những giao thức tầng ứng dụng sử dụng UDP làm dịch vụ ở Tầng Vận chuyển (Transport)

Sinh viên hãy thực hiện các nhiệm vụ sau đây để bắt và phân tích đặc trưng của các gói tin UDP

1.1 Ghi lại thông tin cấu hình IP của PC

Sử dụng lệnh ipconfig /all trong giao diện Command Prompt để tìm và ghi lại các thông tin sau vào bảng bên dưới:

  • Địa chỉ MAC (Physical Address) và IP (IPv4 và Link-local IPv6 Address) của card mạng mà sinh viên sử dụng để giao tiếp qua mạng (NIC)

  • Địa chỉ IP của các cổng mặc định được chỉ định (Default gateway)

  • Địa chỉ IP của các máy chủ DNS được chỉ định cho PC

IPv4, Link-local IPv6 address 192.168.1.8
fe80::4923:18cd:8c3f:afbe
MAC address 14-DD-A9-BF-48-AB
Default gateway fe80::1
192.168.1.1
DNS Servers fe80::1
8.8.8.8

Ví dụ về Bảng thông tin các Địa chỉ

Lưu ý: SV tự tìm và điền vào bảng như bảng mẫu

1.2 Sử dụng Wireshark, bắt các gói tin truy vấn và phản hồi của DNS

Thực hiện các bước sau:
 • Bước 1: Đảm bảo xóa DNS Cache bằng cách gõ lệnh ipconfig /flushdns
 • Bước 2: Khởi động phần mềm Wireshark
 • Bước 3: Chọn capture từ Interface đã ghi lại trong phần 1
 • Bước 4: Từ Command Line, gõ nslookup type=A uit.edu.vn (hoặc 1 domain nào khác).
 • Bước 5: Dừng bắt gói tin và lưu lại dưới định dạng MSSV-UDP.pcapng

2. Phân tích các gói tin UDP

Sinh viên sẽ quan sát các gói tin UDP được tạo ra khi giao tiếp với 1 DNS Server để truy vấn địa chỉ IP cho 1 domain

Mở file MSSV-UDP.pcapng và nhập "dns" vào cửa sổ display-filter để hiển thị các thông điệp cần theo dõi

Trả lời các câu hỏi sau kèm theo hình ảnh minh chứng kết quả từ Wireshark:

  1. Tại danh sách các gói tin bắt được, định vị gói tin truy vấn domain uit.edu.vn (hoặc domain tự chọn).
    Gợi ý: chứa “standard query” và “A uit.edu.vn”
  2. Xác định gói tin phản hồi của truy vấn trên? Từ thông điệp phản hồi, ghi lại địa chỉ IP của domain uit.edu.vn
  3. Chọn một gói tin DNS, xác định các trường (field) có trong UDP header và giải thích ý nghĩa của mỗi trường đó?
    Gợi ý: Xem tại phần User Datagram Protocol
  4. Qua thông tin hiển thị của Wireshark, xác định độ dài (tính theo byte) của mỗi trường trong UDP header?
  5. Giá trị của trường Length trong UDP header là độ dài của gì? Chứng minh nhận định này bằng thông tin hiển thị của Wireshark?
    Gợi ý: Quan sát kích thước payload (DNS Data) và kích thước UDP Header
  6. Giá trị lớn nhất có thể có của port nguồn (Source port)?
    Gợi ý: Dựa vào kích thước (bytes) của trường Source port
  7. Số bytes lớn nhất mà payload (phần chứa dữ liệu gốc, không tính UDP header và IP header) của UDP có thể chứa?
    Gợi ý: Dựa vào kích thước của trường Length trong UDP header và giá trị lớn nhất có thể thể hiện?
  8. Quan sát 2 gói tin tìm được ở Câu 1 và 2, mô tả mối quan hệ giữa các địa chỉ IP và các port của 2 gói tin này.
    Gợi ý: Quan sát Source (IP, Port)Destination (IP, Port) của 2 gói tin trên

Ví dụ về phân tích gói tin truy vấn DNS


3. Upload file thông qua Web Browser (HTTP) và bắt các gói tin TCP

Sinh viên thử nghiệm upload file thông qua Trình duyệt để bắt các gói tin HTTP (TCP)

Website với địa chỉ sau: http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html cho phép người dùng tải lên (upload) nội dung. Chúng ta sẽ xem xét điều gì xảy ra khi upload một file dữ liệu.

Thực hiện các bước sau:
 • Bước 1: Truy cập http://gaia.cs.umass.edu/wireshark-labs/alice.txt và lấy bản sao ASCII của Alice in Wonderland. Lưu trữ tệp này trên máy tính của bạn
 • Bước 2: Khởi động Wireshark và bắt đầu bắt gói tin
 • Bước 3: Từ trình duyệt, truy cập đến địa chỉ sau: http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html
 • Bước 4: Sử dụng nút Browse/Choose File trong trang web để chọn file alice.txt vừa download
 • Bước 5: Nhấn nút Upload alice.txt file để upload file lên server. Khi file đã được upload, một tin nhắn chúc mừng sẽ xuất hiện trên trình duyệt
 • Bước 6: Dừng bắt gói tin và lưu lại dưới định dạng MSSV-TCP.pcapng

Giao diện Upload file (sử dụng TCP)


4. Phân tích các gói tin TCP

Sinh viên sẽ quan sát các gói tin TCP được tạo ra khi giao tiếp với HTTP Server để upload một nội dung

Mở file và nhập “http” vào cửa sổ display-filter để hiển thị các thông điệp HTTP.
Chọn 1 gói tin, chọn chuột phải, chọn Follow > TCP Stream

  1. Xác định Địa chỉ và cổng nguồn (Source Port) mà client sử dụng để chuyển tệp sang gaia.cs.umass.edu là gì?
    Gợi ý: Chọn một thông điệp HTTP từ Client gửi lên Server và khám phá các chi tiết của gói tin TCP được sử dụng để mang thông điệp HTTP này
  2. Địa chỉ IP của gaia.cs.umass.edu là gì? Trên số cổng nào nó nhận các dữ liệu của tệp alice.txt
  3. Định vị TCP SYN segment (gói tin TCP có cờ SYN) khởi tạo kết nối TCP giữa client và server? Thành phần nào trong segment cho ta biết segment đó là TCP SYN segment?
    Gợi ý: Quan sát trường Flags
  4. TCP SYN segment ở trên có sequence number là bao nhiêu?
  5. Tìm sequence number của gói tin SYN/ACK segment được gửi bởi server đến client để trả lời cho SYN segment ở trên?
  6. Tìm giá trị của Acknowledgement trong SYN/ACK segment?
    Làm sao server có thể xác định giá trị đó?
    Thành phần nào trong segment cho ta biết segment đó là SYN/ACK segment?
  7. Chỉ ra 6 segment đầu tiên mà server gửi cho Client (dựa vào Số thứ tự gói – No) và liệt kê vào bảng dưới đây
    • Tìm sequence number của 6 segments đầu tiên đó?
    • Xác định thời gian mà mỗi segment được gửi, thời gian ACK cho mỗi segment được nhận?
    • Tính RTT (Round Trip Time) cho 6 segments này.
      Biết RTT là khoảng thời gian tính từ lúc máy tính bắt đầu gửi segment cho đến khi nó nhận được ACK trả về tương ứng
STT Mốc thời gian gửi Mốc thời gian nhận ACK RTT (Round Trip Time)
10.3s0.5s0.2s

C. Yêu cầu và Đánh giá

1. Yêu cầu

Đặt tên file báo cáo/thư mục theo định dạng như mẫu:

MSSV_HoTen_LabX

Ví dụ: 18521007_NguyenVanA_Lab3

2. Đánh giá

Sinh viên tìm hiểu và tự thực hiện được bài thực hành, trả lời đầy đủ các yêu cầu đặt ra, trình bày báo cáo chi tiết, rõ ràng theo mẫu báo cáo đã được cung cấp