Đã 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
Máy chủ vật lý
4 Lợi Ích Thiết Thực Mà Máy Chủ Vật Lý Mang Lại Cho Doanh Nghiệp
Trong thời đại chuyển đổi số mạnh mẽ như hiện nay, việc đầu tư vào [...]
Giải pháp
Cách Phòng Chống DDoS Cho Website, VPS, và Server Hiệu Quả
Các cuộc tấn công DDoS (Distributed Denial of Service) là một mối đe dọa lớn [...]
Chưa được phân loại portal portal cloudzone Về Portal
Mã đăng nhập Portal Cloudzone là gì? 3 cách lấy mã đăng nhập
Ngày nay, khi công nghệ số phát triển mạnh mẽ, việc bảo mật thông tin [...]
Cloud hosting Blog
So sánh Cloud Hosting cPanel, DirectAdmin và Plesk
Khi lựa chọn dịch vụ Cloud Hosting để lưu trữ website hoặc ứng dụng, một [...]
Cloud VPS
[2024] Kinh Nghiệm Chọn VPS Treo Game Không Lo Gián Đoạn
Với sự phát triển nhanh chóng của các trò chơi trực tuyến, việc duy trì [...]
Blog
Tuyển Đại lý dịch vụ Cloud – Chiết khấu đến 35%
Cloudzone tuyển đại lý dịch vụ Cloud, Data Center với lợi nhuận không giới hạn, [...]