Đã bao giờ bạn ở trong tình trạng muốn tìm hiểu về ai đã sử dụng băng thông mạng của bạn và họ đang sử dụng nó vào mục đích cụ thể gì. Hôm nay tôi sẽ giới thiệu bạn một công cụ có thể giúp bạn trả lời câu hỏi trên. Trong khi tôi làm quản tị hệ thống, tôi đã thấy một tình trạng là hệ thống của tôi có khả năng chịu đựng tới 10GB, nhưng tôi chỉ thấy 3GB trong đó. Như vậy một câu hỏi đặt ra là ai đang sử dụng băng thông nhiều như vậy hoặc có bất ổn gì trong hệ thống không
Và iftop là một công cụ đắc lực giúp tôi giải quyết vấn đề này
Mục lục
Công cụ này giúp chúng ta làm những việc gì?
Giống như top và htop, công cụ iftop sử dụng để xem các tài nguyên được sử dụng trong hệ thống. Đặc biệt là nó giám sát về băng thông của các ethernet interfaces, đối với trường hợp mà tôi vừa trình bày ở trên, bạn có thể chạy iftop để xem những chương trình nào đang sử dụng băng thông trên các interface của bạn. Công cụ này mang lại một tốc độ và hiệu quả bất ngờ so với việc bạn phải tự mày mò và tìm ra nguyên nhân.
Cài đặt
Trước khi cài đặt iftop, bạn cần cài đặt libpcap (Dùng để capture data theo thời gian thực) và libncurses (Một API dùng để xây dựng giao diện text độc lập với terminal). Tôi sử dụng máy Fedora 32 cho bài viết này, với các hệ điều hành khác nó có thể hơi khác đi một chút
[cloudzone@client ~]$ sudo yum -y install libpcap-devel ncurses ncurses-devel [sudo] password for cloudzone: Fedora 32 openh264 (From Cisco) - x86_64 4.8 kB/s | 989 B 00:00 Fedora 32 openh264 (From Cisco) - x86_64 3.3 kB/s | 2.5 kB 00:00 Fedora Modular 32 - x86_64 28 kB/s | 15 kB 00:00 Fedora Modular 32 - x86_64 - Updates 38 kB/s | 7.6 kB 00:00 Fedora Modular 32 - x86_64 - Updates 189 kB/s | 1.0 MB 00:05 Fedora 32 - x86_64 - Updates 46 kB/s | 10 kB 00:00 Fedora 32 - x86_64 - Updates 221 kB/s | 12 MB 00:54 Fedora 32 - x86_64 40 kB/s | 15 kB 00:00 Package ncurses-6.1-15.20191109.fc32.x86_64 is already installed. Dependencies resolved. ============================================================================================== Package Architecture Version Repository Size ============================================================================================== Installing: libpcap-devel x86_64 14:1.9.1-3.fc32 fedora 136 k ncurses-devel x86_64 6.1-15.20191109.fc32 fedora 503 k Installing dependencies: ncurses-c++-libs x86_64 6.1-15.20191109.fc32 fedora 39 k Transaction Summary ============================================================================================== Install 3 Packages Total download size: 678 k Installed size: 1.2 M Downloading Packages: (1/3): ncurses-c++-libs-6.1-15.20191109.fc32.x86_64.rpm 55 kB/s | 39 kB 00:00 (2/3): libpcap-devel-1.9.1-3.fc32.x86_64.rpm 159 kB/s | 136 kB 00:00 (3/3): ncurses-devel-6.1-15.20191109.fc32.x86_64.rpm 174 kB/s | 503 kB 00:02 ---------------------------------------------------------------------------------------------- Total 181 kB/s | 678 kB 00:03 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 1/3 Installing : ncurses-devel-6.1-15.20191109.fc32.x86_64 2/3 Installing : libpcap-devel-14:1.9.1-3.fc32.x86_64 3/3 Running scriptlet: libpcap-devel-14:1.9.1-3.fc32.x86_64 3/3 Verifying : libpcap-devel-14:1.9.1-3.fc32.x86_64 1/3 Verifying : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 2/3 Verifying : ncurses-devel-6.1-15.20191109.fc32.x86_64 3/3 Installed: libpcap-devel-14:1.9.1-3.fc32.x86_64 ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 ncurses-devel-6.1-15.20191109.fc32.x86_64 Complete!
Sau khi các package trên được cài đặt xong, bạn có thể cài iftop
[root@client ~]# dnf install iftop Last metadata expiration check: 0:01:45 ago on Thu 08 Oct 2020 06:22:52 PM EDT. Package iftop-1.0-0.23.pre4.fc32.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete!
Hướng dẫn sử dụng cơ bản
Sau khi chúng ta cài đặt xong, bạn có thể khởi chạy iftop để sử dụng ngay bây giờ, nếu không có tham số gì thì iftop sẽ chạy ở interface mặc định (Thường là eth0)
[root@client ~]# iftop
Từ trái sang phải bạn cần ghi lại các thông tin sau
- Resolved hostnames (Trang nguồn hoặc trang đích, kí hiệu bởi dấu mũi tên)
- Tốc độ truyền dữ liệu trung bình (2,10, 40 giây)
Bạn sẽ thấy TX (Dữ liệu truyền đi), RX (Dữ liệu nhận) cũng như dữ liệu tổng cộng ở phía dưới cùng của kết quả. Cũng như các số liệu tổng cộng và trung bình, đi kèm số liệu lớn nhất
Đi vào chi tiết hơn
Để chỉ định chương trình chạy trên một interface cụ thể nào đó, bạn sử dụng tham số -i
[cloudzone@client ~] $ sudo iftop -i enp0s3
Bạn có thể thấy thông tin được xuất ra khá giống ở trên. Nhưng nó chỉ thu thập dữ liệu của interface enp0s3.
Nếu bạn muốn xem thông tin về IP, sử dụng tham số -n để tắt quá trình phân giải thành hostname
[cloudzone@client ~] $ sudo iftop -n
Bạn có thể thấy trong hình trên các địa chỉ IP giờ đã xuất hiện, điều này giúp việc gỡ rối trở nên dễ dàng hơn trong môi trường lớn hostnames có thể trở nên rối
Nếu bạn cần tìm hiểu thêm về iftop, bạn gõ lệnh sau để xem toàn bộ hướng dẫn cũng như tham số của câu lệnh iftop
man iftop
Blog VPS GPU
Giá thuê VPS GPU treo game 2023: Hướng dẫn thuê và cài đặt chi tiết
Bạn là một game thủ đam mê, luôn tìm kiếm trải nghiệm chơi game tối [...]
Blog Cloud VPS VPS GPU
Vì sao nên thuê VPS GPU tại Cloudzone
Trong vô số những nhà cung cấp dịch vụ thuê VPS GPU trên thị trường, [...]
Blog Cloud VPS VPS GPU
Giải đáp những thắc mắc về dịch vụ thuê VPS có GPU
Bạn đang tìm kiếm một giải pháp VPS mạnh mẽ và hiệu suất cao để [...]
Blog Cloud VPS
Bảng giá thuê VPS GPU mới nhất năm 2023
Trong thế giới công nghệ ngày nay, VPS (Virtual Private Server) có GPU đóng vai [...]
Cloud VPS Blog
VPS GPU: Đỉnh cao hiệu suất với lợi ích & ứng dụng vượt trội
Trong thế giới công nghệ đầy cạnh tranh hiện nay, việc nâng cao hiệu suất [...]
Cloud VPS
VPS có GPU và sức mạnh xử lý đồ họa, phân tích dữ liệu của nó
VPS có GPU là lựa chọn tuyệt vời cho việc xử lý đồ họa cao [...]