Trong hướng dẫn này, chúng tôi sẽ giới thiệu một số công cụ để giám sát băng thông mạng trên Linux.

Băng thông mạng là thước đo cho biết dung lượng dữ liệu được truyền qua mạng trong một khoảng thời gian nhất định. Nó thường được biểu thị bằng số bit, kilobit, megabit hoặc gigabit được truyền trong 1 giây.

Băng thông của mạng càng cao thì lượng dữ liệu có thể truyền qua mạng càng lớn. Giám sát mạng giúp chúng ta theo dõi băng thông mạng và là thông tin hữu ích cho quản trị viên hệ thống.

Trong bài đăng trên blog này, chúng tôi sẽ sử dụng Ubuntu 22.04 làm hệ điều hành trên gói LC-VPS2 của mình. Bạn có thể chọn bất kỳ bản phân phối Linux nào bạn thích. Bắt đầu nào!

Điều kiện tiên quyết

  • Một máy chủ chạy Ubuntu 22.04 (các bản phân phối khác cũng hoạt động tốt)
  • Đặc quyền người dùng: người dùng root hoặc không root có đặc quyền sudo

Cập nhật hệ thống

Trước khi bắt đầu sử dụng bất kỳ công cụ giám sát mạng nào, chúng tôi cần cập nhật các gói hệ thống lên phiên bản mới nhất hiện có.

sudo apt-get update -y && sudo apt-get upgrade -y

1.iftop

Giao diện trên cùng của iftop là công cụ xem băng thông hiện tại trên giao diện mạng. Để cài đặt iftop thực hiện lệnh sau:

apt install iftop -y

Thực hiện lệnh iftop sẽ cho kết quả như thế này:

xxxxxxxx.roseh  => 122.121.68.224.133   5.12Kb  4.05Kb  4.11Kb
                <=                   512b    486b    346b
xxxxxxxx.roseh  => one.one.one.on      0b    114b    100b
                <=                     0b    196b    164b
xxxxxxxx.roseh  => undefined.host      0b     32b      8b


TX:             cum:   11.8rates:ea 4.75Kb6 4.58Kb  3.92Kb
RX:                    2.01KB       1.09Kb5  672b    648b
TOTAL:                 13.8KB       5.84Kb7 5.24Kb  4.55Kb

Với điều này, bạn có thể xem lượng băng thông vào và ra khỏi máy chủ, bao gồm cả từng địa chỉ IP (hoặc thậm chí là bản ghi DNS ngược nếu có). Ở phía dưới, bạn sẽ thấy bản tóm tắt về truyền (TX), nhận (RX) và cả hai kết hợp.

2. Netstat

Netstat là một trong những lệnh giám sát mạng được sử dụng nhiều nhất. Nó được sử dụng để giám sát các kết nối mạng đến và đi, cổng mở (hoặc nghe), chương trình nào đang nghe trên cổng nào, v.v. Để kiểm tra tất cả những điều này trong một lệnh, bạn có thể chạy lệnh netstat -tunlp :

root@host:~# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      3472/mariadbd
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1356/master
tcp        0      0 0.0.0.0:7022            0.0.0.0:*               LISTEN      791/sshd: /usr/sbin
tcp6       0      0 :::25                   :::*                    LISTEN      1356/master
tcp6       0      0 :::7022                 :::*                    LISTEN      791/sshd: /usr/sbin

Bạn sẽ nhận được danh sách tất cả các cổng đang mở, địa chỉ IP mà các cổng đang nghe và quá trình nào đã mở cổng đó. Địa chỉ cục bộ 0.0.0.0 có nghĩa là cổng đang lắng nghe bất kỳ địa chỉ IP nào mà máy chủ có. Điều này có thể gây rủi ro bảo mật nếu bạn có các dịch vụ không thể truy cập công khai. Chúng tôi khuyên bạn nên làm theo hướng dẫn này về cách thiết lập quy tắc tường lửa bằng iptables nếu bạn cần hạn chế quyền truy cập vào một số phần mềm của mình.

Netstat có rất nhiều tùy chọn, vì vậy chúng tôi khuyên bạn nên xem qua trang man (bằng cách chạy lệnh man netstat ) và xem mỗi cờ tùy chọn làm gì. Bạn có thể xem tổng số kết nối TCP, chẩn đoán các sự cố về hiệu suất mạng và hơn thế nữa.

3.Nload

Nload là một công cụ thời gian thực để giám sát lưu lượng mạng và việc sử dụng băng thông. Thực hiện lệnh nload sẽ cho kết quả như thế này:

Device eth0 [162.246.254.3] (1/2):
===================================
Incoming:
Curr: 104.78 kBit/s
Avg: 117.27 kBit/s
Min: 87.00 kBit/s
Max: 150.11 kBit/s
Ttl: 6.10 GByte

Outgoing:
Curr: 19.02 kBit/s
Avg: 15.50 kBit/s
Min: 6.00 kBit/s
Max: 21.86 kBit/s
Ttl: 7.90 MByte

Đây là một chương trình khá đơn giản, hiển thị cho bạn tải tổng thể của mạng (như tên lệnh gợi ý). Điều này rất hữu ích để kiểm tra xem bạn có đang đạt đến giới hạn băng thông đã biết hay không, chẳng hạn như 100Mbit/s hay 1000Mbit/s.

4. Nethogs

Nethogs được sử dụng để tìm PID của ứng dụng đang ngốn phần lớn băng thông của bạn. Việc thực thi nethogs sẽ cho kết quả tương tự như sau:

NetHogs version 0.8.6-3
PID USER     PROGRAM                       DEV         SENT      RECEIVED
27706 root     sshd: root@pts/0            eth0        0.188       0.053 KB/sec
? root     162.246.254.3:45881-35.203.210.237:54563    0.011       0.011 KB/sec
? root     162.246.254.3:25757-35.203.210.169:54911    0.000       0.000 KB/sec

Điều này hữu ích nếu hiệu suất mạng của bạn chậm và bạn không thể tìm ra chương trình hoặc dịch vụ nào gây ra tình trạng đó.

5. Bmon

Bmon là một công cụ dòng lệnh đơn giản để giám sát việc sử dụng băng thông mạng. Thực thi bmon và kiểm tra kết quả:

Interfaces                     x RX bps       pps     %x TX bps       pps     %
 >lo                           x      0         0      x      0         0
    qdisc none (noqueue)       x      0         0      x      0         0
  eth0                         x  13.22KiB      0      x    360B        1
    qdisc none (fq_codel)      x      0         0      x    360B        1
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqq

                              (RX Bytes/second)                                                                   
    0.00 ............................................................                   
    0.00 ............................................................                    
    0.00 ............................................................                   
    0.00 ............................................................                    
    0.00 ............................................................                   
    0.00 ............................................................                   
         1   5   10   15   20   25   30   35   40   45   50   55   60

Đây giống một chương trình TUI hơn hoặc giao diện người dùng thiết bị đầu cuối. Bố cục của nó gợi nhớ đến trình quản lý tác vụ hoặc trình giám sát tài nguyên, cung cấp cho bạn biểu đồ về mức sử dụng mạng của bạn. Bạn có thể sử dụng các phím mũi tên để lên xuống và giám sát từng giao diện của hệ thống.

Các công cụ khác

Có nhiều công cụ giám sát mạng khác về băng thông trên Linux, chẳng hạn như Nagios, IPTraf, Speedometer, Darkstat, SARG, v.v. Tất cả điều này có thể dễ dàng tìm thấy trên Internet. Điều lạ lùng là, với mỗi công cụ này, bạn sẽ có thể chẩn đoán, gỡ lỗi và khắc phục sự cố mạng của mình và làm cho nó chạy chính xác như bạn dự định.

Vậy là xong – bây giờ bạn đã tìm hiểu về một số công cụ được sử dụng nhiều nhất để giám sát băng thông mạng với các ví dụ thực tế và cách sử dụng.

Nếu bạn thích bài đăng này về các công cụ giám sát băng thông mạng trên Linux, vui lòng chia sẻ nó với bạn bè của bạn trên mạng xã hội hoặc chỉ cần để lại câu trả lời bên dưới. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *