Foundation · Chapter 02

Mạng TCP/IP & Mô hình OSI

Networking Fundamentals: TCP/IP & OSI Model

Mạng máy tính là huyết mạch của mọi hệ thống hiện đại — và cũng là bề mặt tấn công lớn nhất. Chương này xây nền tảng vững chắc về mô hình OSI 7 tầng, bộ giao thức TCP/IP, địa chỉ IP và subnet, các giao thức phổ biến (ARP/DNS/DHCP/NAT), cổng dịch vụ quan trọng, và khái niệm phân tích gói tin — tất cả gắn liền với ý nghĩa bảo mật thực tế.

Mục tiêu chương / Learning objectives

1. Lý thuyết cốt lõi / Core theory

1.1. Mô hình OSI 7 tầng / OSI 7-layer model

Mô hình OSI (Open Systems Interconnection) là khung tham chiếu 7 tầng giúp chuẩn hóa giao tiếp mạng. Mỗi tầng có trách nhiệm cụ thể và giao tiếp với tầng liền kề thông qua giao diện (interface) được định nghĩa rõ ràng. Dưới đây là vai trò và ý nghĩa bảo mật của từng tầng:

Tầng Tên Giao thức/Ví dụ Rủi ro bảo mật điển hình
7ApplicationHTTP, HTTPS, DNS, FTPSQL Injection, XSS, phishing
6PresentationSSL/TLS, MIME, JPEGTLS downgrade, cert spoofing
5SessionNetBIOS, RPC, SMBSession hijacking, replay attack
4TransportTCP, UDPSYN flood, port scanning
3NetworkIP, ICMP, OSPFIP spoofing, route hijacking
2Data LinkEthernet, MAC, VLANARP poisoning, VLAN hopping
1PhysicalCáp đồng, cáp quang, Wi-FiNghe lén vật lý, wiretapping

Mẹo ghi nhớ — "Please Do Not Throw Sausage Pizza Away": Physical, Data Link, Network, Transport, Session, Presentation, Application. Trong thực tế phân tích sự cố (incident response), việc xác định cuộc tấn công diễn ra ở tầng nào giúp thu hẹp phạm vi điều tra và chọn đúng công cụ phòng thủ.

1.2. Mô hình TCP/IP 4 tầng / TCP/IP 4-layer model

TCP/IP (Transmission Control Protocol/Internet Protocol) là bộ giao thức thực tế vận hành Internet. Mô hình TCP/IP có 4 tầng, ánh xạ vào OSI như sau: Network Access (OSI 1-2) → Internet (OSI 3, giao thức IP) → Transport (OSI 4, TCP/UDP) → Application (OSI 5-7).

Sự khác biệt quan trọng: TCP là giao thức connection-oriented — thiết lập kết nối qua bắt tay 3 bước (3-way handshake: SYN → SYN-ACK → ACK) trước khi truyền dữ liệu, đảm bảo độ tin cậy. UDPconnectionless — không có bắt tay, độ trễ thấp hơn nhưng không đảm bảo giao tin. Từ góc nhìn bảo mật: TCP SYN flood lợi dụng chính cơ chế bắt tay 3 bước bằng cách gửi hàng nghìn SYN mà không hoàn thành handshake, làm cạn kiệt bảng kết nối của server.

1.3. Địa chỉ IP & Phân chia subnet CIDR / IP addressing & CIDR subnetting

Địa chỉ IPv4 gồm 32 bit, biểu diễn dạng 4 octet (vd: 192.168.10.50). CIDR (Classless Inter-Domain Routing) dùng ký hiệu /prefix để xác định phần network: 192.168.10.0/24 nghĩa là 24 bit đầu là network ID, còn lại 8 bit cho host — tối đa 254 địa chỉ host.

Ý nghĩa bảo mật — Network Segmentation: Phân chia mạng thành các subnet nhỏ (micro-segmentation) và áp dụng firewall/ACL giữa chúng là nguyên tắc Defense in Depth. Kẻ tấn công xâm nhập được một subnet không tự động có quyền truy cập sang subnet khác (vd: VLAN người dùng tách biệt VLAN máy chủ). Đây là nền tảng của kiến trúc Zero Trust Network.

1.4. Các giao thức nền tảng: ARP, DNS, DHCP, NAT / Core protocols

ARP (Address Resolution Protocol) ánh xạ IP sang MAC address trong cùng subnet. Điểm yếu: ARP không có cơ chế xác thực — bất kỳ máy nào cũng có thể gửi ARP Reply giả mạo (ARP Poisoning/Spoofing), cho phép tấn công Man-in-the-Middle (MITM) trong mạng LAN.

DNS (Domain Name System) phân giải tên miền thành địa chỉ IP. Các rủi ro bảo mật: DNS Spoofing (cache poisoning — đầu độc bộ nhớ cache DNS server), DNS Tunneling (dùng DNS query để lọc dữ liệu ra ngoài tường lửa), DNS Amplification DDoS. Biện pháp đối phó: DNSSEC, DNS-over-HTTPS (DoH), giám sát truy vấn DNS bất thường.

DHCP (Dynamic Host Configuration Protocol) tự động cấp IP, subnet mask, default gateway, DNS cho client. Rủi ro: DHCP Starvation (kẻ tấn công xin hết pool IP) và Rogue DHCP Server (cấp IP+gateway giả để chuyển hướng traffic). NAT (Network Address Translation) ẩn IP nội bộ — cung cấp một lớp bảo vệ ẩn danh cơ bản nhưng không phải là biện pháp bảo mật thực sự.

1.5. Cổng dịch vụ phổ biến & Phân tích gói tin / Common ports & packet analysis

Cổng (port) là kênh logic ở tầng Transport, nhận dạng dịch vụ cụ thể trên một host. Các cổng quan trọng cần ghi nhớ:

22/TCP — SSH (quản trị từ xa an toàn)
80/TCP — HTTP (web không mã hóa)
443/TCP — HTTPS (web TLS, ưu tiên dùng)
3389/TCP — RDP (Remote Desktop, nguy hiểm nếu mở internet)
445/TCP — SMB (chia sẻ tập tin Windows, ransomware vector)
53/UDP — DNS (luôn giám sát traffic bất thường)

Phân tích gói tin (packet analysis/capture) là kỹ năng nền tảng của mọi security analyst. Công cụ phổ biến: Wireshark (GUI), tcpdump (CLI Linux), Network Monitor / pktmon (Windows). Mỗi gói tin chứa header (địa chỉ nguồn/đích, cờ TCP, TTL...) và payload — phân tích header giúp phát hiện scan, flood; phân tích payload (nếu không mã hóa) có thể lộ thông tin nhạy cảm.

2. Bài thực hành / Hands-on labs

Lab 1 — OS: Windows 11 · Tool: PowerShell 7
Lab 2 — OS: Ubuntu 22.04 · Tool: Bash + nmap + tcpdump

Lab 1 — Kiểm tra kết nối và cổng mạng trên Windows (PowerShell)

OS: Windows 11  ·  Tool: PowerShell 7 (chạy với quyền Administrator)

  1. Mở PowerShell với quyền Administrator.
  2. Kiểm tra cấu hình IP, subnet, gateway và DNS đang dùng:
# Xem đầy đủ cấu hình mạng (IP, subnet, gateway, DNS)
ipconfig /all

# Xem bảng ARP cache (IP-to-MAC mapping trong mạng LAN)
arp -a

# Kiểm tra kết nối TCP đến cổng cụ thể (test-netconnection)
Test-NetConnection -ComputerName 8.8.8.8 -Port 53
Test-NetConnection -ComputerName google.com -Port 443 -InformationLevel Detailed

# Xem tất cả kết nối và cổng đang lắng nghe (listening ports)
netstat -an | findstr LISTENING

# Truy vết đường đi gói tin đến đích
tracert 8.8.8.8

# Phân giải tên miền qua DNS
nslookup google.com
nslookup google.com 1.1.1.1

Kết quả mong đợi / Expected output: ipconfig /all hiển thị IPv4 Address, Subnet Mask, Default Gateway, DHCP Server, DNS Servers. Test-NetConnection trả về TcpTestSucceeded: True nếu cổng mở. netstat -an liệt kê cổng LISTENING — quan sát cổng nào đang lắng nghe để phát hiện dịch vụ lạ. tracert cho thấy từng hop mạng đến đích — hop bất thường có thể là dấu hiệu route hijacking.

  1. Xác định tiến trình nào đang dùng một cổng cụ thể — kỹ năng quan trọng khi điều tra:
# Liệt kê kết nối TCP với PID (process ID)
netstat -ano | findstr :443

# Tìm tiến trình theo PID
Get-Process -Id <PID_từ_lệnh_trên> | Select-Object Name, Path, StartTime

# Xem tất cả kết nối đang thiết lập (ESTABLISHED)
netstat -an | findstr ESTABLISHED

Kết quả mong đợi: Kết nối đến cổng 443 thường thuộc browser (chrome.exe, msedge.exe). Nếu thấy tiến trình lạ (không phải browser/app quen thuộc) kết nối ra internet — đây là dấu hiệu đáng điều tra thêm.

Lab 2 — Khám phá mạng và bắt gói tin trên Linux

OS: Ubuntu 22.04  ·  Tool: Bash, nmap, tcpdump (cài nếu chưa có: sudo apt install nmap tcpdump -y)

  1. Xem cấu hình IP và các socket đang mở:
# Xem địa chỉ IP của tất cả interface
ip addr show

# Xem bảng routing
ip route show

# Liệt kê TCP/UDP socket đang lắng nghe với tên tiến trình
ss -tulnp

# Kiểm tra DNS phân giải
nslookup google.com
dig google.com +short
  1. Dùng nmap để quét cổng localhost và bắt gói tin:
# Quét các cổng phổ biến trên localhost
sudo nmap localhost -p 22,80,443 --open

# Quét 1000 cổng phổ biến nhất (top 1000)
sudo nmap localhost --top-ports 100 -sV

# Bắt 10 gói tin đầu tiên trên interface eth0
sudo tcpdump -i eth0 -c 10

# Bắt gói tin DNS (UDP port 53) và lưu ra file pcap
sudo tcpdump -i eth0 port 53 -w /tmp/dns-capture.pcap -c 20

# Đọc file pcap vừa bắt (dạng text)
sudo tcpdump -r /tmp/dns-capture.pcap -n

Kết quả mong đợi / Expected output: ss -tulnp hiển thị danh sách dịch vụ đang lắng nghe (vd: sshd trên :22). nmap localhost -p 22,80,443 --open chỉ liệt kê cổng ĐANG MỞ. tcpdump -i eth0 -c 10 hiển thị 10 gói tin với timestamp, IP nguồn/đích, flags TCP. Nếu thấy nhiều packet đến từ một IP lạ với flag SYN liên tục — có thể đang bị port scan.

3. Tình huống doanh nghiệp / Real-world scenario

Bối cảnh:

Vào một buổi chiều thứ Sáu, hệ thống giám sát mạng cảnh báo băng thông nội bộ tăng đột biến từ một máy trạm của nhân viên kế toán. Đội IT nhận nhiệm vụ xác định nguồn gốc và phân loại sự cố trong vòng 30 phút.

Các bước xử lý:

  1. Trên máy trạm nghi ngờ, chạy netstat -ano | findstr ESTABLISHED để liệt kê tất cả kết nối đang hoạt động.
  2. Phát hiện kết nối TCP ESTABLISHED đến IP nước ngoài trên cổng 4444 — không phải cổng dịch vụ chuẩn nào.
  3. Tra PID của kết nối đó bằng Get-Process -Id <PID> — tìm thấy tiến trình svchost.exe chạy từ thư mục C:\Users\Public\ thay vì C:\Windows\System32\.
  4. Xác nhận đây là dấu hiệu của reverse shell (Meterpreter/Cobalt Strike beacon). Cô lập máy ngay lập tức khỏi mạng bằng cách tắt adapter.
  5. Thu thập: hash của file exe lạ, danh sách kết nối, event log, ảnh bộ nhớ (memory dump) để phục vụ điều tra pháp lý kỹ thuật số (digital forensics).

Bài học: cổng không chuẩn kết nối ra internet từ tiến trình ở đường dẫn bất thường là dấu hiệu đỏ (red flag) điển hình. Biết các cổng chuẩn giúp nhanh chóng nhận ra điều bất thường.

4. Tự kiểm tra / Knowledge check

  1. Tấn công ARP Poisoning khai thác điểm yếu nào của giao thức ARP? Biện pháp đối phó là gì?
  2. Vì sao cổng 445/TCP được đặc biệt chú ý trong bảo mật mạng doanh nghiệp?
  3. Giải thích sự khác biệt giữa TCP SYN flood và UDP flood — tầng OSI nào bị tấn công?
  4. DNS Tunneling hoạt động như thế nào? Làm sao phát hiện nó qua giám sát log?
  5. Mạng 10.0.0.0/22 có bao nhiêu địa chỉ host khả dụng? Tính toán.
Chương 1: Máy tính & HĐH Chương 3: Windows Administration
Thực hành trên công cụPowerShell 7 · nmap · tcpdump
Nền tảngWindows 11 · Ubuntu 22.04 LTS
Thời điểm phát hànhQ2/2026
Ngày biên soạn24/05/2026
Người biên soạnTrần Văn Hòa (MCT)
Phiên bảnv1.0
Zalo