Đã 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
KHUYẾN MÃI Blog Cloud hosting Máy chủ vật lý Tin Tức
Thuê server – Tặng server chip Dual V4 khi thanh toán từ 12 tháng
Bạn muốn có một máy chủ vật lý mạnh mẽ để phục vụ cho doanh [...]
Blog Cloud hosting Tin Tức
So sánh Web Hosting truyền thống và Cloud Web Hosting
Web Hosting là một phần quan trọng trong việc đưa website của bạn lên mạng. [...]
Blog Cloud hosting Tin Tức
HOSTING GIÁ RẺ LIỆU CÓ TỐT KHÔNG?
Hiện nay, chỉ cần với một vài cú click chuột, bạn có thể tìm thấy [...]
Blog Cloud hosting
5 lý do khiến khách hàng lựa chọn Cloud Hosting tại Cloudzone
Trong thời đại công nghệ 4.0 hiện nay, Cloud Hosting đang trở thành xu hướng [...]
Blog Cloud hosting
Cloud web Hosting: Những lợi ích mang lại cho doanh nghiệp
Chúng ta sẽ phân tích rõ hơn về những lợi ích của Cloud Web Hosting: [...]
Blog Cloud hosting
Cloud Hosting là gì? Thông tin cần biết khi mua
Cloud Hosting là một dịch vụ lưu trữ đám mây, cho phép bạn lưu trữ [...]