Bắt đầu và vận hành

Phân tích các interface trên Linux với iftop

Phân tích các interface trên Linux với iftop
Chia sẻ

Đã 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...

Mục lục

Công cụ này giúp chúng ta làm những việc gì?
Cài đặt
Hướng dẫn sử dụng cơ bản
Đi vào chi tiết hơn

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


Chia sẻ

Bài viết liên quan

Lộ trình tự học quản trị VPS Linux: từ lúc nhận máy chủ đến lúc yên tâm ngủ ngon

Lộ trình tự học quản trị VPS Linux: từ lúc nhận máy chủ đến lúc yên tâm ngủ ngon

Vấn đề của người mới khi sử dụng máy chủ Linux không phải là thiếu hướng dẫn, mà là không biết đọc cái nào trước. Đây là lộ trình sáu bước: mỗi bước giải thích vì sao cần làm, bỏ qua thì gặp phải những rủi ro gì, và những giải thích chi tiết.

Cài đặt và cấu hình Linux server (Ubuntu/AlmaLinux) cơ bản

Cài đặt và cấu hình Linux server (Ubuntu/AlmaLinux) cơ bản

Hướng dẫn cấu hình ban đầu cho Linux server Ubuntu/AlmaLinux: cập nhật, đặt hostname, múi giờ, swap và chuẩn hóa cấu hình cho người mới

Cấu hình tường lửa và mở port an toàn trên Linux (ufw/firewalld)

Cấu hình tường lửa và mở port an toàn trên Linux (ufw/firewalld)

Hướng dẫn cấu hình tường lửa ufw (Ubuntu) và firewalld (AlmaLinux): mở/đóng port an toàn theo nguyên tắc tối thiểu, kèm mẹo rule theo dịch vụ

Quản lý máy chủ vật lý từ xa qua IPMI/iDRAC/iLO

Quản lý máy chủ vật lý từ xa qua IPMI/iDRAC/iLO

Hướng dẫn dùng IPMI, iDRAC, iLO để quản lý máy chủ vật lý từ xa: bật/tắt nguồn, KVM-over-IP, cài lại OS và bảo mật cổng quản trị out-of-band

Ảo hóa là gì? Các nền tảng ảo hóa phổ biến

Ảo hóa là gì? Các nền tảng ảo hóa phổ biến

Giải thích ảo hóa là gì, phân biệt hypervisor loại 1 và loại 2, giới thiệu VMware, Proxmox, Hyper-V, KVM và cách chọn nền tảng theo nhu cầu

Hướng dẫn tạo và quản lý máy ảo trên Proxmox VE

Hướng dẫn tạo và quản lý máy ảo trên Proxmox VE

Hướng dẫn cài Proxmox VE, tạo máy ảo (VM) và container (LXC), cấu hình mạng, ổ đĩa và các thao tác quản lý cơ bản cho người mới