Liên hệProfile
Danh mục

Mục Lục

    Cách đo độ trễ dịch vụ TCP bằng hping3, netcat, nmap và tcpping

    Nguyễn Hưng

    Ngày đăng:

    30/10/2025

    Cập nhật lần cuối:

    30/10/2025

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    30/10/2025

    Cập nhật lần cuối:

    30/10/2025

    Mục lục

    Hping3 là một công cụ dòng lệnh trên Linux dùng để tạo, gửi và phân tích các gói tin TCP/IP tuỳ chỉnh, rất hữu ích cho kiểm thử an toàn mạng và kiểm tra hiệu năng dịch vụ TCP. Trong bài viết này, mình sẽ cùng bạn tìm hiểu cách đo độ trễ dịch vụ TCP bằng hping3, netcat, nmap và tcpping nhanh chóng, hiệu quả.

    Những điểm chính

    • Quy trình bắt tay ba bước TCP: Nắm được nguyên lý bắt tay ba bước, là cơ sở để hiểu cách đo lường và chẩn đoán độ trễ dịch vụ TCP.
    • Cách kiểm tra độ trễ: Biết cách sử dụng hping3 và các công cụ khác như netcat, nmap để kiểm tra chính xác một cổng TCP có đang hoạt động hay không và tiến hành đo lường độ trễ.
    • Các tình huống thực tế: Hiểu rõ các tình huống cần áp dụng kỹ năng này, từ khắc phục sự cố hiệu năng, kiểm tra firewall đến phân tích tấn công mạng.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời nhanh cho các câu hỏi thực tế về sự khác biệt giữa các công cụ và cách kiểm tra firewall hiệu quả.

    Hping3 là gì?

    hping3 là một công cụ kiểm thử mạng (network testing tool) mạnh mẽ, hoạt động trên giao diện dòng lệnh, được sử dụng để kiểm tra bảo mật tường lửa, phân tích mạng và kiểm tra hiệu suất của các giao thức TCP/IP. HPing3 được coi là phiên bản nâng cao của lệnh ping truyền thống. Trong khi ping chỉ sử dụng các gói tin ICMP Echo Request để kiểm tra kết nối và thời gian phản hồi, HPing3 cho phép người dùng tạo và gửi các gói tin tùy chỉnh sử dụng nhiều giao thức khác nhau. hping3 hiện được cài đặt sẵn trong nhiều bản phân phối Linux tập trung vào bảo mật như Kali Linux.

    Khái niệm Hping3
    Khái niệm Hping3

    Tính năng nổi bật của hping3

    hping3 sở hữu nhiều tính năng vượt trội so với các công cụ mạng cơ bản:

    • Hỗ trợ đa giao thức: Có thể gửi gói tin TCP, UDP, ICMP và cả RAW IP, cho phép giả lập gần như mọi loại lưu lượng mạng.
    • Tùy chỉnh toàn diện gói tin: Người dùng có thể tùy chỉnh mọi thông số của một gói tin TCP/IP, chẳng hạn như: thiết lập các cờ TCP, chỉ định cổng nguồn, cổng đích, thay đổi Time to Live (TTL), kích thước gói tin, và các tham số khác.
    • Quét cổng: Có thể sử dụng hping3 như một công cụ quét cổng để xác định các cổng đang mở, đóng, hay được lọc bởi tường lửa trên một máy chủ.
    • Kiểm tra tường lửa: Bằng cách gửi các gói tin với cờ và giao thức khác nhau, hping3 có thể giúp kiểm tra và xác định các quy tắc của tường lửa đang được áp dụng.
    • Chế độ Traceroute: hping3 có thể theo dõi đường đi của gói tin đến một máy chủ đích, nhưng không giống traceroute truyền thống (dùng ICMP hoặc UDP), hping3 có thể thực hiện traceroute bằng gói tin TCP, giúp vượt qua các tường lửa chặn ICMP.
    • Giả mạo địa chỉ IP: hping3 cho phép người dùng gửi gói tin với một địa chỉ IP nguồn giả mạo, hữu ích trong các kịch bản kiểm thử bảo mật nâng cao.
    • DoS Testing: hping3 có chế độ --flood, gửi gói tin với tốc độ cực nhanh để kiểm tra khả năng chịu tải của một dịch vụ hoặc hệ thống mạng.
    Tính năng nổi bật của hping3
    Tính năng nổi bật của hping3

    Ứng dụng thực tế của hping3

    Nhờ vào các tính năng mạnh mẽ, hping3 được ứng dụng rộng rãi trong thực tế:

    • Kiểm thử và đánh giá tường lửa: Chuyên gia bảo mật dùng hping3 để kiểm tra xem tường lửa của công ty cho phép và chặn những loại lưu lượng nào, từ đó đánh giá độ hiệu quả của các quy tắc đã thiết lập.
    • Phát hiện máy chủ đang hoạt động: Trong một mạng chặn các gói tin ping ICMP, hping3 có thể gửi một gói tin TCP SYN đến cổng 80 (HTTP) hoặc 443 (HTTPS). Nếu nhận được phản hồi (dù là SYN/ACK hay RST), điều đó chứng tỏ máy chủ đang hoạt động.
    • Học tập và nghiên cứu về giao thức TCP/IP: Bằng cách tự tay tạo ra các gói tin và xem phản hồi từ hệ thống, người dùng có thể hiểu sâu sắc cách mà giao thức TCP/IP hoạt động trong thực tế.
    • Gỡ lỗi các vấn đề về mạng: Giúp quản trị viên xác định xem một cổng cụ thể có bị chặn ở đâu đó trên đường truyền hay không.
    • Kiểm thử khả năng chịu tải của ứng dụng: Sử dụng chế độ flood để kiểm tra xem một máy chủ web hoặc một ứng dụng có thể xử lý bao nhiêu yêu cầu mỗi giây trước khi bị quá tải.
    Ứng dụng thực tế của hping3
    Ứng dụng thực tế của hping3

    Quy trình bắt tay ba bước TCP là gì?

    Quy trình bắt tay ba bước TCP (Three-way Handshake) là quy trình then chốt để thiết lập kết nối đáng tin cậy giữa hai thiết bị trong mạng máy tính (client và server) trước khi truyền dữ liệu. Quy trình này là một phần quan trọng của giao thức TCP giúp đảm bảo cả hai phía sẵn sàng giao tiếp và đồng bộ trạng thái.

    Quy trình bắt tay ba bước TCP
    Quy trình bắt tay ba bước TCP (Nguồn: Internet)

    Nguyên lý hoạt động của bắt tay ba bước TCP diễn ra như sau:

    1. Gửi gói tin SYN (Synchronize): Client gửi gói tin SYN (Synchronize) đến máy chủ tại một cổng dịch vụ cụ thể, gói tin này chứa thông tin về số sequence để đồng bộ hóa dữ liệu. Đây là bước đầu tiên, giống như một lời chào: “Bạn có ở đó và sẵn sàng nói chuyện không?”.
    2. Nhận phản hồi SYN-ACK: Nếu dịch vụ đang hoạt động, máy chủ sẽ trả lời bằng một gói tin SYN-ACK, gói tin này xác nhận việc nhận được SYN và đồng thời gửi lại sequence number của máy chủ. Đây là lời hồi đáp: “Tôi đây, tôi đã sẵn sàng!”.
    3. Đo lường độ trễ thực tế: Khoảng thời gian từ lúc client gửi SYN đến khi nhận được SYN-ACK chính là độ trễ thực tế của dịch vụ ở tầng Transport, không chỉ bao gồm độ trễ mạng mà còn phản ánh khả năng của ứng dụng trong việc chấp nhận một kết nối mới.
    Nguyên lý hoạt động của bắt tay ba bước TCP
    Nguyên lý hoạt động của bắt tay ba bước TCP (Nguồn: Internet)

    Hướng dẫn sử dụng hping3 để đo độ trễ dịch vụ TCP

    hping3 là công cụ mạnh mẽ cho phép tạo và phân tích các gói tin TCP/IP tùy chỉnh, giúp bạn thực hiện kiểm tra độ trễ dịch vụ TCP một cách chính xác.

    Ví dụ: Để theo dõi độ trễ kết nối đến cổng 443 của trang blog.vietnix.vn, bạn chạy lệnh sau:

    sudo hping3 -S -p 443 blog.vietnix.vn

    Giải thích lệnh:

    • sudo: hping3 cần quyền root để tạo các gói tin thô (raw sockets).
    • -S: Gửi gói tin TCP với cờ SYN được bật.
    • -p 443: Chỉ định cổng dịch vụ đích là 443 (HTTPS).
    • blog.vietnix.vn: Máy chủ mục tiêu.

    Phân tích kết quả:

    theo dõi độ trễ kết nối đến cổng 443 của trang blog.vietnix.vn
    Theo dõi độ trễ kết nối đến cổng 443 của trang blog.vietnix.vn
    • flags=SA: “SA” là viết tắt của SYN-ACK. nhận được gói tin này có nghĩa là cổng dịch vụ đang mở và đã phản hồi.
    • rtt=15.7 ms: Là giá trị Round-Trip Time, tức là độ trễ từ lúc gửi SYN đến khi nhận SYN-ACK. Đây chính là con số mà bạn cần quan tâm.

    1. Netcat (nc)

    Netcat là công cụ đa năng trong lĩnh vực mạng, bạn có thể tham khảo cách thực thi lệnh dưới đây:

    nc -vz -w 3 vietnix.vn 443
    • -v: Verbose (hiển thị thông tin chi tiết).
    • -z: Zero-I/O mode (chỉ quét cổng mà không gửi dữ liệu).
    • -w 3: Timeout sau 3 giây.
    • vietnix.vn 443: Tên máy chủ và cổng.

    Kết quả thành công sẽ được thể hiện như sau, cho biết kết nối đã được thiết lập: 

    Connection to vietnix.vn 443 port [tcp/https] succeeded!

    2. Nmap (Network Mapper)

    Nmap là công cụ quét mạng và bảo mật cực kỳ mạnh mẽ. Bạn tiến hành chạy lệnh như sau:

    nmap -p 443 -Pn --min-rate=1000 vietnix.vn
    • -p 443: Chỉ quét cổng 443.
    • -Pn: Bỏ qua bước ping ICMP (hữu ích khi máy chủ chặn ICMP).
    • --min-rate=1000: Tăng tốc độ quét để có kết quả nhanh hơn.

    Nmap sẽ báo cáo trạng thái của cổng là open, closed, hay filtered. Trong đó, trạng thái open khẳng định dịch vụ đang hoạt động.

    3. tcpping (hoặc tcping.exe trên Windows)

    tcpping là tiện ích được viết riêng cho mục đích kiểm tra và đo độ trễ dịch vụ TCP, cung cấp ouput quen thuộc như lệnh ping thông thường. Bạn tham khảo cách thực thi lệnh như sau:

    tcpping vietnix.vn 443

    Kết quả sẽ hiển thị thời gian phản hồi từ cổng 443 một cách liên tục, rất dễ theo dõi.

    Câu hỏi thường gặp

    Sự khác biệt giữa đo độ trễ TCP và đo độ trễ mạng bằng ICMP ping là gì?

    Sự khác biệt chính là ở giao thức được sử dụng và mục đích đo lường: Ping dùng ICMP chỉ kiểm tra kết nối tới IP đích ở tầng mạng và không xác định tình trạng dịch vụ. Trong khi đó, đo độ trễ TCP kiểm tra trực tiếp khả năng phản hồi của từng cổng dịch vụ, sát thực tế vận hành ứng dụng hơn.

    Khi nào nên sử dụng hping3 thay vì netcat, nmap hoặc tcpping?

    Bạn nên dùng hping3 khi cần kiểm tra sâu về handshake TCP, phân tích thứ tự sequence, mô phỏng gói tin tùy ý hoặc kiểm thử bảo mật tường lửa. Netcat phù hợp để kiểm tra đơn giản khả năng kết nối cổng TCP. Nmap mạnh về quét port và phát hiện dịch vụ, còn tcpping hỗ trợ đo latency TCP chuyên biệt.

    Làm thế nào để kiểm tra chính xác firewall có lọc hoặc chặn cổng TCP?

    Bạn dùng hping3 hoặc nmap gửi gói tin đến cổng cần kiểm tra, nếu bị mất phản hồi hoặc không nhận SYN-ACK, có thể firewall đang lọc hoặc chặn cổng đó.

    Bài viết đã trình bày chi tiết cách sử dụng hping3 để đo độ trễ dịch vụ TCP, cũng như giới thiệu thêm các công cụ như netcat, nmap và tcpping để thực hiện cùng mục đích. Nắm vững các phương pháp này giúp bạn kiểm tra hiệu suất và tốc độ phản hồi của các dịch vụ TCP trên mạng một cách chính xác. Để tìm hiểu sâu hơn các lệnh và cách quản lý hệ thống Linux hiệu quả, mời bạn tiếp tục đọc thêm các bài viết dưới đây:

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh watch trong Linux để giám sát tiến trình hiệu quả
    Hướng dẫn sử dụng lệnh watch trong Linux để giám sát tiến trình hiệu quả

    Lệnh watch Linux là một công cụ dòng lệnh mạnh mẽ giúp bạn tự động thực thi lặp lại một lệnh bất kỳ theo chu kỳ. Thay vì phải gõ lại lệnh liên tục để xem sự thay đổi, watch sẽ cập nhật kết quả ngay trên màn hình của bạn. Bài viết này sẽ…

    30/10/2025

    Hướng dẫn kỹ thuật backup dữ liệu real-time bằng cách kết hợp tar và netcat
    Hướng dẫn kỹ thuật backup dữ liệu real-time bằng cách kết hợp tar và netcat

    Kỹ thuật nén và chuyển file backup real-time bằng tar nc là phương pháp sử dụng hai công cụ dòng lệnh phổ biến trong hệ điều hành Linux để nén dữ liệu và truyền trực tiếp giữa hai máy chủ mà không cần tạo ra file trung gian trên server nguồn. Trong bài viết này,…

    30/10/2025

    Hướng dẫn sao lưu dữ liệu trực tiếp qua mạng bằng tar qua SSH khi server đầy bộ nhớ
    Hướng dẫn sao lưu dữ liệu trực tiếp qua mạng bằng tar qua SSH khi server đầy bộ nhớ

    Khi ổ cứng đầy, giải pháp tốt nhất là bạn nên kết hợp tar và ssh để tạo một pipepline truyền dữ liệu trực tiếp qua mạng mà không cần lưu trữ trung gian. Bài viết này sẽ hướng dẫn chi tiết từng bước thực hiện backup bằng tar SSH trong điều kiện tài nguyên…

    30/10/2025

    Cách dùng Multitail để phân tích và đọc log chính xác, đơn giản
    Cách dùng Multitail để phân tích và đọc log chính xác, đơn giản

    Multitail là một công cụ dòng lệnh mạnh mẽ trên Linux giúp hiển thị nhiều file log hoặc output của nhiều lệnh khác nhau trên cùng một màn hình terminal, với khả năng chia nhỏ cửa sổ linh hoạt và các tính năng vượt trội so với lệnh tail truyền thống. Trong bài viết này,…

    30/10/2025