fping là phiên bản mở rộng của lệnh ping, được dùng để kiểm tra trạng thái của nhiều địa chỉ IP hoặc domain cùng lúc nhanh chóng. Trong bài viết này, mình sẽ cung cấp một hướng dẫn toàn diện về fping, từ việc định nghĩa, cài đặt, cho đến cách khai thác các tính năng mạnh mẽ của lệnh này trên hệ điều hành Linux.
Những điểm chính
- Định nghĩa lệnh fping Linux: Hiểu rõ khái niệm
fping, điểm khác biệt và ưu thế vượt trội so với lệnhpingtruyền thống, đặc biệt là khả năng kiểm tra nhiều mục tiêu đồng thời. - Tính năng chính: Nắm bắt các ưu điểm về hiệu suất cao, khả năng quét dải mạng linh hoạt và thiết kế tối ưu cho các kịch bản tự động hóa.
- Cú pháp và tùy chọn: Nắm bắt và vận dụng tốt các tham số đa dạng giúp bạn tùy chỉnh thời gian chờ, số lần thử lại và định dạng dữ liệu đầu ra chuyên nghiệp.
- Cách cài đặt fping trên hệ thống: Nắm vững các phương pháp cài đặt
fping, từ cách đơn giản qua trình quản lý gói đến việc biên dịch từ mã nguồn để có phiên bản mới nhất. - Cách sử dụng fping: Thành thạo các cách sử dụng
fpingtrong các tình huống thực tế, từ kiểm tra nhiều địa chỉ IP, một dải IP, đến việc đọc danh sách mục tiêu từ file. - Giải đáp thắc mắc: Có được câu trả lời cho các tình huống thực tế như cách fping xử lý địa chỉ không hợp lệ, giới hạn số lượng mục tiêu và cách quét toàn bộ subnet.
Lệnh fping Linux là gì?
Lệnh fping là một công cụ quản trị mạng trên hệ điều hành Linux/Unix, được sử dụng để gửi các gói tin ICMP Echo Request đến các máy chủ mạng (network hosts). Tương tự như lệnh ping truyền thống, fping giúp người dùng kiểm tra xem một máy chủ có đang hoạt động hay không. Tuy nhiên, điểm khác biệt lớn nhất là fping có khả năng kiểm tra nhiều địa chỉ IP cùng một lúc theo phương thức song song (round-robin), thay vì kiểm tra tuần tự từng địa chỉ như lệnh ping.

Đối với các mạng sử dụng giao thức IPv6, có một công cụ tương ứng là fping6. Công cụ này tương thích ngược với các phiên bản fping cũ (dưới 4.0) và thực hiện chức năng tương tự, gửi các gói tin ICMPv6 ECHO_REQUEST đến các máy chủ mạng.
Các tính năng chính của fping
Công cụ fping được các quản trị viên hệ thống ưa chuộng nhờ những tính năng nổi bật sau:
- Quét nhiều máy đồng thời: Người dùng có thể chỉ định nhiều host, một dải mạng con (subnet, ví dụ: 192.168.1.0/24) hoặc nhập danh sách từ một file văn bản.
- Hiệu suất cao: fping gửi các gói tin ping theo kiểu round-robin (vòng tròn), giúp tốc độ kiểm tra nhanh hơn đáng kể so với việc chờ phản hồi từ từng máy như lệnh ping thường.
- Thiết kế tối ưu cho Script: Đầu ra của fping được định dạng đơn giản, giúp các script dễ dàng phân tích dữ liệu trả về.
- Vòng lặp và kiểm soát linh hoạt: Công cụ hỗ trợ ping liên tục (với tùy chọn
-l), giới hạn số lần thử, thiết lập thời gian chờ và số lần thử lại nếu thất bại. - Hiển thị thống kê trực tiếp: Người dùng có thể xem thống kê ngay khi lệnh đang chạy bằng cách gửi tín hiệu SIGQUIT (nhấn tổ hợp phím Ctrl +).

Cú pháp và tùy chọn phổ biến của lệnh fping
Cú pháp lệnh
Fping cung cấp một loạt các tùy chọn linh hoạt để đáp ứng nhiều nhu cầu giám sát mạng khác nhau. Cú pháp chung của lệnh là:
fping [options] [targets]Trong đó:
- [options]: Các tham số để điều chỉnh hành vi của lệnh (ví dụ: chỉ hiện máy đang hoạt động, giới hạn số lần thử,…).
- [targets]: Địa chỉ IP, tên miền hoặc dải mạng mà bạn muốn kiểm tra.
Các tùy chọn dò tìm
Bảng dưới đây tổng hợp các tùy chọn quan trọng liên quan đến việc tạo mục tiêu, gửi gói tin và kiểm soát thời gian:
| Tùy chọn | Mô tả chức năng |
|---|---|
-g, --generate | Tạo danh sách mục tiêu từ dải IP (start/end) hoặc ký hiệu CIDR (ví dụ: fping -g 192.168.1.0/24). |
-f, --file=FILE | Đọc danh sách mục tiêu từ một file (- có nghĩa là đọc từ stdin). |
-c, --count=N | Gửi N gói ping đến mỗi mục tiêu thay vì chỉ một. |
-l, --loop | Chế độ lặp – Gửi ping liên tục cho đến khi bị ngắt. |
-p, --period=MSEC | Khoảng thời gian (ms) giữa các gói ping liên tiếp gửi đến một mục tiêu (trong chế độ loop hoặc count). |
-i, --interval=MSEC | Khoảng thời gian (ms) giữa việc gửi các gói ping đến các mục tiêu khác nhau (mặc định: 10 ms). |
-r, --retry=N | Số lần thử lại gửi gói tin đến một mục tiêu (mặc định: 3). |
-t, --timeout=MSEC | Thời gian chờ phản hồi ban đầu cho một mục tiêu (mặc định: 500 ms). |
-b, --size=BYTES | Kích thước (byte) của dữ liệu ping gửi đi (mặc định: 56 byte). |
-H, --ttl=N | Đặt giá trị IP TTL (Time To Live – số bước nhảy tối đa). |
-S, --src=IP | Đặt địa chỉ IP nguồn cho các gói tin gửi đi. |
-I, --iface=IFACE | Ràng buộc fping với một giao diện mạng cụ thể. |
-4, --ipv4 | Chỉ thực hiện ping các địa chỉ IPv4. |
-6, --ipv6 | Chỉ thực hiện ping các địa chỉ IPv6. |
Các tùy chọn định dạng và đầu ra
Bảng này liệt kê các tùy chọn giúp bạn kiểm soát và định dạng thông tin hiển thị trên màn hình.
| Tùy chọn | Mô tả chức năng |
|---|---|
-a, --alive | Chỉ hiển thị các mục tiêu đang hoạt động (alive). |
-u, --unreach | Chỉ hiển thị các mục tiêu không thể truy cập (unreachable). |
-s, --stats | In ra một báo cáo thống kê chi tiết ở cuối phiên làm việc. |
-q, --quiet | Chế độ im lặng – Không hiển thị kết quả của từng mục tiêu, thường dùng kết hợp với -s. |
-d, --rdns | Hiển thị mục tiêu theo tên máy chủ (thực hiện tra cứu DNS ngược). |
-n, --name | Tương tự -d, hiển thị mục tiêu theo tên. |
-A, --addr | Hiển thị mục tiêu bằng địa chỉ IP. |
-e, --elapsed | Hiển thị thời gian khứ hồi (round-trip time) trên các gói trả về. |
-D, --timestamp | In dấu thời gian ở đầu mỗi dòng đầu ra. |
-o, --outage | Hiển thị thời gian ngừng hoạt động tích lũy cho một mục tiêu (trong chế độ loop). |
Cách cài đặt fping trên hệ thống
Việc cài đặt fping rất đơn giản và có thể được thực hiện nhanh chóng thông qua các kho phần mềm mặc định hoặc biên dịch trực tiếp từ mã nguồn để có được phiên bản mới nhất:
Cài đặt dễ dàng qua kho gói mặc định
Gói fping đã có sẵn trong các kho phần mềm mặc định của hầu hết các bản phân phối Linux phổ biến. Bạn có thể sử dụng trình quản lý gói của hệ thống để cài đặt một cách thuận tiện:
- Trên Debian/Ubuntu và các bản phân phối dựa trên chúng:
sudo apt install fping- Trên CentOS/RHEL (phiên bản cũ):
sudo yum install epel-release
sudo yum install fping- Trên Fedora 22+ và các bản phân phối dựa trên RHEL mới:
sudo dnf install fping- Trên Arch Linux:
sudo pacman -S fpingQuá trình cài đặt thường rất nhanh chóng do kích thước của công cụ chỉ khoảng 93 KB.
Cài đặt phiên bản mới nhất từ mã nguồn
Nếu bạn muốn sử dụng phiên bản mới nhất của fping với đầy đủ các tính năng và bản vá lỗi, bạn có thể tải về và biên dịch trực tiếp từ mã nguồn.
- Tải gói mã nguồn: Bạn sử dụng lệnh
wgetđể tải về gói nén từ trang chủ củafping.
wget https://fping.org/dist/fping-4.0.tar.gz- Giải nén gói:
tar -xvf fping-4.0.tar.gz- Di chuyển vào thư mục mã nguồn:
cd fping-4.0/- Biên dịch và cài đặt: Bạn chạy các lệnh sau để cấu hình, biên dịch và cài đặt công cụ vào hệ thống.
./configure
make && sudo make installCách sử dụng fping chi tiết, đơn giản
Kiểm tra trạng thái đồng thời nhiều địa chỉ IP
Ping đến nhiều địa chỉ IP là chức năng cơ bản và mạnh mẽ nhất của fping. Bạn có thể cung cấp một danh sách các địa chỉ IP hoặc tên máy chủ trực tiếp trên dòng lệnh. Fping sẽ ping đồng thời tất cả các mục tiêu và trả về trạng thái của chúng là “alive” (đang hoạt động) hoặc “unreachable” (không thể truy cập).
Bạn thực hiện cú pháp sau:
fping 14.225.254.186 14.225.255.126Kết quả trả ra sẽ hiển thị như sau:

Kiểm tra một dải địa chỉ IP
Tùy chọn -g cho phép bạn kiểm tra một dải địa chỉ IP (range IP) liên tục, không cần nhập từng IP riêng lẻ. Bạn chỉ cần cung cấp IP bắt đầu và IP kết thúc của dải cần kiểm tra.
Cú pháp lệnh mẫu:
fping -g 192.168.0.100 192.168.0.122Trong đó, -g chỉ định target là danh sách (range IP). Mỗi dòng của output sẽ là trạng thái của một IP:

Đọc danh sách IP từ file
Bạn dùng lệnh sau để tạo file mới tên ping.txt:
vi ping.txtSau đó, nhập từng địa chỉ IP (mỗi IP 1 dòng) vào file, ví dụ:

Sau đó bạn chạy fping với file IP vừa tạo như sau:
fping < ping.txtKết quả đầu ra sẽ là dạng kết quả sẽ hiển thị từng IP với trạng thái ping tương ứng:

Kiểm tra phiên bản fping
Để kiểm tra phiên bản fping, bạn thực thi lệnh như sau:
fping --versionLệnh này sẽ hiển thị thông tin về phiên bản hiện tại của phần mềm fping đang được cài đặt trên hệ thống của bạn.

Câu hỏi thường gặp
Fping xử lý địa chỉ không hợp lệ sẽ trả về thông báo gì?
Khi gặp địa chỉ IP không hợp lệ (ví dụ như ký tự sai định dạng, IP ngoài phạm vi, hoặc domain không tồn tại), fping sẽ:
– Bỏ qua và in cảnh báo cụ thể lên đầu ra lỗi (stderr), dạng:
hostname_or_ip: Name or service not known
hoặc
hostname_or_ip: Address not found
– Nếu dùng danh sách file mục tiêu, từng dòng sai sẽ được báo lỗi tương tự.
– Các địa chỉ hợp lệ khác vẫn được kiểm tra bình thường mà không bị gián đoạn bởi địa chỉ lỗi.
Giới hạn số lượng mục tiêu fping xử lý đồng thời là bao nhiêu?
Fping không quy định giới hạn cứng số lượng mục tiêu (host/IP) xử lý đồng thời trên lý thuyết. Tuy nhiên, trên thực tế, số lượng tối đa bị ảnh hưởng bởi ba yếu tố chính:
– Tài nguyên phần cứng của hệ thống.
– Giới hạn hệ điều hành.
– Giới hạn kernel/tường lửa mạng.
Có thể dùng fping để kiểm tra trạng thái mạng toàn bộ subnet bằng ký hiệu CIDR không?
Có thể, fping hỗ trợ quét subnet với tuỳ chọn -g.
Ví dụ: fping -g 192.168.1.0/24Công cụ sẽ tự động sinh danh sách IP toàn bộ lớp và kiểm tra từng IP, rất thuận tiện trong giám sát hệ thống mạng nội bộ.
Việc sử dụng công cụ fping giúp bạn kiểm tra trạng thái kết nối của nhiều địa chỉ IP cùng một lúc một cách chính xác và tiết kiệm thời gian. Qua các hướng dẫn trên đây, hy vọng bạn đã có thể tự cấu hình các lệnh kiểm tra hệ thống mạng hiệu quả trên máy chủ của mình. Bạn có thể tham khảo thêm các chủ đề liên quan đến Linux qua các bài viết dưới đây:




