Mục lục bài viết
Bạn đã biết về NetHogs, một công cụ mạnh mẽ giúp giám sát lưu lượng mạng trên từng tiến trình theo thời gian thực chưa?
Trên hệ điều hành Linux, có rất nhiều công cụ mã nguồn mở hỗ trợ giám sát băng thông mạng, ví dụ như:
- iftop: Giám sát băng thông qua các interface.
- netstat hoặc ss: Phân tích và báo cáo chi tiết về kết nối mạng.
- top: Theo dõi các tiến trình đang hoạt động.
Tuy nhiên, NetHogs nổi bật nhờ khả năng giám sát băng thông mạng cụ thể theo từng tiến trình. Hãy cùng tìm hiểu chi tiết về công cụ này!
NetHogs là gì?
NetHogs là một công cụ dòng lệnh mã nguồn mở, tương tự như lệnh top, cho phép bạn giám sát lưu lượng băng thông mạng theo thời gian thực trên từng tiến trình trong Linux.
Điểm đặc biệt của NetHogs:
- Không phụ thuộc vào bất kỳ mô-đun hạt nhân đặc biệt nào.
- Giúp bạn xác định nhanh PID (Process ID) nào đang chiếm dụng băng thông khi lưu lượng mạng đột nhiên tăng cao.
Điều này rất hữu ích cho quản trị viên trong việc xác định các tiến trình hoặc chương trình sử dụng quá nhiều tài nguyên mạng.
Hướng dẫn cài đặt NetHogs trên Linux
Cách cài đặt NetHogs tùy thuộc vào hệ điều hành Linux bạn đang sử dụng:
1. RHEL, CentOS, Rocky Linux và AlmaLinux
$ sudo yum install nethogs
2. Fedora
$ sudo dnf install nethogs
3. Ubuntu, Linux Mint và Debian
$ sudo apt install nethogs
Cách sử dụng NetHogs
#1 Hiển thị danh sách các tiến trình đang sử dụng băng thông mạng theo thời gian thực
$ sudo nethogs
- Giải thích:
Đây là lệnh cơ bản nhất để chạyNethogs. Vì cần truy cập thông tin mạng của các tiến trình, lệnh phải được chạy với quyềnroothoặc sử dụngsudo. Khi chạy, giao diện Nethogs hiển thị danh sách các tiến trình đang sử dụng băng thông mạng theo thời gian thực.
NetHogs sẽ hiển thị:
- Lưu lượng send và received trên từng tiến trình.
- Tổng lưu lượng mạng được sử dụng, giúp bạn dễ dàng theo dõi.
#2 Thiết lập độ trễ để cập nhật nhanh hơn
$ sudo nethogs -d 1
- Giải thích:
Tham số-d
(delay) đặt khoảng thời gian cập nhật (tính bằng giây). Ở đây, lệnh đặt thời gian cập nhật là 1 giây. Mặc định, Nethogs cập nhật mỗi 2 giây. Sử dụng-d
giúp hiển thị thông tin băng thông theo thời gian thực nhanh hơn.
#3 Giám sát trên một hoặc nhiều giao diện mạng cụ thể (interface)
$ sudo nethogs eth0
- Giải thích:
Lệnh này chỉ giám sát băng thông mạng trên giao diệneth0(Ethernet). Bạn có thể thay thếeth0
bằng tên giao diện khác, ví dụwlan0
(Wi-Fi) hoặcenp0s3
tùy thuộc vào hệ thống. Điều này hữu ích khi bạn muốn giới hạn việc theo dõi vào một giao diện mạng cụ thể.
#4 Lọc theo IPv4 hoặc IPv6
$ sudo nethogs -4
$ sudo nethogs -6
- Giải thích:
-4
: Chỉ giám sát lưu lượngIPv4.-6
: Chỉ giám sát lưu lượngIPv6.
Lệnh này hữu ích khi bạn muốn tập trung vào một loại địa chỉ IP cụ thể (ví dụ, trong môi trường hỗn hợp IPv4 và IPv6).
#5 Lưu nhật ký băng thông vào file
$ sudo nethogs -t > nethogs_log.txt
- Giải thích:
Tham số-t
chuyểnNethogssang chế độ đầu ra dạng văn bản (text mode), thay vì hiển thị giao diện trực quan. Kết hợp với>
để lưu kết quả vào filenethogs_log.txt
. Lệnh này hữu ích khi bạn muốn phân tích hoặc lưu trữ dữ liệu mạng để sử dụng sau.
Kết luận
NetHogs là một công cụ nhỏ gọn nhưng cực kỳ hiệu quả, đặc biệt hữu ích cho việc giám sát network traffic theo tiến trình. Đây chắc chắn là công cụ không thể thiếu đối với các quản trị viên hệ thống.
Chúc bạn thành công trong việc sử dụng NetHogs!