Linux iftop command

Iftop Command trong Linux: Giám Sát Mạng Hiệu Quả và Dễ Dàng

Trong thế giới quản trị hệ thống Linux, việc theo dõi và phân tích lưu lượng mạng là một nhiệm vụ quan trọng. Iftop, một công cụ dòng lệnh mạnh mẽ, cho phép bạn giám sát lưu lượng mạng thời gian thực một cách trực quan và hiệu quả. Bài viết này sẽ cung cấp cho bạn một cái nhìn toàn diện về Iftop, từ cách cài đặt, sử dụng cơ bản đến các tùy chọn nâng cao và các tình huống thực tế.

Iftop không chỉ hiển thị lưu lượng mạng tổng thể mà còn cho phép bạn xem băng thông sử dụng bởi từng kết nối riêng lẻ. Điều này giúp bạn nhanh chóng xác định các ứng dụng hoặc máy chủ đang tiêu thụ nhiều băng thông nhất, từ đó đưa ra các biện pháp tối ưu hóa phù hợp.

Iftop là gì?

Iftop (Interface TOP) là một công cụ dòng lệnh dựa trên ncurses, hiển thị bảng thống kê sử dụng băng thông mạng theo thời gian thực trên một giao diện mạng cụ thể. Nó hiển thị một danh sách cập nhật liên tục về các kết nối mạng, cùng với thông tin về tốc độ truyền và nhận dữ liệu của từng kết nối.

Không giống như các công cụ giám sát mạng khác chỉ hiển thị lưu lượng tổng thể, Iftop đi sâu vào chi tiết từng kết nối, giúp bạn dễ dàng xác định nguồn gốc của lưu lượng mạng. Điều này đặc biệt hữu ích trong việc chẩn đoán các vấn đề về hiệu suất mạng, phát hiện các ứng dụng "ngốn" băng thông hoặc xác định các hoạt động bất thường.

Cài đặt Iftop trên Linux

Việc cài đặt Iftop rất đơn giản và nhanh chóng, tùy thuộc vào bản phân phối Linux bạn đang sử dụng. Dưới đây là hướng dẫn cài đặt cho một số bản phân phối phổ biến:

  • Ubuntu/Debian: Sử dụng lệnh sudo apt update && sudo apt install iftop
  • CentOS/RHEL: Sử dụng lệnh sudo yum install iftop hoặc sudo dnf install iftop (trên các phiên bản mới hơn)
  • Fedora: Sử dụng lệnh sudo dnf install iftop
  • Arch Linux: Sử dụng lệnh sudo pacman -S iftop

Sau khi cài đặt xong, bạn có thể chạy Iftop bằng cách nhập lệnh sudo iftop vào terminal. Lưu ý rằng bạn cần quyền root (hoặc sử dụng sudo) để chạy Iftop vì nó cần truy cập vào các giao diện mạng.

Sử dụng Iftop Cơ Bản

Khi chạy Iftop, bạn sẽ thấy một giao diện hiển thị danh sách các kết nối mạng, cùng với thông tin về lưu lượng gửi và nhận dữ liệu. Giao diện này được chia thành các cột chính sau:

  • <=: Tốc độ gửi dữ liệu từ máy của bạn đến máy khác.
  • =>: Tốc độ nhận dữ liệu từ máy khác về máy của bạn.
  • tx: Tổng lượng dữ liệu đã gửi trong phiên hiện tại.
  • rx: Tổng lượng dữ liệu đã nhận trong phiên hiện tại.
  • TOTAL: Tổng lưu lượng dữ liệu (gửi và nhận) cho mỗi kết nối.

Các giá trị tốc độ được hiển thị theo thời gian thực, cho phép bạn theo dõi biến động lưu lượng mạng một cách trực quan. Iftop cũng hiển thị tổng lưu lượng (TOTAL) cho mỗi kết nối, giúp bạn xác định các kết nối tiêu thụ nhiều băng thông nhất.

Các Tùy Chọn Iftop Thường Dùng

Iftop cung cấp nhiều tùy chọn dòng lệnh để tùy chỉnh cách hiển thị và lọc dữ liệu. Dưới đây là một số tùy chọn thường dùng:

  • -i : Chọn giao diện mạng để giám sát (ví dụ: -i eth0 hoặc -i wlan0). Nếu không chỉ định, Iftop sẽ chọn giao diện mặc định.
  • -p: Bật chế độ promiscuous mode, cho phép Iftop "nghe lén" tất cả lưu lượng trên mạng, không chỉ lưu lượng gửi đến hoặc đi từ máy của bạn.
  • -b: Hiển thị băng thông theo đơn vị bytes (mặc định là bits).
  • -N: Không phân giải tên host, hiển thị địa chỉ IP thay vì tên miền.
  • -F : Lọc lưu lượng mạng chỉ hiển thị lưu lượng thuộc mạng con được chỉ định (ví dụ: -F 192.168.1.0/24).
  • -f : Sử dụng biểu thức lọc pcap để lọc lưu lượng mạng (ví dụ: -f "port 80" để chỉ hiển thị lưu lượng HTTP).
  • -h: Hiển thị trợ giúp.

Ví dụ, để giám sát lưu lượng trên giao diện eth0 và hiển thị băng thông theo đơn vị bytes, bạn có thể sử dụng lệnh sau: sudo iftop -i eth0 -b

Các Tình Huống Sử Dụng Iftop Thực Tế

Iftop có thể được sử dụng trong nhiều tình huống khác nhau để giám sát và khắc phục sự cố mạng:

  • Xác định ứng dụng "ngốn" băng thông: Khi mạng chậm, Iftop có thể giúp bạn nhanh chóng xác định ứng dụng nào đang tiêu thụ nhiều băng thông nhất. Ví dụ, nếu bạn thấy một kết nối đến một dịch vụ stream video đang chiếm phần lớn băng thông, bạn có thể điều chỉnh chất lượng video hoặc giới hạn băng thông cho ứng dụng đó.
  • Phát hiện hoạt động bất thường: Iftop có thể giúp bạn phát hiện các hoạt động bất thường trên mạng, chẳng hạn như các kết nối đến các địa chỉ IP lạ hoặc lưu lượng mạng đột ngột tăng cao. Điều này có thể chỉ ra một cuộc tấn công mạng hoặc một máy tính bị nhiễm malware.
  • Giám sát lưu lượng mạng trên máy chủ: Iftop có thể được sử dụng để giám sát lưu lượng mạng trên các máy chủ, giúp bạn theo dõi hiệu suất của các ứng dụng và dịch vụ đang chạy trên máy chủ đó. Ví dụ, bạn có thể sử dụng Iftop để theo dõi lưu lượng HTTP trên một máy chủ web để đảm bảo rằng nó đang hoạt động bình thường.
  • Chẩn đoán sự cố mạng: Khi gặp sự cố mạng, Iftop có thể giúp bạn xác định nguyên nhân gốc rễ của vấn đề. Ví dụ, nếu bạn không thể truy cập một trang web, bạn có thể sử dụng Iftop để xem liệu có lưu lượng mạng nào được gửi đến trang web đó hay không. Nếu không có lưu lượng mạng nào, có thể có vấn đề với kết nối mạng của bạn hoặc với máy chủ web.

Ví dụ về các lệnh Iftop hữu ích

Dưới đây là một số ví dụ về các lệnh Iftop hữu ích mà bạn có thể sử dụng trong thực tế:

  • Giám sát lưu lượng mạng trên giao diện eth0: sudo iftop -i eth0
  • Hiển thị băng thông theo đơn vị bytes: sudo iftop -b
  • Không phân giải tên host, hiển thị địa chỉ IP: sudo iftop -N
  • Lọc lưu lượng chỉ hiển thị lưu lượng HTTP (port 80): sudo iftop -f "port 80"
  • Lọc lưu lượng chỉ hiển thị lưu lượng đến hoặc đi từ địa chỉ IP 192.168.1.100: sudo iftop -f "host 192.168.1.100"

So sánh Iftop với các công cụ giám sát mạng khác

Có nhiều công cụ giám sát mạng khác nhau, mỗi công cụ có những ưu và nhược điểm riêng. Dưới đây là so sánh giữa Iftop và một số công cụ phổ biến khác:

Công cụ Ưu điểm Nhược điểm Thích hợp cho
Iftop Dễ sử dụng, hiển thị thông tin chi tiết về từng kết nối, giám sát thời gian thực. Giao diện dòng lệnh, không có tính năng lưu trữ và phân tích dữ liệu lịch sử. Giám sát mạng nhanh chóng và trực quan, chẩn đoán sự cố mạng.
Tcpdump Mạnh mẽ, linh hoạt, có thể chụp và phân tích gói tin mạng. Khó sử dụng, cần kiến thức chuyên sâu về mạng. Phân tích lưu lượng mạng chi tiết, gỡ lỗi các giao thức mạng.
Wireshark Giao diện đồ họa, phân tích gói tin mạng chi tiết, nhiều tính năng nâng cao. Tiêu tốn nhiều tài nguyên hệ thống. Phân tích lưu lượng mạng phức tạp, gỡ lỗi các giao thức mạng, phân tích bảo mật mạng.
Ntopng Giao diện web, hiển thị thông tin chi tiết về lưu lượng mạng, lưu trữ và phân tích dữ liệu lịch sử. Cần cấu hình phức tạp, tiêu tốn nhiều tài nguyên hệ thống. Giám sát mạng toàn diện, phân tích lưu lượng mạng lịch sử, quản lý hiệu suất mạng.

FAQ về Iftop

Làm thế nào để chạy Iftop mà không cần quyền root?
Bạn có thể cấp quyền CAP_NET_RAW cho người dùng để cho phép họ chạy Iftop mà không cần quyền root. Sử dụng lệnh: sudo setcap cap_net_raw+ep /usr/sbin/iftop
Làm thế nào để lưu kết quả của Iftop vào một file?
Iftop không có tính năng lưu kết quả trực tiếp vào file. Bạn có thể sử dụng lệnh tcpdump để chụp lưu lượng mạng và sau đó phân tích bằng Wireshark hoặc các công cụ khác.
Làm thế nào để hiển thị tổng lưu lượng mạng cho tất cả các giao diện?
Bạn có thể sử dụng lệnh iftop -i any để hiển thị tổng lưu lượng mạng cho tất cả các giao diện.

Kết luận

Iftop là một công cụ giám sát mạng mạnh mẽ và dễ sử dụng, cho phép bạn theo dõi lưu lượng mạng thời gian thực một cách trực quan. Với các tùy chọn linh hoạt và khả năng hiển thị thông tin chi tiết về từng kết nối, Iftop là một công cụ không thể thiếu đối với bất kỳ quản trị viên hệ thống Linux nào. Hy vọng bài viết này đã cung cấp cho bạn đầy đủ thông tin để bắt đầu sử dụng Iftop và tận dụng tối đa sức mạnh của nó trong việc giám sát và khắc phục sự cố mạng.

Last Updated : 22/08/2025