Logo
Featured Image
Blog

[Lộ Trình Cybersecurity] Bài 2: Wireshark & Bí Mật Của Những Gói Tin (Soi Kính Hiển Vi Vào Nmap)

Author
Tobi 02/02/2026 0 views

Chào các bạn, ở Bài 1, chúng ta đã dùng Nmap để tìm ra các cổng mở trên server. Nhưng làm thế nào Nmap biết cổng đó mở? Và tại sao lệnh sudo nmap -sS lại được gọi là "quét lén lút"?

Hôm nay, chúng ta sẽ sử dụng Wireshark - chiếc "kính hiển vi" của các kỹ sư mạng - để nhìn thấu từng bit dữ liệu di chuyển trên đường truyền.

1. Chuẩn bị "Phòng Lab"

Để bắt được gói tin, chúng ta cần thiết lập Wireshark lắng nghe đúng chỗ.

  1. Mở Wireshark: Trên Kali Linux, gõ lệnh sudo wireshark (cần quyền root để truy cập card mạng).

  2. Chọn Interface: Chọn card mạng bạn đang dùng (thường là eth0 hoặc wlan0) và bấm vào biểu tượng "Vây cá mập" màu xanh để bắt đầu bắt gói tin (Capture).

  3. Lọc nhiễu (Filter): Trên mạng có hàng nghìn gói tin chạy qua lại. Để chỉ xem dữ liệu trao đổi giữa máy ta và server scanme.nmap.org, hãy nhập vào thanh filter:

    Plaintext
     
    ip.addr == 45.33.32.156
    

    Bấm Enter. Màn hình sẽ trống trơn vì chưa có hành động nào.

2. Thí nghiệm 1: Quét thường (TCP Connect Scan)

Đây là kiểu quét "lịch sự" nhất. Nmap sẽ đóng vai một người dùng bình thường, thực hiện đầy đủ quy trình kết nối chuẩn.

Hành động: Mở Terminal, chạy lệnh quét cổng 80 (Web) không cần quyền sudo:

nmap -sT -p 80 scanme.nmap.org

Phân tích trên Wireshark: Ngay khi lệnh chạy xong, hãy bấm nút Stop (màu đỏ) trên Wireshark.

Bạn sẽ thấy 3 dòng đầu tiên tạo nên quy trình Bắt tay 3 bước (3-Way Handshake) kinh điển:

  1. [SYN]: Máy bạn gửi lời chào. -> "Alo, server có đó không?"

  2. [SYN, ACK]: Server trả lời. -> "Có, tôi đây."

  3. [ACK]: Máy bạn xác nhận. -> "Ok, đã kết nối thành công."

Sau đó, vì Nmap chỉ muốn kiểm tra cổng chứ không định lướt web, nó gửi tiếp gói [RST, ACK] hoặc [FIN] để đóng kết nối ngay lập tức.

3. Thí nghiệm 2: Quét lén (SYN Stealth Scan)

Đây là kiểu quét mặc định của Hacker (dùng -sS). Mục tiêu là biết cổng mở nhưng không để server ghi lại log kết nối thành công.

Hành động: Trên Terminal, chạy lệnh quét với quyền root:

sudo nmap -sS -p 80 scanme.nmap.org

Phân tích trên Wireshark: Hãy quan sát kỹ, sự khác biệt nằm ở bước cuối cùng:

  1. [SYN]: Máy bạn gửi lời chào. -> "Alo, server có đó không?"

  2. [SYN, ACK]: Server trả lời. -> "Có, tôi đây. Mời vào."

  3. [RST] (Reset): Máy bạn lật mặt! Thay vì gửi ACK để vào nhà, máy bạn gửi gói RST. -> "Nhầm số rồi!" và cúp máy cái rụp.

Kết luận: Vì bước 3 (ACK) chưa bao giờ xảy ra, kết nối chưa bao giờ được thiết lập hoàn chỉnh. Các hệ thống log thông thường (như Apache/Nginx access log) sẽ không ghi lại dòng nào về cuộc gọi này. Đó chính là sự "lén lút".

4. Tổng kết

Qua bài thực hành này, bạn đã tận mắt chứng kiến:

  • Cách lọc gói tin cụ thể bằng ip.addr.

  • Sự khác biệt giữa Full Handshake (Quét thường) và Half-open (Quét lén).

Qua bài thực hành với Wireshark hôm nay, hy vọng các bạn đã thấm thía một nguyên tắc cốt lõi trong an ninh mạng: "Trust, but verify" (Tin tưởng, nhưng hãy kiểm chứng).

Nmap hay bất kỳ công cụ hacking nào khác không phải là phép thuật. Chúng chỉ đơn giản là gửi các gói tin theo đúng (hoặc sai) chuẩn giao thức TCP/IP mà thôi. Khi bạn làm chủ được Wireshark, bạn không còn là người "chạy tool" (Script Kiddie) nữa, mà bạn đã bắt đầu tư duy như một kỹ sư thực thụ: hiểu tường tận từng bit dữ liệu đang chảy trong mạch máu của Internet.

Hãy giữ thói quen này: Mỗi khi học một tool mới, hãy bật Wireshark lên để xem nó thực sự làm gì. Đó là cách học nhanh nhất và sâu nhất. 

Bài kế tiếp: Burp Suite & Nghệ Thuật Thao Túng Dữ Liệu Web

Bình luận (0)

+ =
Zalo